diff options
723 files changed, 8617 insertions, 4816 deletions
diff --git a/apps/comments/l10n/ja.js b/apps/comments/l10n/ja.js index bd25e5657dd..c3c402f584d 100644 --- a/apps/comments/l10n/ja.js +++ b/apps/comments/l10n/ja.js @@ -23,7 +23,7 @@ OC.L10N.register( "You commented on {file}" : "{file} にコメントしました", "%1$s commented on %2$s" : "%2$s について、%1$s がコメントしました", "{author} commented on {file}" : "{author} が{file} にコメントしました", - "<strong>Comments</strong> for files" : "ファイルへの<strong>コメント</ strong>", + "<strong>Comments</strong> for files" : "ファイルへの<strong>コメント</strong>があったとき", "%1$s mentioned you in a comment on “%2$s”" : "%1$s さんが “%2$s” のコメントであなたについて言及しました。", "{user} mentioned you in a comment on “{file}”" : "{user} さんが ““{file}” のコメントであなたについて言及しました。", "Unknown user" : "不明なユーザー", diff --git a/apps/comments/l10n/ja.json b/apps/comments/l10n/ja.json index d4de7a6f5b1..817d1671b37 100644 --- a/apps/comments/l10n/ja.json +++ b/apps/comments/l10n/ja.json @@ -21,7 +21,7 @@ "You commented on {file}" : "{file} にコメントしました", "%1$s commented on %2$s" : "%2$s について、%1$s がコメントしました", "{author} commented on {file}" : "{author} が{file} にコメントしました", - "<strong>Comments</strong> for files" : "ファイルへの<strong>コメント</ strong>", + "<strong>Comments</strong> for files" : "ファイルへの<strong>コメント</strong>があったとき", "%1$s mentioned you in a comment on “%2$s”" : "%1$s さんが “%2$s” のコメントであなたについて言及しました。", "{user} mentioned you in a comment on “{file}”" : "{user} さんが ““{file}” のコメントであなたについて言及しました。", "Unknown user" : "不明なユーザー", diff --git a/apps/dav/l10n/he.js b/apps/dav/l10n/he.js index 137476ddc05..8cc90dff881 100644 --- a/apps/dav/l10n/he.js +++ b/apps/dav/l10n/he.js @@ -12,9 +12,12 @@ OC.L10N.register( "You updated calendar {calendar}" : "עדכנת את היומן {calendar}", "You shared calendar {calendar} as public link" : "שיתפת את היומן {calendar} כקישור ציבורי", "You removed public link for calendar {calendar}" : "הסרת את הקישור הציבורי ליומן {calendar}", + "{actor} shared calendar {calendar} with you" : "שותף אתך לוח השנה {calendar} על ידי {actor}", + "You shared calendar {calendar} with {user}" : "שיתפת לוח שנה {calendar} עם {user}", "A <strong>calendar</strong> was modified" : " <strong>יומן</strong> נערך", "A calendar <strong>event</strong> was modified" : "<strong>אירוע</strong> ביומן נערך", "Contact birthdays" : "ימי הולדת של אנשי קשר", + "%s via %s" : "%s דרך %s", "Invitation canceled" : "ההזמנה בוטלה", "Hello %s," : "שלום %s,", "The meeting »%s« with %s was canceled." : "הפגישה „%s” עם %s בוטלה.", @@ -26,6 +29,7 @@ OC.L10N.register( "Link:" : "קישור:", "Contacts" : "אנשי קשר", "WebDAV" : "WebDAV", + "WebDAV endpoint" : "נקודת קצה WebDAV", "Technical details" : "פרטים טכניים", "Remote Address: %s" : "כתובת מרוחקת: %s", "Request ID: %s" : "מזהה בקשה: %s", diff --git a/apps/dav/l10n/he.json b/apps/dav/l10n/he.json index b0d2b58a58d..ae3b2101c08 100644 --- a/apps/dav/l10n/he.json +++ b/apps/dav/l10n/he.json @@ -10,9 +10,12 @@ "You updated calendar {calendar}" : "עדכנת את היומן {calendar}", "You shared calendar {calendar} as public link" : "שיתפת את היומן {calendar} כקישור ציבורי", "You removed public link for calendar {calendar}" : "הסרת את הקישור הציבורי ליומן {calendar}", + "{actor} shared calendar {calendar} with you" : "שותף אתך לוח השנה {calendar} על ידי {actor}", + "You shared calendar {calendar} with {user}" : "שיתפת לוח שנה {calendar} עם {user}", "A <strong>calendar</strong> was modified" : " <strong>יומן</strong> נערך", "A calendar <strong>event</strong> was modified" : "<strong>אירוע</strong> ביומן נערך", "Contact birthdays" : "ימי הולדת של אנשי קשר", + "%s via %s" : "%s דרך %s", "Invitation canceled" : "ההזמנה בוטלה", "Hello %s," : "שלום %s,", "The meeting »%s« with %s was canceled." : "הפגישה „%s” עם %s בוטלה.", @@ -24,6 +27,7 @@ "Link:" : "קישור:", "Contacts" : "אנשי קשר", "WebDAV" : "WebDAV", + "WebDAV endpoint" : "נקודת קצה WebDAV", "Technical details" : "פרטים טכניים", "Remote Address: %s" : "כתובת מרוחקת: %s", "Request ID: %s" : "מזהה בקשה: %s", diff --git a/apps/encryption/l10n/ja.js b/apps/encryption/l10n/ja.js index 0725e8b0f0b..16fdf8a68a6 100644 --- a/apps/encryption/l10n/ja.js +++ b/apps/encryption/l10n/ja.js @@ -40,7 +40,7 @@ OC.L10N.register( "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "このオプションを有効にすると、外部ストレージ接続ストレージだけが暗号化されるのではなく、メインストレージのファイル全てが暗号化されます。", "Enable recovery key" : "復旧キーを有効にする", "Disable recovery key" : "復旧キーを無効にする", - "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "復旧キーは、ファイルの暗号化に使う特別な暗号化キーです。ユーザがパスワードを忘れてしまった場合には、リカバリキーを使ってユーザのファイルを復元することができます。", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "復旧キーは、ファイルの暗号化に使う特別な暗号化キーです。ユーザーがパスワードを忘れてしまった場合には、リカバリキーを使ってユーザーのファイルを復元することができます。", "Recovery key password" : "復旧キーのパスワード", "Repeat recovery key password" : "復旧キーのパスワードをもう一度入力", "Change recovery key password:" : "復旧キーのパスワードを変更:", diff --git a/apps/encryption/l10n/ja.json b/apps/encryption/l10n/ja.json index b07d3b5a0ec..0cd59e54863 100644 --- a/apps/encryption/l10n/ja.json +++ b/apps/encryption/l10n/ja.json @@ -38,7 +38,7 @@ "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "このオプションを有効にすると、外部ストレージ接続ストレージだけが暗号化されるのではなく、メインストレージのファイル全てが暗号化されます。", "Enable recovery key" : "復旧キーを有効にする", "Disable recovery key" : "復旧キーを無効にする", - "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "復旧キーは、ファイルの暗号化に使う特別な暗号化キーです。ユーザがパスワードを忘れてしまった場合には、リカバリキーを使ってユーザのファイルを復元することができます。", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "復旧キーは、ファイルの暗号化に使う特別な暗号化キーです。ユーザーがパスワードを忘れてしまった場合には、リカバリキーを使ってユーザーのファイルを復元することができます。", "Recovery key password" : "復旧キーのパスワード", "Repeat recovery key password" : "復旧キーのパスワードをもう一度入力", "Change recovery key password:" : "復旧キーのパスワードを変更:", diff --git a/apps/federatedfilesharing/l10n/ja.js b/apps/federatedfilesharing/l10n/ja.js index 47fa2b8d682..0b00e636dc8 100644 --- a/apps/federatedfilesharing/l10n/ja.js +++ b/apps/federatedfilesharing/l10n/ja.js @@ -18,8 +18,8 @@ OC.L10N.register( "Couldn't establish a federated share, maybe the password was wrong." : "クラウド共有を接続できませんでした。パスワードが間違っていませんか。", "Federated Share request sent, you will receive an invitation. Check your notifications." : "クラウド共有リクエストが送信されました。招待が受信できます。通知を確認してください。", "Sharing %s failed, because this item is already shared with %s" : "%s を共有できませんでした。このアイテムはすでに %s に共有されています。", - "Not allowed to create a federated share with the same user" : "同じユーザーでクラウド共有を作成することは出来ません", - "File is already shared with %s" : "ファイルは既に %s と共有されています。", + "Not allowed to create a federated share with the same user" : "同じユーザーでクラウド共有は作成できません。", + "File is already shared with %s" : "ファイルはすでに %s と共有されています。", "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "%s を共有できませんでした。%s が見つかりませんでした。現在サーバーに接続できないか、自己証明書を使っています。", "Could not find share" : "共有が見つかりませんでした", "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "%1$s からリモート共有として \"%3$s\" を受け取りました。(%2$s の代理として)", @@ -42,12 +42,12 @@ OC.L10N.register( "Federated Cloud" : "クラウド共有", "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Nextcloud 、ownCloud、Pydio を使う人とは誰とでも共有できます。クラウド連携IDを共有ダイアログに入力するだけです。例:person@cloud.example.com", "Your Federated Cloud ID:" : "あなたのクラウド共有ID:", - "Share it so your friends can share files with you:" : "友達がファイルをあなたと共有できるように、これを共有しましょう:", + "Share it so your friends can share files with you:" : "友達があなたとファイルを共有できるよう、シェアしましょう:", "Add to your website" : "ウェブサイトに追加", "Share with me via Nextcloud" : "Nextcloud 経由で共有", "HTML Code:" : "HTMLコード:", "The mountpoint name contains invalid characters." : "マウントポイント名 に不正な文字列が含まれています。", - "Not allowed to create a federated share with the owner." : "その所有者でクラウド共有を作成することは出来ません", + "Not allowed to create a federated share with the owner." : "その所有者でクラウド共有を作成することはできません", "Invalid or untrusted SSL certificate" : "無効または信頼できないSSL証明書", "Could not authenticate to remote share, password might be wrong" : "リモート共有が認証できませんでした,パスワードが間違っているかもしれません", "Storage not valid" : "ストレージが無効です", diff --git a/apps/federatedfilesharing/l10n/ja.json b/apps/federatedfilesharing/l10n/ja.json index 6efe57c5ce2..d6bba4565dc 100644 --- a/apps/federatedfilesharing/l10n/ja.json +++ b/apps/federatedfilesharing/l10n/ja.json @@ -16,8 +16,8 @@ "Couldn't establish a federated share, maybe the password was wrong." : "クラウド共有を接続できませんでした。パスワードが間違っていませんか。", "Federated Share request sent, you will receive an invitation. Check your notifications." : "クラウド共有リクエストが送信されました。招待が受信できます。通知を確認してください。", "Sharing %s failed, because this item is already shared with %s" : "%s を共有できませんでした。このアイテムはすでに %s に共有されています。", - "Not allowed to create a federated share with the same user" : "同じユーザーでクラウド共有を作成することは出来ません", - "File is already shared with %s" : "ファイルは既に %s と共有されています。", + "Not allowed to create a federated share with the same user" : "同じユーザーでクラウド共有は作成できません。", + "File is already shared with %s" : "ファイルはすでに %s と共有されています。", "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "%s を共有できませんでした。%s が見つかりませんでした。現在サーバーに接続できないか、自己証明書を使っています。", "Could not find share" : "共有が見つかりませんでした", "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "%1$s からリモート共有として \"%3$s\" を受け取りました。(%2$s の代理として)", @@ -40,12 +40,12 @@ "Federated Cloud" : "クラウド共有", "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Nextcloud 、ownCloud、Pydio を使う人とは誰とでも共有できます。クラウド連携IDを共有ダイアログに入力するだけです。例:person@cloud.example.com", "Your Federated Cloud ID:" : "あなたのクラウド共有ID:", - "Share it so your friends can share files with you:" : "友達がファイルをあなたと共有できるように、これを共有しましょう:", + "Share it so your friends can share files with you:" : "友達があなたとファイルを共有できるよう、シェアしましょう:", "Add to your website" : "ウェブサイトに追加", "Share with me via Nextcloud" : "Nextcloud 経由で共有", "HTML Code:" : "HTMLコード:", "The mountpoint name contains invalid characters." : "マウントポイント名 に不正な文字列が含まれています。", - "Not allowed to create a federated share with the owner." : "その所有者でクラウド共有を作成することは出来ません", + "Not allowed to create a federated share with the owner." : "その所有者でクラウド共有を作成することはできません", "Invalid or untrusted SSL certificate" : "無効または信頼できないSSL証明書", "Could not authenticate to remote share, password might be wrong" : "リモート共有が認証できませんでした,パスワードが間違っているかもしれません", "Storage not valid" : "ストレージが無効です", diff --git a/apps/federatedfilesharing/l10n/sr.js b/apps/federatedfilesharing/l10n/sr.js index d71ede311fd..df9e32838e7 100644 --- a/apps/federatedfilesharing/l10n/sr.js +++ b/apps/federatedfilesharing/l10n/sr.js @@ -33,6 +33,7 @@ OC.L10N.register( "Share with me through my #Nextcloud Federated Cloud ID" : "Дели са мном преко мог #Некстклауд Здруженог облака", "Sharing" : "Дељење", "Federated file sharing" : "Здружено дељење фајлова", + "Provide federated file sharing across servers" : "Пружа здружено дељење фајлова између сервера", "Federated Cloud Sharing" : "Здружено дељење у облаку", "Open documentation" : "Отвори документацију", "Adjust how people can share between servers." : "Подеси како људи деле фајлове између сервера.", diff --git a/apps/federatedfilesharing/l10n/sr.json b/apps/federatedfilesharing/l10n/sr.json index 5cce1ae7919..277de405448 100644 --- a/apps/federatedfilesharing/l10n/sr.json +++ b/apps/federatedfilesharing/l10n/sr.json @@ -31,6 +31,7 @@ "Share with me through my #Nextcloud Federated Cloud ID" : "Дели са мном преко мог #Некстклауд Здруженог облака", "Sharing" : "Дељење", "Federated file sharing" : "Здружено дељење фајлова", + "Provide federated file sharing across servers" : "Пружа здружено дељење фајлова између сервера", "Federated Cloud Sharing" : "Здружено дељење у облаку", "Open documentation" : "Отвори документацију", "Adjust how people can share between servers." : "Подеси како људи деле фајлове између сервера.", diff --git a/apps/federation/l10n/eo.js b/apps/federation/l10n/eo.js index 3f4b1480554..2934f9cbb29 100644 --- a/apps/federation/l10n/eo.js +++ b/apps/federation/l10n/eo.js @@ -1,10 +1,14 @@ OC.L10N.register( "federation", { - "Server added to the list of trusted ownClouds" : "Servilo aldoniĝis al la listo de fidataj ownCloud-oj.", + "Added to the list of trusted servers" : "Aldoni al la listo de fidataj serviloj", "Server is already in the list of trusted servers." : "Servilo jam estas en la listo de fidataj serviloj.", - "No ownCloud server found" : "Ne troviĝis ownCloud-servilo", + "No server to federate with found" : "Neniu servilon por federadi kun trovis", "Could not add server" : "Ne eblas aldoni servilon", - "Federation" : "Federado" + "Federation" : "Federado", + "Trusted servers" : "Fidaj serviloj", + "+ Add trusted server" : "+ Aldoni fidan servilon", + "Trusted server" : "Fida servilo", + "Add" : "Aldoni" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/eo.json b/apps/federation/l10n/eo.json index dff629a2819..18a4182f5b1 100644 --- a/apps/federation/l10n/eo.json +++ b/apps/federation/l10n/eo.json @@ -1,8 +1,12 @@ { "translations": { - "Server added to the list of trusted ownClouds" : "Servilo aldoniĝis al la listo de fidataj ownCloud-oj.", + "Added to the list of trusted servers" : "Aldoni al la listo de fidataj serviloj", "Server is already in the list of trusted servers." : "Servilo jam estas en la listo de fidataj serviloj.", - "No ownCloud server found" : "Ne troviĝis ownCloud-servilo", + "No server to federate with found" : "Neniu servilon por federadi kun trovis", "Could not add server" : "Ne eblas aldoni servilon", - "Federation" : "Federado" + "Federation" : "Federado", + "Trusted servers" : "Fidaj serviloj", + "+ Add trusted server" : "+ Aldoni fidan servilon", + "Trusted server" : "Fida servilo", + "Add" : "Aldoni" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/es.js b/apps/federation/l10n/es.js index ade71852fad..109c010a6e8 100644 --- a/apps/federation/l10n/es.js +++ b/apps/federation/l10n/es.js @@ -6,6 +6,7 @@ OC.L10N.register( "No server to federate with found" : "No se ha encontrado ningún servidor con el que federarse.", "Could not add server" : "No se ha podido añadir el servidor", "Federation" : "Federación", + "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federación te permite conectar con otros servidores de confianza para intercambiar el directorio de usuarios.", "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "La federación permite conectarte con otros servidores de confianza para intercambiar directorios. Por ejemplo, esto se usará para autocompletar la selección de usuarios externos al compartir en federación.", "Trusted servers" : "Servidores de confianza", "Add server automatically once a federated share was created successfully" : "Añadir el servidor automáticamente una vez que un compartido federado se haya creado exitosamente", diff --git a/apps/federation/l10n/es.json b/apps/federation/l10n/es.json index dc3ab54c0e8..347d8922f9b 100644 --- a/apps/federation/l10n/es.json +++ b/apps/federation/l10n/es.json @@ -4,6 +4,7 @@ "No server to federate with found" : "No se ha encontrado ningún servidor con el que federarse.", "Could not add server" : "No se ha podido añadir el servidor", "Federation" : "Federación", + "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federación te permite conectar con otros servidores de confianza para intercambiar el directorio de usuarios.", "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "La federación permite conectarte con otros servidores de confianza para intercambiar directorios. Por ejemplo, esto se usará para autocompletar la selección de usuarios externos al compartir en federación.", "Trusted servers" : "Servidores de confianza", "Add server automatically once a federated share was created successfully" : "Añadir el servidor automáticamente una vez que un compartido federado se haya creado exitosamente", diff --git a/apps/federation/l10n/ja.js b/apps/federation/l10n/ja.js index cc85ba0f443..12050488999 100644 --- a/apps/federation/l10n/ja.js +++ b/apps/federation/l10n/ja.js @@ -2,8 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "信頼済サーバーとしてリストに登録済", - "Server is already in the list of trusted servers." : "信頼済サーバーとして既に登録されています。", - "No server to federate with found" : "Nextcloud 連携サーバーはありません。", + "Server is already in the list of trusted servers." : "信頼済サーバーとしてすでに登録されています。", + "No server to federate with found" : "Nextcloud連携サーバーはありません。", "Could not add server" : "サーバーを追加できませんでした", "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "連携では他の信頼済サーバーとユーザーリストをやり取りすること許可します。例えば、連携共有時で他のサーバーのユーザーのIDを自動補完します。", "Trusted servers" : "信頼済サーバー", diff --git a/apps/federation/l10n/ja.json b/apps/federation/l10n/ja.json index 2b0b0b571f9..2675a3ab121 100644 --- a/apps/federation/l10n/ja.json +++ b/apps/federation/l10n/ja.json @@ -1,7 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "信頼済サーバーとしてリストに登録済", - "Server is already in the list of trusted servers." : "信頼済サーバーとして既に登録されています。", - "No server to federate with found" : "Nextcloud 連携サーバーはありません。", + "Server is already in the list of trusted servers." : "信頼済サーバーとしてすでに登録されています。", + "No server to federate with found" : "Nextcloud連携サーバーはありません。", "Could not add server" : "サーバーを追加できませんでした", "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "連携では他の信頼済サーバーとユーザーリストをやり取りすること許可します。例えば、連携共有時で他のサーバーのユーザーのIDを自動補完します。", "Trusted servers" : "信頼済サーバー", diff --git a/apps/federation/l10n/sr.js b/apps/federation/l10n/sr.js index 0feea35298f..4d3bf695848 100644 --- a/apps/federation/l10n/sr.js +++ b/apps/federation/l10n/sr.js @@ -6,6 +6,7 @@ OC.L10N.register( "No server to federate with found" : "Није нађен сервер за здруживање", "Could not add server" : "Неуспело додавање сервера", "Federation" : "Здруживање", + "Federation allows you to connect with other trusted servers to exchange the user directory." : "Здруживање омогућава да се повежете са другим серверима од поверења и да размењујете корисничке директоријуме.", "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Здруживање омогућава да се повежете са другим серверима од поверења и да мењате корисничке директоријуме.", "Trusted servers" : "Сервери од поверења", "Add server automatically once a federated share was created successfully" : "Додај сервер аутоматски по успешном прављењу здруженог дељења", diff --git a/apps/federation/l10n/sr.json b/apps/federation/l10n/sr.json index ffb64b96b39..45207c0c61b 100644 --- a/apps/federation/l10n/sr.json +++ b/apps/federation/l10n/sr.json @@ -4,6 +4,7 @@ "No server to federate with found" : "Није нађен сервер за здруживање", "Could not add server" : "Неуспело додавање сервера", "Federation" : "Здруживање", + "Federation allows you to connect with other trusted servers to exchange the user directory." : "Здруживање омогућава да се повежете са другим серверима од поверења и да размењујете корисничке директоријуме.", "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Здруживање омогућава да се повежете са другим серверима од поверења и да мењате корисничке директоријуме.", "Trusted servers" : "Сервери од поверења", "Add server automatically once a federated share was created successfully" : "Додај сервер аутоматски по успешном прављењу здруженог дељења", diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss index d2d810c1e6c..38c74d242bc 100644 --- a/apps/files/css/files.scss +++ b/apps/files/css/files.scss @@ -176,9 +176,11 @@ table th .columntitle { -moz-box-sizing: border-box; vertical-align: middle; } +table.multiselect th .columntitle { + display: inline-block; +} table th .columntitle.name { padding-left: 5px; - padding-right: 80px; margin-left: 50px; } @@ -246,7 +248,7 @@ table th.column-last, table td.column-last { } table.multiselect thead { position: fixed; - top: 89px; + top: 94px; z-index: 55; -moz-box-sizing: border-box; box-sizing: border-box; @@ -474,19 +476,19 @@ a.action > img { /* Actions for selected files */ .selectedActions { - position: absolute; - top: 0; - right: 0; + position: relative; + display: inline-block; + vertical-align: middle; +} +.selectedActions.hidden { + display: none; } .selectedActions a { display: inline; - font-size: 11px; line-height: 50px; - padding: 18px 5px; -} -.selectedActions a.delete-selected { - padding-right: 15px; + padding: 16px 5px; } + .selectedActions a.hidden { display: none; } @@ -495,9 +497,9 @@ a.action > img { vertical-align: text-bottom; margin-bottom: -1px; } -/* hide the delete icon in name column normal resolutions */ -table th#headerName .selectedActions .delete-selected { - display: none; + +.selectedActions .actions-selected .icon-more { + margin-top: -3px; } #fileList td a { diff --git a/apps/files/css/mobile.scss b/apps/files/css/mobile.scss index c5bb8193924..a53066c4452 100644 --- a/apps/files/css/mobile.scss +++ b/apps/files/css/mobile.scss @@ -28,7 +28,7 @@ table td { table.multiselect thead { padding-left: 0; } - + #fileList a.action.action-menu img { padding-left: 0; } @@ -41,10 +41,6 @@ table.multiselect thead { display: none !important; } -/* show the delete icon in name column in lower resolutions */ -table th#headerName .selectedActions .delete-selected { - display: inline; -} /* proper notification area for multi line messages */ #notification-container { @@ -71,7 +67,10 @@ table.dragshadow { } @media only screen and (max-width: 480px) { /* Only show icons */ - table th .selectedActions a span:not(.icon) { + table th .selectedActions { + float: right; + } + table th .selectedActions > a span:not(.icon) { display: none; } diff --git a/apps/files/js/app.js b/apps/files/js/app.js index 6e4e8c1b136..6a21bce975b 100644 --- a/apps/files/js/app.js +++ b/apps/files/js/app.js @@ -88,6 +88,23 @@ allowLegacyActions: true, scrollTo: urlParams.scrollto, filesClient: OC.Files.getClient(), + multiSelectMenu: [ + { + name: 'copyMove', + displayName: t('files', 'Move or copy'), + iconClass: 'icon-external', + }, + { + name: 'download', + displayName: t('files', 'Download'), + iconClass: 'icon-download', + }, + { + name: 'delete', + displayName: t('files', 'Delete'), + iconClass: 'icon-delete', + } + ], sorting: { mode: $('#defaultFileSorting').val(), direction: $('#defaultFileSortingDirection').val() @@ -130,7 +147,7 @@ window.FileActions.off('registerAction.app-files', this._onActionsUpdated); }, - _onActionsUpdated: function(ev, newAction) { + _onActionsUpdated: function(ev) { // forward new action to the file list if (ev.action) { this.fileList.fileActions.registerAction(ev.action); diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index 4c0ccaf6451..3623663ed6c 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -692,21 +692,21 @@ OCA.Files.FileActions = FileActions; /** - * Replaces the download icon with a loading spinner and vice versa + * Replaces the button icon with a loading spinner and vice versa * - also adds the class disabled to the passed in element * - * @param {jQuery} $downloadButtonElement download fileaction + * @param {jQuery} $buttonElement The button element * @param {boolean} showIt whether to show the spinner(true) or to hide it(false) */ - OCA.Files.FileActions.updateFileActionSpinner = function($downloadButtonElement, showIt) { - var $icon = $downloadButtonElement.find('.icon'); + OCA.Files.FileActions.updateFileActionSpinner = function($buttonElement, showIt) { + var $icon = $buttonElement.find('.icon'); if (showIt) { var $loadingIcon = $('<span class="icon icon-loading-small"></span>'); $icon.after($loadingIcon); $icon.addClass('hidden'); } else { - $downloadButtonElement.find('.icon-loading-small').remove(); - $downloadButtonElement.find('.icon').removeClass('hidden'); + $buttonElement.find('.icon-loading-small').remove(); + $buttonElement.find('.icon').removeClass('hidden'); } }; diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 307147076b2..c420e7212a0 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -126,7 +126,11 @@ * @type OCA.Files.FileActions */ fileActions: null, - + /** + * File selection menu, defaults to OCA.Files.FileSelectionMenu + * @type OCA.Files.FileSelectionMenu + */ + fileMultiSelectMenu: null, /** * Whether selection is allowed, checkboxes and selection overlay will * be rendered @@ -288,6 +292,12 @@ this.fileSummary = this._createSummary(); + if (options.multiSelectMenu) { + this.fileMultiSelectMenu = new OCA.Files.FileMultiSelectMenu(options.multiSelectMenu); + this.fileMultiSelectMenu.render(); + this.$el.find('.selectedActions').append(this.fileMultiSelectMenu.$el); + } + if (options.sorting) { this.setSort(options.sorting.mode, options.sorting.direction, false, false); } else { @@ -336,11 +346,10 @@ this.$el.on('show', _.bind(this._onShow, this)); this.$el.on('urlChanged', _.bind(this._onUrlChanged, this)); this.$el.find('.select-all').click(_.bind(this._onClickSelectAll, this)); - this.$el.find('.download').click(_.bind(this._onClickDownloadSelected, this)); - this.$el.find('.copy-move').click(_.bind(this._onClickCopyMoveSelected, this)); - this.$el.find('.delete-selected').click(_.bind(this._onClickDeleteSelected, this)); - - this.$el.find('.selectedActions a').tooltip({placement:'top'}); + this.$el.find('.actions-selected').click(function () { + self.fileMultiSelectMenu.show(self); + return false; + }); this.$container.on('scroll', _.bind(this._onScroll, this)); @@ -365,6 +374,7 @@ } } + OC.Plugins.attach('OCA.Files.FileList', this); }, @@ -388,6 +398,22 @@ $('#app-content').off('appresized', this._onResize); }, + multiSelectMenuClick: function (ev, action) { + switch (action) { + case 'delete': + this._onClickDeleteSelected(ev) + break; + case 'download': + this._onClickDownloadSelected(ev); + break; + case 'copyMove': + this._onClickCopyMoveSelected(ev); + break; + case 'restore': + this._onClickRestoreSelected(ev); + break; + } + }, /** * Initializes the file actions, set up listeners. * @@ -745,7 +771,9 @@ */ _onClickDownloadSelected: function(event) { var files; + var self = this; var dir = this.getCurrentDirectory(); + if (this.isAllSelected() && this.getSelectedFiles().length > 1) { files = OC.basename(dir); dir = OC.dirname(dir) || '/'; @@ -754,19 +782,16 @@ files = _.pluck(this.getSelectedFiles(), 'name'); } - var downloadFileaction = $('#selectedActionsList').find('.download'); - // don't allow a second click on the download action - if(downloadFileaction.hasClass('disabled')) { - event.preventDefault(); - return; + if(this.fileMultiSelectMenu.isDisabled('download')) { + return false; } + this.fileMultiSelectMenu.toggleLoading('download', true); var disableLoadingState = function(){ - OCA.Files.FileActions.updateFileActionSpinner(downloadFileaction, false); + self.fileMultiSelectMenu.toggleLoading('download', false); }; - OCA.Files.FileActions.updateFileActionSpinner(downloadFileaction, true); if(this.getSelectedFiles().length > 1) { OCA.Files.Files.handleDownload(this.getDownloadUrl(files, dir, true), disableLoadingState); } @@ -774,7 +799,7 @@ var first = this.getSelectedFiles()[0]; OCA.Files.Files.handleDownload(this.getDownloadUrl(first.name, dir, true), disableLoadingState); } - return false; + event.preventDefault(); }, /** @@ -786,20 +811,18 @@ files = _.pluck(this.getSelectedFiles(), 'name'); - var moveFileAction = $('#selectedActionsList').find('.move'); - // don't allow a second click on the download action - if(moveFileAction.hasClass('disabled')) { - event.preventDefault(); - return; + if(this.fileMultiSelectMenu.isDisabled('copyMove')) { + return false; } var disableLoadingState = function(){ - OCA.Files.FileActions.updateFileActionSpinner(moveFileAction, false); + self.fileMultiSelectMenu.toggleLoading('copyMove', false); }; var actions = this.isSelectedMovable() ? OC.dialogs.FILEPICKER_TYPE_COPY_MOVE : OC.dialogs.FILEPICKER_TYPE_COPY; OC.dialogs.filepicker(t('files', 'Target folder'), function(targetPath, type) { + self.fileMultiSelectMenu.toggleLoading('copyMove', true); if (type === OC.dialogs.FILEPICKER_TYPE_COPY) { self.copy(files, targetPath, disableLoadingState); } @@ -807,7 +830,7 @@ self.move(files, targetPath, disableLoadingState); } }, false, "httpd/unix-directory", true, actions); - return false; + event.preventDefault(); }, /** @@ -820,7 +843,6 @@ } this.do_delete(files); event.preventDefault(); - return false; }, /** @@ -2885,19 +2907,20 @@ this.$el.find('#headerName a.name>span:first').text(selection); this.$el.find('#modified a>span:first').text(''); this.$el.find('table').addClass('multiselect'); - this.$el.find('.selectedActions .download').toggleClass('hidden', !this.isSelectedDownloadable()); - this.$el.find('.delete-selected').toggleClass('hidden', !this.isSelectedDeletable()); - - var $copyMove = this.$el.find('.selectedActions .copy-move'); - if (this.isSelectedCopiable()) { - $copyMove.toggleClass('hidden', false); - if (this.isSelectedMovable()) { - $copyMove.find('.label').text(t('files', 'Move or copy')); + + if (this.fileMultiSelectMenu) { + this.fileMultiSelectMenu.toggleItemVisibility('download', this.isSelectedDownloadable()); + this.fileMultiSelectMenu.toggleItemVisibility('delete', this.isSelectedDeletable()); + this.fileMultiSelectMenu.toggleItemVisibility('copyMove', this.isSelectedCopiable()); + if (this.isSelectedCopiable()) { + if (this.isSelectedMovable()) { + this.fileMultiSelectMenu.updateItemText('copyMove', t('files', 'Move or copy')); + } else { + this.fileMultiSelectMenu.updateItemText('copyMove', t('files', 'Copy')); + } } else { - $copyMove.find('.label').text(t('files', 'Copy')); + this.fileMultiSelectMenu.toggleItemVisibility('copyMove', false); } - } else { - $copyMove.toggleClass('hidden', true); } } }, diff --git a/apps/files/js/filemultiselectmenu.js b/apps/files/js/filemultiselectmenu.js new file mode 100644 index 00000000000..d587d1fbdb2 --- /dev/null +++ b/apps/files/js/filemultiselectmenu.js @@ -0,0 +1,112 @@ +/* + * Copyright (c) 2018 + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ + +(function() { + var TEMPLATE_MENU = + '<ul>' + + '{{#each items}}' + + '<li class="item-{{name}}">' + + '<a href="#" class="menuitem action {{name}} permanent" data-action="{{name}}">' + + '{{#if iconClass}}' + + '<span class="icon {{iconClass}}"></span>' + + '{{else}}' + + '<span class="no-icon"></span>' + + '{{/if}}' + + '<span class="label">{{displayName}}</span>' + + '</a></li>' + + '{{/each}}' + + '</ul>'; + + var FileMultiSelectMenu = OC.Backbone.View.extend({ + tagName: 'div', + className: 'filesSelectMenu popovermenu bubble menu-center', + _scopes: null, + initialize: function(menuItems) { + this._scopes = menuItems; + }, + events: { + 'click a.action': '_onClickAction' + }, + template: Handlebars.compile(TEMPLATE_MENU), + /** + * Renders the menu with the currently set items + */ + render: function() { + this.$el.html(this.template({ + items: this._scopes + })); + }, + /** + * Displays the menu under the given element + * + * @param {OCA.Files.FileActionContext} context context + * @param {Object} $trigger trigger element + */ + show: function(context) { + this._context = context; + this.$el.removeClass('hidden'); + if (window.innerWidth < 480) { + this.$el.removeClass('menu-center').addClass('menu-right'); + } else { + this.$el.removeClass('menu-right').addClass('menu-center'); + } + OC.showMenu(null, this.$el); + return false; + }, + toggleItemVisibility: function (itemName, show) { + if (show) { + this.$el.find('.item-' + itemName).removeClass('hidden'); + } else { + this.$el.find('.item-' + itemName).addClass('hidden'); + } + }, + updateItemText: function (itemName, translation) { + this.$el.find('.item-' + itemName).find('.label').text(translation); + }, + toggleLoading: function (itemName, showLoading) { + var $actionElement = this.$el.find('.item-' + itemName); + if ($actionElement.length === 0) { + return; + } + var $icon = $actionElement.find('.icon'); + if (showLoading) { + var $loadingIcon = $('<span class="icon icon-loading-small"></span>'); + $icon.after($loadingIcon); + $icon.addClass('hidden'); + $actionElement.addClass('disabled'); + } else { + $actionElement.find('.icon-loading-small').remove(); + $actionElement.find('.icon').removeClass('hidden'); + $actionElement.removeClass('disabled'); + } + }, + isDisabled: function (itemName) { + var $actionElement = this.$el.find('.item-' + itemName); + return $actionElement.hasClass('disabled'); + }, + /** + * Event handler whenever an action has been clicked within the menu + * + * @param {Object} event event object + */ + _onClickAction: function (event) { + var $target = $(event.currentTarget); + if (!$target.hasClass('menuitem')) { + $target = $target.closest('.menuitem'); + } + + OC.hideMenus(); + this._context.multiSelectMenuClick(event, $target.data('action')); + return false; + } + }); + + OCA.Files.FileMultiSelectMenu = FileMultiSelectMenu; +})(OC, OCA); diff --git a/apps/files/js/merged-index.json b/apps/files/js/merged-index.json index 127bbb46b29..cd7e72e1a51 100644 --- a/apps/files/js/merged-index.json +++ b/apps/files/js/merged-index.json @@ -6,6 +6,7 @@ "jquery-visibility.js", "fileinfomodel.js", "filesummary.js", + "filemultiselectmenu.js", "breadcrumb.js", "filelist.js", "search.js", diff --git a/apps/files/l10n/af.js b/apps/files/l10n/af.js index cc5c26bdf7c..df23ffea7b3 100644 --- a/apps/files/l10n/af.js +++ b/apps/files/l10n/af.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Alle lêers", "Recent" : "Onlangs", "File could not be found" : "Lêer kon nie gevind word nie", + "Move or copy" : "Kopieer of skuif", + "Download" : "Laai af", + "Delete" : "Skrap", "Home" : "Tuis", "Close" : "Sluit", "Favorites" : "Gunstelinge", @@ -21,12 +24,9 @@ OC.L10N.register( "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} van {totalSize} ({bitrate})", "Target folder does not exist any more" : "Teikengids bestaan nie meer nie", "Actions" : "Aksies", - "Download" : "Laai af", "Rename" : "Hernoem", - "Move or copy" : "Kopieer of skuif", "Copy" : "Kopieer", "Target folder" : "Teikengids", - "Delete" : "Skrap", "Disconnect storage" : "Ontkoppel berging", "Unshare" : "Ontdeel", "Could not load info for file \"{file}\"" : "Kon nie inligting vir lêer: \"{file}\" laai nie ", diff --git a/apps/files/l10n/af.json b/apps/files/l10n/af.json index 755e69d2935..9be477711dc 100644 --- a/apps/files/l10n/af.json +++ b/apps/files/l10n/af.json @@ -5,6 +5,9 @@ "All files" : "Alle lêers", "Recent" : "Onlangs", "File could not be found" : "Lêer kon nie gevind word nie", + "Move or copy" : "Kopieer of skuif", + "Download" : "Laai af", + "Delete" : "Skrap", "Home" : "Tuis", "Close" : "Sluit", "Favorites" : "Gunstelinge", @@ -19,12 +22,9 @@ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} van {totalSize} ({bitrate})", "Target folder does not exist any more" : "Teikengids bestaan nie meer nie", "Actions" : "Aksies", - "Download" : "Laai af", "Rename" : "Hernoem", - "Move or copy" : "Kopieer of skuif", "Copy" : "Kopieer", "Target folder" : "Teikengids", - "Delete" : "Skrap", "Disconnect storage" : "Ontkoppel berging", "Unshare" : "Ontdeel", "Could not load info for file \"{file}\"" : "Kon nie inligting vir lêer: \"{file}\" laai nie ", diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js index cd9230a163f..2e4e31ba5db 100644 --- a/apps/files/l10n/ar.js +++ b/apps/files/l10n/ar.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "كل الملفات", "Recent" : "الحديثة", "File could not be found" : "الملف غير موجود", + "Move or copy" : "إنقل أو انسخ", + "Download" : "تنزيل", + "Delete" : "حذف ", "Home" : "الرئيسية", "Close" : "إغلاق", "Favorites" : "المفضلة ", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "المجلد المراد غير موجود بعد الان", "Error when assembling chunks, status code {status}" : "خطأ عند تجميع القطع، حالة الخطأ {status}", "Actions" : "الإجراءات", - "Download" : "تنزيل", "Rename" : "إعادة التسمية", - "Move or copy" : "إنقل أو انسخ", "Copy" : "نسخ", "Target folder" : "المجلد الهدف", - "Delete" : "حذف ", "Disconnect storage" : "قطع اتصال التخزين", "Unshare" : "إلغاء المشاركة", "Could not load info for file \"{file}\"" : "لم يستطع تحميل معلومات الملف \"{file}\"", diff --git a/apps/files/l10n/ar.json b/apps/files/l10n/ar.json index 918ba10ec42..03f191dcbbe 100644 --- a/apps/files/l10n/ar.json +++ b/apps/files/l10n/ar.json @@ -5,6 +5,9 @@ "All files" : "كل الملفات", "Recent" : "الحديثة", "File could not be found" : "الملف غير موجود", + "Move or copy" : "إنقل أو انسخ", + "Download" : "تنزيل", + "Delete" : "حذف ", "Home" : "الرئيسية", "Close" : "إغلاق", "Favorites" : "المفضلة ", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "المجلد المراد غير موجود بعد الان", "Error when assembling chunks, status code {status}" : "خطأ عند تجميع القطع، حالة الخطأ {status}", "Actions" : "الإجراءات", - "Download" : "تنزيل", "Rename" : "إعادة التسمية", - "Move or copy" : "إنقل أو انسخ", "Copy" : "نسخ", "Target folder" : "المجلد الهدف", - "Delete" : "حذف ", "Disconnect storage" : "قطع اتصال التخزين", "Unshare" : "إلغاء المشاركة", "Could not load info for file \"{file}\"" : "لم يستطع تحميل معلومات الملف \"{file}\"", diff --git a/apps/files/l10n/ast.js b/apps/files/l10n/ast.js index 90c8c52002c..aa976eaf6ca 100644 --- a/apps/files/l10n/ast.js +++ b/apps/files/l10n/ast.js @@ -7,6 +7,8 @@ OC.L10N.register( "All files" : "Tolos ficheros", "Recent" : "Reciente", "File could not be found" : "Nun s'atopó el ficheru", + "Download" : "Descargar", + "Delete" : "Desaniciar", "Home" : "Casa", "Close" : "Zarrar", "Favorites" : "Favoritos", @@ -18,10 +20,8 @@ OC.L10N.register( "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Actions" : "Aiciones", - "Download" : "Descargar", "Rename" : "Renomar", "Target folder" : "Carpeta oxetivu", - "Delete" : "Desaniciar", "Disconnect storage" : "Desconeutar almacenamientu", "Unshare" : "Dexar de compartir", "Could not load info for file \"{file}\"" : "Nun pudo cargase la información del ficheru «{file}»", diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json index 19b31851859..5d6d6c5bc2c 100644 --- a/apps/files/l10n/ast.json +++ b/apps/files/l10n/ast.json @@ -5,6 +5,8 @@ "All files" : "Tolos ficheros", "Recent" : "Reciente", "File could not be found" : "Nun s'atopó el ficheru", + "Download" : "Descargar", + "Delete" : "Desaniciar", "Home" : "Casa", "Close" : "Zarrar", "Favorites" : "Favoritos", @@ -16,10 +18,8 @@ "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Actions" : "Aiciones", - "Download" : "Descargar", "Rename" : "Renomar", "Target folder" : "Carpeta oxetivu", - "Delete" : "Desaniciar", "Disconnect storage" : "Desconeutar almacenamientu", "Unshare" : "Dexar de compartir", "Could not load info for file \"{file}\"" : "Nun pudo cargase la información del ficheru «{file}»", diff --git a/apps/files/l10n/bg.js b/apps/files/l10n/bg.js index 9ffe7805a31..06f235f5dfa 100644 --- a/apps/files/l10n/bg.js +++ b/apps/files/l10n/bg.js @@ -7,6 +7,8 @@ OC.L10N.register( "All files" : "Всички файлове", "Recent" : "Скорошен", "File could not be found" : "Файлът не може да бъде открит", + "Download" : "Изтегли", + "Delete" : "Изтриване", "Home" : "Домашен", "Close" : "Затвори", "Favorites" : "Любими", @@ -18,10 +20,8 @@ OC.L10N.register( "Not enough free space" : "Няма достатъчно свободно място", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} от {totalSize} ({bitrate})", "Actions" : "Действия", - "Download" : "Изтегли", "Rename" : "Преименуване", "Target folder" : "Целева папка", - "Delete" : "Изтриване", "Disconnect storage" : "Извади хранилището", "Unshare" : "Прекратяване на споделяне", "Files" : "Файлове", diff --git a/apps/files/l10n/bg.json b/apps/files/l10n/bg.json index e37bb29c907..286efc8219e 100644 --- a/apps/files/l10n/bg.json +++ b/apps/files/l10n/bg.json @@ -5,6 +5,8 @@ "All files" : "Всички файлове", "Recent" : "Скорошен", "File could not be found" : "Файлът не може да бъде открит", + "Download" : "Изтегли", + "Delete" : "Изтриване", "Home" : "Домашен", "Close" : "Затвори", "Favorites" : "Любими", @@ -16,10 +18,8 @@ "Not enough free space" : "Няма достатъчно свободно място", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} от {totalSize} ({bitrate})", "Actions" : "Действия", - "Download" : "Изтегли", "Rename" : "Преименуване", "Target folder" : "Целева папка", - "Delete" : "Изтриване", "Disconnect storage" : "Извади хранилището", "Unshare" : "Прекратяване на споделяне", "Files" : "Файлове", diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js index bf07aa8b771..fd55d59993b 100644 --- a/apps/files/l10n/ca.js +++ b/apps/files/l10n/ca.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Tots els fitxers", "Recent" : "Recent", "File could not be found" : "No s'ha pogut trobar el fitxer", + "Move or copy" : "Moure o copiar", + "Download" : "Baixa", + "Delete" : "Esborra", "Home" : "Casa", "Close" : "Tanca", "Favorites" : "Preferits", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta de destí no existeix", "Error when assembling chunks, status code {status}" : "S'ha produït un error mentre es recopilaven els fragments, el codi d'estat és {status}", "Actions" : "Accions", - "Download" : "Baixa", "Rename" : "Reanomena", - "Move or copy" : "Moure o copiar", "Target folder" : "Carpeta de destí", - "Delete" : "Esborra", "Disconnect storage" : "Desonnecta l'emmagatzematge", "Unshare" : "Deixa de compartir", "Could not load info for file \"{file}\"" : "No s'ha pogut carregar la informació del fitxer \"{file}\"", diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json index 269acd70939..e0356175605 100644 --- a/apps/files/l10n/ca.json +++ b/apps/files/l10n/ca.json @@ -5,6 +5,9 @@ "All files" : "Tots els fitxers", "Recent" : "Recent", "File could not be found" : "No s'ha pogut trobar el fitxer", + "Move or copy" : "Moure o copiar", + "Download" : "Baixa", + "Delete" : "Esborra", "Home" : "Casa", "Close" : "Tanca", "Favorites" : "Preferits", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "La carpeta de destí no existeix", "Error when assembling chunks, status code {status}" : "S'ha produït un error mentre es recopilaven els fragments, el codi d'estat és {status}", "Actions" : "Accions", - "Download" : "Baixa", "Rename" : "Reanomena", - "Move or copy" : "Moure o copiar", "Target folder" : "Carpeta de destí", - "Delete" : "Esborra", "Disconnect storage" : "Desonnecta l'emmagatzematge", "Unshare" : "Deixa de compartir", "Could not load info for file \"{file}\"" : "No s'ha pogut carregar la informació del fitxer \"{file}\"", diff --git a/apps/files/l10n/cs.js b/apps/files/l10n/cs.js index 28a480608af..9d28d258b7a 100644 --- a/apps/files/l10n/cs.js +++ b/apps/files/l10n/cs.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Všechny soubory", "Recent" : "Nedávné", "File could not be found" : "Soubor nelze nalézt", + "Move or copy" : "Přesunout nebo zkopírovat", + "Download" : "Stáhnout", + "Delete" : "Smazat", "Home" : "Domů", "Close" : "Zavřít", "Favorites" : "Oblíbené", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Cílový adresář už neexistuje", "Error when assembling chunks, status code {status}" : "Chyba při kompletaci kusů, kód chyby {status}", "Actions" : "Činnosti", - "Download" : "Stáhnout", "Rename" : "Přejmenovat", - "Move or copy" : "Přesunout nebo zkopírovat", "Copy" : "Kopírovat", "Target folder" : "Cílový adresář", - "Delete" : "Smazat", "Disconnect storage" : "Odpojit úložiště", "Unshare" : "Zrušit sdílení", "Could not load info for file \"{file}\"" : "Nepodařilo se načíst informace pro soubor {file}", diff --git a/apps/files/l10n/cs.json b/apps/files/l10n/cs.json index a5bd1bcab4f..5c67aa1f538 100644 --- a/apps/files/l10n/cs.json +++ b/apps/files/l10n/cs.json @@ -5,6 +5,9 @@ "All files" : "Všechny soubory", "Recent" : "Nedávné", "File could not be found" : "Soubor nelze nalézt", + "Move or copy" : "Přesunout nebo zkopírovat", + "Download" : "Stáhnout", + "Delete" : "Smazat", "Home" : "Domů", "Close" : "Zavřít", "Favorites" : "Oblíbené", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Cílový adresář už neexistuje", "Error when assembling chunks, status code {status}" : "Chyba při kompletaci kusů, kód chyby {status}", "Actions" : "Činnosti", - "Download" : "Stáhnout", "Rename" : "Přejmenovat", - "Move or copy" : "Přesunout nebo zkopírovat", "Copy" : "Kopírovat", "Target folder" : "Cílový adresář", - "Delete" : "Smazat", "Disconnect storage" : "Odpojit úložiště", "Unshare" : "Zrušit sdílení", "Could not load info for file \"{file}\"" : "Nepodařilo se načíst informace pro soubor {file}", diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js index c7073ff58db..c4ca879943f 100644 --- a/apps/files/l10n/da.js +++ b/apps/files/l10n/da.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Alle filer", "Recent" : "Seneste", "File could not be found" : "Filen kunne ikke findes", + "Move or copy" : "Flyt eller kopier", + "Download" : "Hent", + "Delete" : "Slet", "Home" : "Hjem", "Close" : "Luk", "Favorites" : "Foretrukne", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Destinations mappen findes ikke længere", "Error when assembling chunks, status code {status}" : "Fejl ved montering af klumper, statuskode {status}", "Actions" : "Handlinger", - "Download" : "Hent", "Rename" : "Omdøb", - "Move or copy" : "Flyt eller kopier", "Copy" : "Kopier", "Target folder" : "Destinations mappe", - "Delete" : "Slet", "Disconnect storage" : "Frakobl lager", "Unshare" : "Ophæv deling", "Could not load info for file \"{file}\"" : "Kunne ikke indlæse information for filen \"{file}\"", diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json index 0854ec09b65..b1b037775e8 100644 --- a/apps/files/l10n/da.json +++ b/apps/files/l10n/da.json @@ -5,6 +5,9 @@ "All files" : "Alle filer", "Recent" : "Seneste", "File could not be found" : "Filen kunne ikke findes", + "Move or copy" : "Flyt eller kopier", + "Download" : "Hent", + "Delete" : "Slet", "Home" : "Hjem", "Close" : "Luk", "Favorites" : "Foretrukne", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Destinations mappen findes ikke længere", "Error when assembling chunks, status code {status}" : "Fejl ved montering af klumper, statuskode {status}", "Actions" : "Handlinger", - "Download" : "Hent", "Rename" : "Omdøb", - "Move or copy" : "Flyt eller kopier", "Copy" : "Kopier", "Target folder" : "Destinations mappe", - "Delete" : "Slet", "Disconnect storage" : "Frakobl lager", "Unshare" : "Ophæv deling", "Could not load info for file \"{file}\"" : "Kunne ikke indlæse information for filen \"{file}\"", diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js index b4d62d4d1f6..2137374294a 100644 --- a/apps/files/l10n/de.js +++ b/apps/files/l10n/de.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Alle Dateien", "Recent" : "Aktuelle", "File could not be found" : "Datei konnte nicht gefunden werden", + "Move or copy" : "Verschieben oder kopieren", + "Download" : "Herunterladen", + "Delete" : "Löschen", "Home" : "Home", "Close" : "Schließen", "Favorites" : "Favoriten", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Zielordner existiert nicht mehr", "Error when assembling chunks, status code {status}" : "Fehler beim Zusammenführen der Teile (Chunks), Fehlermeldung {status}", "Actions" : "Aktionen", - "Download" : "Herunterladen", "Rename" : "Umbenennen", - "Move or copy" : "Verschieben oder kopieren", "Copy" : "Kopieren", "Target folder" : "Zielordner", - "Delete" : "Löschen", "Disconnect storage" : "Speicher trennen", "Unshare" : "Freigabe aufheben", "Could not load info for file \"{file}\"" : "Die Informationen zur Datei \"{file}\" konnten nicht geladen werden", diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json index 0e007b348f2..4095fa53dee 100644 --- a/apps/files/l10n/de.json +++ b/apps/files/l10n/de.json @@ -5,6 +5,9 @@ "All files" : "Alle Dateien", "Recent" : "Aktuelle", "File could not be found" : "Datei konnte nicht gefunden werden", + "Move or copy" : "Verschieben oder kopieren", + "Download" : "Herunterladen", + "Delete" : "Löschen", "Home" : "Home", "Close" : "Schließen", "Favorites" : "Favoriten", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Zielordner existiert nicht mehr", "Error when assembling chunks, status code {status}" : "Fehler beim Zusammenführen der Teile (Chunks), Fehlermeldung {status}", "Actions" : "Aktionen", - "Download" : "Herunterladen", "Rename" : "Umbenennen", - "Move or copy" : "Verschieben oder kopieren", "Copy" : "Kopieren", "Target folder" : "Zielordner", - "Delete" : "Löschen", "Disconnect storage" : "Speicher trennen", "Unshare" : "Freigabe aufheben", "Could not load info for file \"{file}\"" : "Die Informationen zur Datei \"{file}\" konnten nicht geladen werden", diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js index bb52c917b39..47535248973 100644 --- a/apps/files/l10n/de_DE.js +++ b/apps/files/l10n/de_DE.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Alle Dateien", "Recent" : "Aktuelle", "File could not be found" : "Datei konnte nicht gefunden werden", + "Move or copy" : "Verschieben oder kopieren", + "Download" : "Herunterladen", + "Delete" : "Löschen", "Home" : "Home", "Close" : "Schließen", "Favorites" : "Favoriten", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Zielordner existiert nicht mehr", "Error when assembling chunks, status code {status}" : "Fehler beim Zusammenführen der Teile (Chunks), Fehlermeldung {status}", "Actions" : "Aktionen", - "Download" : "Herunterladen", "Rename" : "Umbenennen", - "Move or copy" : "Verschieben oder kopieren", "Copy" : "Kopieren", "Target folder" : "Zielordner", - "Delete" : "Löschen", "Disconnect storage" : "Speicher trennen", "Unshare" : "Freigabe aufheben", "Could not load info for file \"{file}\"" : "Die Informationen zur Datei \"{file}\" konnten nicht geladen werden", diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json index e553092f94c..7a4e21ec16a 100644 --- a/apps/files/l10n/de_DE.json +++ b/apps/files/l10n/de_DE.json @@ -5,6 +5,9 @@ "All files" : "Alle Dateien", "Recent" : "Aktuelle", "File could not be found" : "Datei konnte nicht gefunden werden", + "Move or copy" : "Verschieben oder kopieren", + "Download" : "Herunterladen", + "Delete" : "Löschen", "Home" : "Home", "Close" : "Schließen", "Favorites" : "Favoriten", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Zielordner existiert nicht mehr", "Error when assembling chunks, status code {status}" : "Fehler beim Zusammenführen der Teile (Chunks), Fehlermeldung {status}", "Actions" : "Aktionen", - "Download" : "Herunterladen", "Rename" : "Umbenennen", - "Move or copy" : "Verschieben oder kopieren", "Copy" : "Kopieren", "Target folder" : "Zielordner", - "Delete" : "Löschen", "Disconnect storage" : "Speicher trennen", "Unshare" : "Freigabe aufheben", "Could not load info for file \"{file}\"" : "Die Informationen zur Datei \"{file}\" konnten nicht geladen werden", diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js index d898250e87b..28f8208119f 100644 --- a/apps/files/l10n/el.js +++ b/apps/files/l10n/el.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Όλα τα αρχεία", "Recent" : "Τελευταία", "File could not be found" : "Δεν μπορεί να βρεθεί το αρχείο", + "Move or copy" : "Μετακίνηση ή αντιγραφή", + "Download" : "Λήψη", + "Delete" : "Διαγραφή", "Home" : "Σπίτι", "Close" : "Κλείσιμο", "Favorites" : "Αγαπημένα", @@ -21,12 +24,9 @@ OC.L10N.register( "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} από {totalSize} ({bitrate})", "Target folder does not exist any more" : "Ο επιλεγμένος φάκελος δεν υπάρχει πλέον", "Actions" : "Ενέργειες", - "Download" : "Λήψη", "Rename" : "Μετονομασία", - "Move or copy" : "Μετακίνηση ή αντιγραφή", "Copy" : "Αντιγραφή", "Target folder" : "Φάκελος προορισμού", - "Delete" : "Διαγραφή", "Disconnect storage" : "Αποσυνδεδεμένος αποθηκευτικός χώρος", "Unshare" : "Διακοπή διαμοιρασμού", "Could not load info for file \"{file}\"" : "Δεν μπορέσαμε να φορτώσουμε πληροφορίες για το αρχείο \"{file}\"", diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json index e27b256c09c..117dfaf7672 100644 --- a/apps/files/l10n/el.json +++ b/apps/files/l10n/el.json @@ -5,6 +5,9 @@ "All files" : "Όλα τα αρχεία", "Recent" : "Τελευταία", "File could not be found" : "Δεν μπορεί να βρεθεί το αρχείο", + "Move or copy" : "Μετακίνηση ή αντιγραφή", + "Download" : "Λήψη", + "Delete" : "Διαγραφή", "Home" : "Σπίτι", "Close" : "Κλείσιμο", "Favorites" : "Αγαπημένα", @@ -19,12 +22,9 @@ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} από {totalSize} ({bitrate})", "Target folder does not exist any more" : "Ο επιλεγμένος φάκελος δεν υπάρχει πλέον", "Actions" : "Ενέργειες", - "Download" : "Λήψη", "Rename" : "Μετονομασία", - "Move or copy" : "Μετακίνηση ή αντιγραφή", "Copy" : "Αντιγραφή", "Target folder" : "Φάκελος προορισμού", - "Delete" : "Διαγραφή", "Disconnect storage" : "Αποσυνδεδεμένος αποθηκευτικός χώρος", "Unshare" : "Διακοπή διαμοιρασμού", "Could not load info for file \"{file}\"" : "Δεν μπορέσαμε να φορτώσουμε πληροφορίες για το αρχείο \"{file}\"", diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js index 023979d6ada..8779889cd2a 100644 --- a/apps/files/l10n/en_GB.js +++ b/apps/files/l10n/en_GB.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "All files", "Recent" : "Recent", "File could not be found" : "File could not be found", + "Move or copy" : "Move or copy", + "Download" : "Download", + "Delete" : "Delete", "Home" : "Home", "Close" : "Close", "Favorites" : "Favourites", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Target folder does not exist any more", "Error when assembling chunks, status code {status}" : "Error when assembling chunks, status code {status}", "Actions" : "Actions", - "Download" : "Download", "Rename" : "Rename", - "Move or copy" : "Move or copy", "Copy" : "Copy", "Target folder" : "Target folder", - "Delete" : "Delete", "Disconnect storage" : "Disconnect storage", "Unshare" : "Unshare", "Could not load info for file \"{file}\"" : "Could not load info for file \"{file}\"", diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json index e904ea05d39..4d73b303d27 100644 --- a/apps/files/l10n/en_GB.json +++ b/apps/files/l10n/en_GB.json @@ -5,6 +5,9 @@ "All files" : "All files", "Recent" : "Recent", "File could not be found" : "File could not be found", + "Move or copy" : "Move or copy", + "Download" : "Download", + "Delete" : "Delete", "Home" : "Home", "Close" : "Close", "Favorites" : "Favourites", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Target folder does not exist any more", "Error when assembling chunks, status code {status}" : "Error when assembling chunks, status code {status}", "Actions" : "Actions", - "Download" : "Download", "Rename" : "Rename", - "Move or copy" : "Move or copy", "Copy" : "Copy", "Target folder" : "Target folder", - "Delete" : "Delete", "Disconnect storage" : "Disconnect storage", "Unshare" : "Unshare", "Could not load info for file \"{file}\"" : "Could not load info for file \"{file}\"", diff --git a/apps/files/l10n/eo.js b/apps/files/l10n/eo.js index 06308ca2514..03ab3521017 100644 --- a/apps/files/l10n/eo.js +++ b/apps/files/l10n/eo.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Ĉiuj dosieroj", "Recent" : "Lastatempe", "File could not be found" : "Ne troveblas dosiero", + "Move or copy" : "Movi aŭ kopii", + "Download" : "Elŝuti", + "Delete" : "Forigi", "Home" : "Hejmo", "Close" : "Fermi", "Favorites" : "Favoratoj", @@ -15,12 +18,13 @@ OC.L10N.register( "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne povis alŝutiĝi {filename} ĉar ĝi estas dosierujo aŭ ĝi havas 0 duumokojn", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ne sufiĉas libera spaco: vi alŝutas {size1} sed nur {size2} restas", "Not enough free space" : "Ne sufiĉas libera spaco", + "Uploading …" : "Alŝutante ...", + "…" : "… ", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} el {totalSize} ({bitrate})", "Actions" : "Agoj", - "Download" : "Elŝuti", "Rename" : "Alinomigi", + "Copy" : "Kopii", "Target folder" : "Cela dosiero", - "Delete" : "Forigi", "Disconnect storage" : "Malkonekti memoron", "Unshare" : "Malkunhavigi", "Could not load info for file \"{file}\"" : "Ne ŝarĝiblas informo por dosiero \"{file}\"", @@ -33,6 +37,7 @@ OC.L10N.register( "This directory is unavailable, please check the logs or contact the administrator" : "Ĉi tiu dosierujo maldisponeblas, bonvolu kontroli la protokolojn aŭ kontakti la administranton", "Could not move \"{file}\", target exists" : "Ne eblas movi “{file}”-n, celo jam ekzistas", "Could not move \"{file}\"" : "Ne eblas movi “{file}”-n", + "Could not copy \"{file}\"" : "Ne eblas kopii “{file}”-n", "{newName} already exists" : "{newName} jam ekzistas", "Could not rename \"{fileName}\", it does not exist any more" : "Ne ebls alinomigi “{fileName}”, ĝi ne plu ekzistas", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "La nomo “{targetName}” jam uzatas en la dosierujo “{dir}”. Bonvolu elekti malsaman nomon.", @@ -59,11 +64,13 @@ OC.L10N.register( "Your storage is almost full ({usedSpacePercent}%)" : "Via memoro preskaŭ plenas ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["kongruas kun “{filter}”","kongruas kun “{filter}”"], "View in folder" : "Vidi en dosierujo", + "Copied!" : "Kopiinta!", "Path" : "Vojo", "_%n byte_::_%n bytes_" : ["%n duumoko","%n duumokoj"], "Favorited" : "Pliŝatataj", "Favorite" : "Favorato", "New folder" : "Nova dosierujo", + "Upload file" : "Alŝuti dosieron", "An error occurred while trying to update the tags" : "Eraris provo ĝisdatigi la etikedojn", "Created by {user}" : "Kreita de {user}", "Changed by {user}" : "Ŝanĝita de {user}", @@ -77,6 +84,7 @@ OC.L10N.register( "Missing permissions to edit from here." : "Mankas permesoj por redakti ekde ĉi tie.", "Settings" : "Agordo", "WebDAV" : "WebDAV", + "Cancel upload" : "Nuligi alŝuton", "No files in here" : "Neniu dosiero estas ĉi tie", "Upload some content or sync with your devices!" : "Alŝutu iom da enhavo aŭ sinkronigu kun viaj aparatoj!", "No entries found in this folder" : "Neniu enigo troviĝis en ĉi tiu dosierujo", @@ -84,7 +92,13 @@ OC.L10N.register( "Upload too large" : "Alŝuto tro larĝa", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "La dosieroj, kiujn vi provas alŝuti, transpasas la maksimuman grandon por dosieralŝutoj en ĉi tiu servilo.", "Files and folders you mark as favorite will show up here" : "Dosieroj kaj dosierujoj, kiujn vi markas, kiel pliŝatoj, aperos ĉi tie", + "Shared with you" : "Kunhavata kun vi", + "Shared with others" : "Kunhavata kun aliaj", + "Shared by link" : "Kunhavata per ligilo", + "Tags" : "Etikedoj", + "Deleted files" : "Forigitaj dosieroj", "Text file" : "Tekstodosiero", - "New text file.txt" : "Nova tekstodosiero.txt" + "New text file.txt" : "Nova tekstodosiero.txt", + "Move" : "Movi" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/eo.json b/apps/files/l10n/eo.json index 89284a34b87..60103702b4a 100644 --- a/apps/files/l10n/eo.json +++ b/apps/files/l10n/eo.json @@ -5,6 +5,9 @@ "All files" : "Ĉiuj dosieroj", "Recent" : "Lastatempe", "File could not be found" : "Ne troveblas dosiero", + "Move or copy" : "Movi aŭ kopii", + "Download" : "Elŝuti", + "Delete" : "Forigi", "Home" : "Hejmo", "Close" : "Fermi", "Favorites" : "Favoratoj", @@ -13,12 +16,13 @@ "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne povis alŝutiĝi {filename} ĉar ĝi estas dosierujo aŭ ĝi havas 0 duumokojn", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ne sufiĉas libera spaco: vi alŝutas {size1} sed nur {size2} restas", "Not enough free space" : "Ne sufiĉas libera spaco", + "Uploading …" : "Alŝutante ...", + "…" : "… ", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} el {totalSize} ({bitrate})", "Actions" : "Agoj", - "Download" : "Elŝuti", "Rename" : "Alinomigi", + "Copy" : "Kopii", "Target folder" : "Cela dosiero", - "Delete" : "Forigi", "Disconnect storage" : "Malkonekti memoron", "Unshare" : "Malkunhavigi", "Could not load info for file \"{file}\"" : "Ne ŝarĝiblas informo por dosiero \"{file}\"", @@ -31,6 +35,7 @@ "This directory is unavailable, please check the logs or contact the administrator" : "Ĉi tiu dosierujo maldisponeblas, bonvolu kontroli la protokolojn aŭ kontakti la administranton", "Could not move \"{file}\", target exists" : "Ne eblas movi “{file}”-n, celo jam ekzistas", "Could not move \"{file}\"" : "Ne eblas movi “{file}”-n", + "Could not copy \"{file}\"" : "Ne eblas kopii “{file}”-n", "{newName} already exists" : "{newName} jam ekzistas", "Could not rename \"{fileName}\", it does not exist any more" : "Ne ebls alinomigi “{fileName}”, ĝi ne plu ekzistas", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "La nomo “{targetName}” jam uzatas en la dosierujo “{dir}”. Bonvolu elekti malsaman nomon.", @@ -57,11 +62,13 @@ "Your storage is almost full ({usedSpacePercent}%)" : "Via memoro preskaŭ plenas ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["kongruas kun “{filter}”","kongruas kun “{filter}”"], "View in folder" : "Vidi en dosierujo", + "Copied!" : "Kopiinta!", "Path" : "Vojo", "_%n byte_::_%n bytes_" : ["%n duumoko","%n duumokoj"], "Favorited" : "Pliŝatataj", "Favorite" : "Favorato", "New folder" : "Nova dosierujo", + "Upload file" : "Alŝuti dosieron", "An error occurred while trying to update the tags" : "Eraris provo ĝisdatigi la etikedojn", "Created by {user}" : "Kreita de {user}", "Changed by {user}" : "Ŝanĝita de {user}", @@ -75,6 +82,7 @@ "Missing permissions to edit from here." : "Mankas permesoj por redakti ekde ĉi tie.", "Settings" : "Agordo", "WebDAV" : "WebDAV", + "Cancel upload" : "Nuligi alŝuton", "No files in here" : "Neniu dosiero estas ĉi tie", "Upload some content or sync with your devices!" : "Alŝutu iom da enhavo aŭ sinkronigu kun viaj aparatoj!", "No entries found in this folder" : "Neniu enigo troviĝis en ĉi tiu dosierujo", @@ -82,7 +90,13 @@ "Upload too large" : "Alŝuto tro larĝa", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "La dosieroj, kiujn vi provas alŝuti, transpasas la maksimuman grandon por dosieralŝutoj en ĉi tiu servilo.", "Files and folders you mark as favorite will show up here" : "Dosieroj kaj dosierujoj, kiujn vi markas, kiel pliŝatoj, aperos ĉi tie", + "Shared with you" : "Kunhavata kun vi", + "Shared with others" : "Kunhavata kun aliaj", + "Shared by link" : "Kunhavata per ligilo", + "Tags" : "Etikedoj", + "Deleted files" : "Forigitaj dosieroj", "Text file" : "Tekstodosiero", - "New text file.txt" : "Nova tekstodosiero.txt" + "New text file.txt" : "Nova tekstodosiero.txt", + "Move" : "Movi" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js index 87702961c0e..f90f12f75d7 100644 --- a/apps/files/l10n/es.js +++ b/apps/files/l10n/es.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "El archivo no se ha encontrado", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Eliminar", "Home" : "Particular", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -19,15 +22,13 @@ OC.L10N.register( "Uploading …" : "Subiendo...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", + "Uploading that item is not supported" : "Subir ese objeto no está soportado", "Target folder does not exist any more" : "La carpeta destino yano existe", "Error when assembling chunks, status code {status}" : "Error al reunir las partes, código de estado {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Directorio destino", - "Delete" : "Eliminar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No se ha podido cargar información para el archivo \"{file}\"", @@ -126,6 +127,7 @@ OC.L10N.register( "A file or folder has been <strong>restored</strong>" : "Un archivo o carpeta ha sido <strong>restaurado</strong>", "Unlimited" : "Ilimitado", "Upload (max. %s)" : "Subida (máx. %s)", + "File Management" : "Manejo de archivos", "File handling" : "Administración de archivos", "Maximum upload size" : "Tamaño máximo de subida", "max. possible: " : "máx. posible:", diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json index aa5d8852326..1f3f8099b70 100644 --- a/apps/files/l10n/es.json +++ b/apps/files/l10n/es.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "El archivo no se ha encontrado", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Eliminar", "Home" : "Particular", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -17,15 +20,13 @@ "Uploading …" : "Subiendo...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", + "Uploading that item is not supported" : "Subir ese objeto no está soportado", "Target folder does not exist any more" : "La carpeta destino yano existe", "Error when assembling chunks, status code {status}" : "Error al reunir las partes, código de estado {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Directorio destino", - "Delete" : "Eliminar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No se ha podido cargar información para el archivo \"{file}\"", @@ -124,6 +125,7 @@ "A file or folder has been <strong>restored</strong>" : "Un archivo o carpeta ha sido <strong>restaurado</strong>", "Unlimited" : "Ilimitado", "Upload (max. %s)" : "Subida (máx. %s)", + "File Management" : "Manejo de archivos", "File handling" : "Administración de archivos", "Maximum upload size" : "Tamaño máximo de subida", "max. possible: " : "máx. posible:", diff --git a/apps/files/l10n/es_419.js b/apps/files/l10n/es_419.js index 5eb28fca10f..a8e77150ed9 100644 --- a/apps/files/l10n/es_419.js +++ b/apps/files/l10n/es_419.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_419.json b/apps/files/l10n/es_419.json index beb3c150b4a..532fe0c3248 100644 --- a/apps/files/l10n/es_419.json +++ b/apps/files/l10n/es_419.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_AR.js b/apps/files/l10n/es_AR.js index 344dd869687..84257d1185b 100644 --- a/apps/files/l10n/es_AR.js +++ b/apps/files/l10n/es_AR.js @@ -7,6 +7,8 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -18,10 +20,8 @@ OC.L10N.register( "Not enough free space" : "No cuenta con suficiente espacio disponible", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_AR.json b/apps/files/l10n/es_AR.json index 3edd9185bb4..343f0795111 100644 --- a/apps/files/l10n/es_AR.json +++ b/apps/files/l10n/es_AR.json @@ -5,6 +5,8 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -16,10 +18,8 @@ "Not enough free space" : "No cuenta con suficiente espacio disponible", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_CL.js b/apps/files/l10n/es_CL.js index f15bba87a56..7ac454f14a4 100644 --- a/apps/files/l10n/es_CL.js +++ b/apps/files/l10n/es_CL.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_CL.json b/apps/files/l10n/es_CL.json index fab15d75a3f..c233191bc80 100644 --- a/apps/files/l10n/es_CL.json +++ b/apps/files/l10n/es_CL.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_CO.js b/apps/files/l10n/es_CO.js index f15bba87a56..7ac454f14a4 100644 --- a/apps/files/l10n/es_CO.js +++ b/apps/files/l10n/es_CO.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_CO.json b/apps/files/l10n/es_CO.json index fab15d75a3f..c233191bc80 100644 --- a/apps/files/l10n/es_CO.json +++ b/apps/files/l10n/es_CO.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_CR.js b/apps/files/l10n/es_CR.js index f15bba87a56..7ac454f14a4 100644 --- a/apps/files/l10n/es_CR.js +++ b/apps/files/l10n/es_CR.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_CR.json b/apps/files/l10n/es_CR.json index fab15d75a3f..c233191bc80 100644 --- a/apps/files/l10n/es_CR.json +++ b/apps/files/l10n/es_CR.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_DO.js b/apps/files/l10n/es_DO.js index f15bba87a56..7ac454f14a4 100644 --- a/apps/files/l10n/es_DO.js +++ b/apps/files/l10n/es_DO.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_DO.json b/apps/files/l10n/es_DO.json index fab15d75a3f..c233191bc80 100644 --- a/apps/files/l10n/es_DO.json +++ b/apps/files/l10n/es_DO.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_EC.js b/apps/files/l10n/es_EC.js index f15bba87a56..7ac454f14a4 100644 --- a/apps/files/l10n/es_EC.js +++ b/apps/files/l10n/es_EC.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_EC.json b/apps/files/l10n/es_EC.json index fab15d75a3f..c233191bc80 100644 --- a/apps/files/l10n/es_EC.json +++ b/apps/files/l10n/es_EC.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_GT.js b/apps/files/l10n/es_GT.js index f15bba87a56..7ac454f14a4 100644 --- a/apps/files/l10n/es_GT.js +++ b/apps/files/l10n/es_GT.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_GT.json b/apps/files/l10n/es_GT.json index fab15d75a3f..c233191bc80 100644 --- a/apps/files/l10n/es_GT.json +++ b/apps/files/l10n/es_GT.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_HN.js b/apps/files/l10n/es_HN.js index 5eb28fca10f..a8e77150ed9 100644 --- a/apps/files/l10n/es_HN.js +++ b/apps/files/l10n/es_HN.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_HN.json b/apps/files/l10n/es_HN.json index beb3c150b4a..532fe0c3248 100644 --- a/apps/files/l10n/es_HN.json +++ b/apps/files/l10n/es_HN.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js index 1c3c4806abc..f9d1fdd6501 100644 --- a/apps/files/l10n/es_MX.js +++ b/apps/files/l10n/es_MX.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json index 3bb22298214..8649b36654a 100644 --- a/apps/files/l10n/es_MX.json +++ b/apps/files/l10n/es_MX.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_NI.js b/apps/files/l10n/es_NI.js index 5eb28fca10f..a8e77150ed9 100644 --- a/apps/files/l10n/es_NI.js +++ b/apps/files/l10n/es_NI.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_NI.json b/apps/files/l10n/es_NI.json index beb3c150b4a..532fe0c3248 100644 --- a/apps/files/l10n/es_NI.json +++ b/apps/files/l10n/es_NI.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_PA.js b/apps/files/l10n/es_PA.js index 5eb28fca10f..a8e77150ed9 100644 --- a/apps/files/l10n/es_PA.js +++ b/apps/files/l10n/es_PA.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_PA.json b/apps/files/l10n/es_PA.json index beb3c150b4a..532fe0c3248 100644 --- a/apps/files/l10n/es_PA.json +++ b/apps/files/l10n/es_PA.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_PE.js b/apps/files/l10n/es_PE.js index 5eb28fca10f..a8e77150ed9 100644 --- a/apps/files/l10n/es_PE.js +++ b/apps/files/l10n/es_PE.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_PE.json b/apps/files/l10n/es_PE.json index beb3c150b4a..532fe0c3248 100644 --- a/apps/files/l10n/es_PE.json +++ b/apps/files/l10n/es_PE.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_PR.js b/apps/files/l10n/es_PR.js index 5eb28fca10f..a8e77150ed9 100644 --- a/apps/files/l10n/es_PR.js +++ b/apps/files/l10n/es_PR.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_PR.json b/apps/files/l10n/es_PR.json index beb3c150b4a..532fe0c3248 100644 --- a/apps/files/l10n/es_PR.json +++ b/apps/files/l10n/es_PR.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_PY.js b/apps/files/l10n/es_PY.js index 5eb28fca10f..a8e77150ed9 100644 --- a/apps/files/l10n/es_PY.js +++ b/apps/files/l10n/es_PY.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_PY.json b/apps/files/l10n/es_PY.json index beb3c150b4a..532fe0c3248 100644 --- a/apps/files/l10n/es_PY.json +++ b/apps/files/l10n/es_PY.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_SV.js b/apps/files/l10n/es_SV.js index f15bba87a56..7ac454f14a4 100644 --- a/apps/files/l10n/es_SV.js +++ b/apps/files/l10n/es_SV.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_SV.json b/apps/files/l10n/es_SV.json index fab15d75a3f..c233191bc80 100644 --- a/apps/files/l10n/es_SV.json +++ b/apps/files/l10n/es_SV.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Copy" : "Copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_UY.js b/apps/files/l10n/es_UY.js index 5eb28fca10f..a8e77150ed9 100644 --- a/apps/files/l10n/es_UY.js +++ b/apps/files/l10n/es_UY.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/es_UY.json b/apps/files/l10n/es_UY.json index beb3c150b4a..532fe0c3248 100644 --- a/apps/files/l10n/es_UY.json +++ b/apps/files/l10n/es_UY.json @@ -5,6 +5,9 @@ "All files" : "Todos los archivos", "Recent" : "Reciente", "File could not be found" : "No fue posible encontrar el archivo", + "Move or copy" : "Mover o copiar", + "Download" : "Descargar", + "Delete" : "Borrar", "Home" : "Inicio", "Close" : "Cerrar", "Favorites" : "Favoritos", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "La carpeta destino ya no existe", "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}", "Actions" : "Acciones", - "Download" : "Descargar", "Rename" : "Renombrar", - "Move or copy" : "Mover o copiar", "Target folder" : "Carpeta destino", - "Delete" : "Borrar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"", diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js index 6c9aba3771f..c5a39e75343 100644 --- a/apps/files/l10n/et_EE.js +++ b/apps/files/l10n/et_EE.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Kõik failid", "Recent" : "Hiljutised", "File could not be found" : "Faili ei leitud", + "Move or copy" : "Liiguta või kopeeri", + "Download" : "Lae alla", + "Delete" : "Kustuta", "Home" : "Kodu", "Close" : "Sulge", "Favorites" : "Lemmikud", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "Sihtkataloogi pole enam olemas", "Error when assembling chunks, status code {status}" : "Tükkide kokkupanemise viga, staatus kood {status}", "Actions" : "Tegevused", - "Download" : "Lae alla", "Rename" : "Nimeta ümber", - "Move or copy" : "Liiguta või kopeeri", "Target folder" : "Sihtkaust", - "Delete" : "Kustuta", "Disconnect storage" : "Ühenda andmehoidla lahti.", "Unshare" : "Lõpeta jagamine", "Could not load info for file \"{file}\"" : "Faili \"{file}\" info laadimine ebaõnnestus", diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json index 4df100f9d11..d2d516d1e1b 100644 --- a/apps/files/l10n/et_EE.json +++ b/apps/files/l10n/et_EE.json @@ -5,6 +5,9 @@ "All files" : "Kõik failid", "Recent" : "Hiljutised", "File could not be found" : "Faili ei leitud", + "Move or copy" : "Liiguta või kopeeri", + "Download" : "Lae alla", + "Delete" : "Kustuta", "Home" : "Kodu", "Close" : "Sulge", "Favorites" : "Lemmikud", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "Sihtkataloogi pole enam olemas", "Error when assembling chunks, status code {status}" : "Tükkide kokkupanemise viga, staatus kood {status}", "Actions" : "Tegevused", - "Download" : "Lae alla", "Rename" : "Nimeta ümber", - "Move or copy" : "Liiguta või kopeeri", "Target folder" : "Sihtkaust", - "Delete" : "Kustuta", "Disconnect storage" : "Ühenda andmehoidla lahti.", "Unshare" : "Lõpeta jagamine", "Could not load info for file \"{file}\"" : "Faili \"{file}\" info laadimine ebaõnnestus", diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js index c429112d746..ff28599cefd 100644 --- a/apps/files/l10n/eu.js +++ b/apps/files/l10n/eu.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Fitxategi guztiak", "Recent" : "Duela gutxi", "File could not be found" : "Fitxategia ezin izan da aurkitu", + "Move or copy" : "Mugitu edo kopiatu", + "Download" : "Deskargatu", + "Delete" : "Ezabatu", "Home" : "Etxekoa", "Close" : "Itxi", "Favorites" : "Gogokoak", @@ -20,11 +23,8 @@ OC.L10N.register( "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} of {totalSize} ({bitrate})", "Actions" : "Ekintzak", - "Download" : "Deskargatu", "Rename" : "Berrizendatu", - "Move or copy" : "Mugitu edo kopiatu", "Target folder" : "Xede karpeta", - "Delete" : "Ezabatu", "Disconnect storage" : "Deskonektatu biltegia", "Unshare" : "Ez elkarbanatu", "Could not load info for file \"{file}\"" : "Ezin izan da \"{file}\" fitxategiaren informazioa kargatu", diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json index 2a25620c455..98b006a60cd 100644 --- a/apps/files/l10n/eu.json +++ b/apps/files/l10n/eu.json @@ -5,6 +5,9 @@ "All files" : "Fitxategi guztiak", "Recent" : "Duela gutxi", "File could not be found" : "Fitxategia ezin izan da aurkitu", + "Move or copy" : "Mugitu edo kopiatu", + "Download" : "Deskargatu", + "Delete" : "Ezabatu", "Home" : "Etxekoa", "Close" : "Itxi", "Favorites" : "Gogokoak", @@ -18,11 +21,8 @@ "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} of {totalSize} ({bitrate})", "Actions" : "Ekintzak", - "Download" : "Deskargatu", "Rename" : "Berrizendatu", - "Move or copy" : "Mugitu edo kopiatu", "Target folder" : "Xede karpeta", - "Delete" : "Ezabatu", "Disconnect storage" : "Deskonektatu biltegia", "Unshare" : "Ez elkarbanatu", "Could not load info for file \"{file}\"" : "Ezin izan da \"{file}\" fitxategiaren informazioa kargatu", diff --git a/apps/files/l10n/fi.js b/apps/files/l10n/fi.js index 4ce2dd425d5..c81506c60ae 100644 --- a/apps/files/l10n/fi.js +++ b/apps/files/l10n/fi.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Kaikki tiedostot", "Recent" : "Viimeaikaiset", "File could not be found" : "Tiedostoa ei löytynyt", + "Move or copy" : "Siirrä tai kopioi", + "Download" : "Lataa", + "Delete" : "Poista", "Home" : "Koti", "Close" : "Sulje", "Favorites" : "Suosikit", @@ -21,12 +24,9 @@ OC.L10N.register( "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{totalSize} ({bitrate})", "Target folder does not exist any more" : "Kohdekansiota ei ole enää olemassa", "Actions" : "Toiminnot", - "Download" : "Lataa", "Rename" : "Nimeä uudelleen", - "Move or copy" : "Siirrä tai kopioi", "Copy" : "Kopioi", "Target folder" : "Kohdekansio", - "Delete" : "Poista", "Disconnect storage" : "Katkaise yhteys tallennustilaan", "Unshare" : "Peru jakaminen", "Could not load info for file \"{file}\"" : "Ei voida ladata tiedoston \"{file}\" tietoja", diff --git a/apps/files/l10n/fi.json b/apps/files/l10n/fi.json index be9c380da79..f9d4852d282 100644 --- a/apps/files/l10n/fi.json +++ b/apps/files/l10n/fi.json @@ -5,6 +5,9 @@ "All files" : "Kaikki tiedostot", "Recent" : "Viimeaikaiset", "File could not be found" : "Tiedostoa ei löytynyt", + "Move or copy" : "Siirrä tai kopioi", + "Download" : "Lataa", + "Delete" : "Poista", "Home" : "Koti", "Close" : "Sulje", "Favorites" : "Suosikit", @@ -19,12 +22,9 @@ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{totalSize} ({bitrate})", "Target folder does not exist any more" : "Kohdekansiota ei ole enää olemassa", "Actions" : "Toiminnot", - "Download" : "Lataa", "Rename" : "Nimeä uudelleen", - "Move or copy" : "Siirrä tai kopioi", "Copy" : "Kopioi", "Target folder" : "Kohdekansio", - "Delete" : "Poista", "Disconnect storage" : "Katkaise yhteys tallennustilaan", "Unshare" : "Peru jakaminen", "Could not load info for file \"{file}\"" : "Ei voida ladata tiedoston \"{file}\" tietoja", diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js index b1a7b4a7431..e136b828d7d 100644 --- a/apps/files/l10n/fr.js +++ b/apps/files/l10n/fr.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Tous les fichiers", "Recent" : "Récent", "File could not be found" : "Fichier introuvable", + "Move or copy" : "Déplacer ou copier", + "Download" : "Télécharger", + "Delete" : "Supprimer", "Home" : "Mes fichiers", "Close" : "Fermer", "Favorites" : "Favoris", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Le dossier cible n'existe plus", "Error when assembling chunks, status code {status}" : "Erreur lors de l'assemblage des blocs, code d'état {status}", "Actions" : "Actions", - "Download" : "Télécharger", "Rename" : "Renommer", - "Move or copy" : "Déplacer ou copier", "Copy" : "Copier", "Target folder" : "Dossier cible", - "Delete" : "Supprimer", "Disconnect storage" : "Déconnecter ce support de stockage", "Unshare" : "Ne plus partager", "Could not load info for file \"{file}\"" : "Impossible de charger les informations du fichier \"{file}\"", diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json index 9072989afd3..3050989b9bd 100644 --- a/apps/files/l10n/fr.json +++ b/apps/files/l10n/fr.json @@ -5,6 +5,9 @@ "All files" : "Tous les fichiers", "Recent" : "Récent", "File could not be found" : "Fichier introuvable", + "Move or copy" : "Déplacer ou copier", + "Download" : "Télécharger", + "Delete" : "Supprimer", "Home" : "Mes fichiers", "Close" : "Fermer", "Favorites" : "Favoris", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Le dossier cible n'existe plus", "Error when assembling chunks, status code {status}" : "Erreur lors de l'assemblage des blocs, code d'état {status}", "Actions" : "Actions", - "Download" : "Télécharger", "Rename" : "Renommer", - "Move or copy" : "Déplacer ou copier", "Copy" : "Copier", "Target folder" : "Dossier cible", - "Delete" : "Supprimer", "Disconnect storage" : "Déconnecter ce support de stockage", "Unshare" : "Ne plus partager", "Could not load info for file \"{file}\"" : "Impossible de charger les informations du fichier \"{file}\"", diff --git a/apps/files/l10n/he.js b/apps/files/l10n/he.js index 207e9f5de92..007bcb570e3 100644 --- a/apps/files/l10n/he.js +++ b/apps/files/l10n/he.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "כל הקבצים", "Recent" : "אחרונים", "File could not be found" : "הקובץ לא ניתן לאיתור", + "Move or copy" : "העברה או העתקה", + "Download" : "הורדה", + "Delete" : "מחיקה", "Home" : "בית", "Close" : "סגירה", "Favorites" : "מועדפים", @@ -19,15 +22,13 @@ OC.L10N.register( "Uploading …" : "מתבצעת העלאה…", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} מתוך {totalSize} ({bitrate})", + "Uploading that item is not supported" : "העלאת הפריט הזה אינה נתמכת", "Target folder does not exist any more" : "תיקיית היעד אינה קיימת עוד", "Error when assembling chunks, status code {status}" : "שגיאה באיסוף הנתחים, קוד המצב {status}", "Actions" : "פעולות", - "Download" : "הורדה", "Rename" : "שינוי שם", - "Move or copy" : "העברה או העתקה", "Copy" : "העתקה", "Target folder" : "תיקיית יעד", - "Delete" : "מחיקה", "Disconnect storage" : "ניתוק אחסון", "Unshare" : "הסר שיתוף", "Could not load info for file \"{file}\"" : "לא ניתן לטעון מידע על הקובץ „{file}”", diff --git a/apps/files/l10n/he.json b/apps/files/l10n/he.json index 0eac65425e2..3af6d0e8e9e 100644 --- a/apps/files/l10n/he.json +++ b/apps/files/l10n/he.json @@ -5,6 +5,9 @@ "All files" : "כל הקבצים", "Recent" : "אחרונים", "File could not be found" : "הקובץ לא ניתן לאיתור", + "Move or copy" : "העברה או העתקה", + "Download" : "הורדה", + "Delete" : "מחיקה", "Home" : "בית", "Close" : "סגירה", "Favorites" : "מועדפים", @@ -17,15 +20,13 @@ "Uploading …" : "מתבצעת העלאה…", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} מתוך {totalSize} ({bitrate})", + "Uploading that item is not supported" : "העלאת הפריט הזה אינה נתמכת", "Target folder does not exist any more" : "תיקיית היעד אינה קיימת עוד", "Error when assembling chunks, status code {status}" : "שגיאה באיסוף הנתחים, קוד המצב {status}", "Actions" : "פעולות", - "Download" : "הורדה", "Rename" : "שינוי שם", - "Move or copy" : "העברה או העתקה", "Copy" : "העתקה", "Target folder" : "תיקיית יעד", - "Delete" : "מחיקה", "Disconnect storage" : "ניתוק אחסון", "Unshare" : "הסר שיתוף", "Could not load info for file \"{file}\"" : "לא ניתן לטעון מידע על הקובץ „{file}”", diff --git a/apps/files/l10n/hu.js b/apps/files/l10n/hu.js index 2381d89c32a..1de60574db3 100644 --- a/apps/files/l10n/hu.js +++ b/apps/files/l10n/hu.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Az összes fájl", "Recent" : "Legutóbbi", "File could not be found" : "Fájl nem található", + "Move or copy" : "Mozgatás vagy másolás", + "Download" : "Letöltés", + "Delete" : "Törlés", "Home" : "Saját mappa", "Close" : "Bezárás", "Favorites" : "Kedvencek", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "A célmappa már nem létezik", "Error when assembling chunks, status code {status}" : "Hiba a darabok összerakásakor, Állapotkód {status}", "Actions" : "Műveletek", - "Download" : "Letöltés", "Rename" : "Átnevezés", - "Move or copy" : "Mozgatás vagy másolás", "Copy" : "Másol", "Target folder" : "Cél mappa", - "Delete" : "Törlés", "Disconnect storage" : "Tároló leválasztása", "Unshare" : "A megosztás visszavonása", "Could not load info for file \"{file}\"" : "Nem sikerült betölteni az információs fájl ehhez: \"{file}\"", diff --git a/apps/files/l10n/hu.json b/apps/files/l10n/hu.json index fd6f59c82a0..b32bb2987e2 100644 --- a/apps/files/l10n/hu.json +++ b/apps/files/l10n/hu.json @@ -5,6 +5,9 @@ "All files" : "Az összes fájl", "Recent" : "Legutóbbi", "File could not be found" : "Fájl nem található", + "Move or copy" : "Mozgatás vagy másolás", + "Download" : "Letöltés", + "Delete" : "Törlés", "Home" : "Saját mappa", "Close" : "Bezárás", "Favorites" : "Kedvencek", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "A célmappa már nem létezik", "Error when assembling chunks, status code {status}" : "Hiba a darabok összerakásakor, Állapotkód {status}", "Actions" : "Műveletek", - "Download" : "Letöltés", "Rename" : "Átnevezés", - "Move or copy" : "Mozgatás vagy másolás", "Copy" : "Másol", "Target folder" : "Cél mappa", - "Delete" : "Törlés", "Disconnect storage" : "Tároló leválasztása", "Unshare" : "A megosztás visszavonása", "Could not load info for file \"{file}\"" : "Nem sikerült betölteni az információs fájl ehhez: \"{file}\"", diff --git a/apps/files/l10n/ia.js b/apps/files/l10n/ia.js index f8cdea50dd5..737eb904372 100644 --- a/apps/files/l10n/ia.js +++ b/apps/files/l10n/ia.js @@ -7,6 +7,8 @@ OC.L10N.register( "All files" : "Tote files", "Recent" : "Recente", "File could not be found" : "Impossibile trovar le file", + "Download" : "Discargar", + "Delete" : "Deler", "Home" : "Initio", "Close" : "Clauder", "Favorites" : "Favoritos", @@ -18,10 +20,8 @@ OC.L10N.register( "Not enough free space" : "Il non ha satis de spatio libere", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Actions" : "Actiones", - "Download" : "Discargar", "Rename" : "Renominar", "Target folder" : "Dossier de destination", - "Delete" : "Deler", "Disconnect storage" : "Immagazinage disconnectite ", "Unshare" : "Leva sin compartir", "Could not load info for file \"{file}\"" : "Impossibile cargar informationes pro file \"{file}\"", diff --git a/apps/files/l10n/ia.json b/apps/files/l10n/ia.json index 5e9577a202e..245db11f8e2 100644 --- a/apps/files/l10n/ia.json +++ b/apps/files/l10n/ia.json @@ -5,6 +5,8 @@ "All files" : "Tote files", "Recent" : "Recente", "File could not be found" : "Impossibile trovar le file", + "Download" : "Discargar", + "Delete" : "Deler", "Home" : "Initio", "Close" : "Clauder", "Favorites" : "Favoritos", @@ -16,10 +18,8 @@ "Not enough free space" : "Il non ha satis de spatio libere", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Actions" : "Actiones", - "Download" : "Discargar", "Rename" : "Renominar", "Target folder" : "Dossier de destination", - "Delete" : "Deler", "Disconnect storage" : "Immagazinage disconnectite ", "Unshare" : "Leva sin compartir", "Could not load info for file \"{file}\"" : "Impossibile cargar informationes pro file \"{file}\"", diff --git a/apps/files/l10n/id.js b/apps/files/l10n/id.js index 84c3fd8eff4..79db98dff7c 100644 --- a/apps/files/l10n/id.js +++ b/apps/files/l10n/id.js @@ -6,6 +6,8 @@ OC.L10N.register( "All files" : "Semua berkas", "Recent" : "Terbaru", "File could not be found" : "Berkas tidak ditemukan", + "Download" : "Unduh", + "Delete" : "Hapus", "Home" : "Rumah", "Close" : "Tutup", "Favorites" : "Favorit", @@ -15,9 +17,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ruang bebas tidak mencukupi, Anda mengunggah {size1} tetapi hanya {size2} yang tersisa", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} dari {totalSize} ({bitrate})", "Actions" : "Tindakan", - "Download" : "Unduh", "Rename" : "Ubah nama", - "Delete" : "Hapus", "Disconnect storage" : "Memutuskan penyimpaan", "Unshare" : "Batalkan berbagi", "Files" : "Berkas", diff --git a/apps/files/l10n/id.json b/apps/files/l10n/id.json index 9a70bca0741..b6c676042db 100644 --- a/apps/files/l10n/id.json +++ b/apps/files/l10n/id.json @@ -4,6 +4,8 @@ "All files" : "Semua berkas", "Recent" : "Terbaru", "File could not be found" : "Berkas tidak ditemukan", + "Download" : "Unduh", + "Delete" : "Hapus", "Home" : "Rumah", "Close" : "Tutup", "Favorites" : "Favorit", @@ -13,9 +15,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ruang bebas tidak mencukupi, Anda mengunggah {size1} tetapi hanya {size2} yang tersisa", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} dari {totalSize} ({bitrate})", "Actions" : "Tindakan", - "Download" : "Unduh", "Rename" : "Ubah nama", - "Delete" : "Hapus", "Disconnect storage" : "Memutuskan penyimpaan", "Unshare" : "Batalkan berbagi", "Files" : "Berkas", diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js index c46d0f06c20..2a9104f8399 100644 --- a/apps/files/l10n/is.js +++ b/apps/files/l10n/is.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Allar skrár", "Recent" : "Nýlegt", "File could not be found" : "Skrá finnst ekki", + "Move or copy" : "Færa eða afrita", + "Download" : "Niðurhal", + "Delete" : "Eyða", "Home" : "Heim", "Close" : "Loka", "Favorites" : "Eftirlæti", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Markmappan er ekki lengur til", "Error when assembling chunks, status code {status}" : "Villa við að setja búta saman, stöðukóði {status}", "Actions" : "Aðgerðir", - "Download" : "Niðurhal", "Rename" : "Endurnefna", - "Move or copy" : "Færa eða afrita", "Copy" : "Afrita", "Target folder" : "Markmappa", - "Delete" : "Eyða", "Disconnect storage" : "Aftengja geymslu", "Unshare" : "Hætta deilingu", "Could not load info for file \"{file}\"" : "Gat ekki lesið upplýsingar um skrána \"{file}\"", diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json index f86ed9edf79..57d3fd1978a 100644 --- a/apps/files/l10n/is.json +++ b/apps/files/l10n/is.json @@ -5,6 +5,9 @@ "All files" : "Allar skrár", "Recent" : "Nýlegt", "File could not be found" : "Skrá finnst ekki", + "Move or copy" : "Færa eða afrita", + "Download" : "Niðurhal", + "Delete" : "Eyða", "Home" : "Heim", "Close" : "Loka", "Favorites" : "Eftirlæti", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Markmappan er ekki lengur til", "Error when assembling chunks, status code {status}" : "Villa við að setja búta saman, stöðukóði {status}", "Actions" : "Aðgerðir", - "Download" : "Niðurhal", "Rename" : "Endurnefna", - "Move or copy" : "Færa eða afrita", "Copy" : "Afrita", "Target folder" : "Markmappa", - "Delete" : "Eyða", "Disconnect storage" : "Aftengja geymslu", "Unshare" : "Hætta deilingu", "Could not load info for file \"{file}\"" : "Gat ekki lesið upplýsingar um skrána \"{file}\"", diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js index 37751f3569b..52f76b2ed0a 100644 --- a/apps/files/l10n/it.js +++ b/apps/files/l10n/it.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Tutti i file", "Recent" : "Recenti", "File could not be found" : "Il file non può essere trovato", + "Move or copy" : "Sposta o copia", + "Download" : "Scarica", + "Delete" : "Elimina", "Home" : "Home", "Close" : "Chiudi", "Favorites" : "Preferiti", @@ -23,12 +26,9 @@ OC.L10N.register( "Target folder does not exist any more" : "La cartella di destinazione non esiste più", "Error when assembling chunks, status code {status}" : "Errore durante l'assemblaggio dei blocchi, codice di stato {status}", "Actions" : "Azioni", - "Download" : "Scarica", "Rename" : "Rinomina", - "Move or copy" : "Sposta o copia", "Copy" : "Copia", "Target folder" : "Cartella di destinazione", - "Delete" : "Elimina", "Disconnect storage" : "Disconnetti archiviazione", "Unshare" : "Rimuovi condivisione", "Could not load info for file \"{file}\"" : "Impossibile caricare le informazioni per il file \"{file}\"", diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json index 6e2bc76e312..6d8b5ca31d3 100644 --- a/apps/files/l10n/it.json +++ b/apps/files/l10n/it.json @@ -5,6 +5,9 @@ "All files" : "Tutti i file", "Recent" : "Recenti", "File could not be found" : "Il file non può essere trovato", + "Move or copy" : "Sposta o copia", + "Download" : "Scarica", + "Delete" : "Elimina", "Home" : "Home", "Close" : "Chiudi", "Favorites" : "Preferiti", @@ -21,12 +24,9 @@ "Target folder does not exist any more" : "La cartella di destinazione non esiste più", "Error when assembling chunks, status code {status}" : "Errore durante l'assemblaggio dei blocchi, codice di stato {status}", "Actions" : "Azioni", - "Download" : "Scarica", "Rename" : "Rinomina", - "Move or copy" : "Sposta o copia", "Copy" : "Copia", "Target folder" : "Cartella di destinazione", - "Delete" : "Elimina", "Disconnect storage" : "Disconnetti archiviazione", "Unshare" : "Rimuovi condivisione", "Could not load info for file \"{file}\"" : "Impossibile caricare le informazioni per il file \"{file}\"", diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js index e7e754f5ead..6290a172a0b 100644 --- a/apps/files/l10n/ja.js +++ b/apps/files/l10n/ja.js @@ -7,12 +7,15 @@ OC.L10N.register( "All files" : "すべてのファイル", "Recent" : "最新", "File could not be found" : "ファイルを見つけられませんでした", + "Move or copy" : "移動またはコピー", + "Download" : "ダウンロード", + "Delete" : "削除", "Home" : "ホーム", "Close" : "閉じる", "Favorites" : "お気に入り", "Could not create folder \"{dir}\"" : "フォルダー \"{dir}\" を作成できませんでした", "Upload cancelled." : "アップロードはキャンセルされました。", - "Unable to upload {filename} as it is a directory or has 0 bytes" : "ディレクトリもしくは0バイトのため {filename} をアップロードできません", + "Unable to upload {filename} as it is a directory or has 0 bytes" : "ディレクトリであるか、または0バイトのため {filename} をアップロードできません", "Not enough free space, you are uploading {size1} but only {size2} is left" : "空き容量が十分でなく、 {size1} をアップロードしていますが、 {size2} しか残っていません。", "Target folder \"{dir}\" does not exist any more" : "対象フォルダー \"{dir}\" がもう存在しません", "Not enough free space" : "十分な空き容量がありません", @@ -21,11 +24,8 @@ OC.L10N.register( "{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中 {loadedSize} ({bitrate})", "Target folder does not exist any more" : "対象フォルダーがもう存在しません", "Actions" : "アクション", - "Download" : "ダウンロード", "Rename" : "名前の変更", - "Move or copy" : "移動またはコピー", "Target folder" : "対象フォルダー", - "Delete" : "削除", "Disconnect storage" : "ストレージを切断する", "Unshare" : "共有解除", "Could not load info for file \"{file}\"" : "\"{file}\" ファイルの情報を読み込めませんでした", @@ -45,8 +45,8 @@ OC.L10N.register( "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" はフォルダー \"{dir}\" ですでに使われています。別の名前を選択してください。", "Could not rename \"{fileName}\"" : "\"{fileName}\"の名前変更ができませんでした", "Could not create file \"{file}\"" : "ファイル \"{file}\" を作成できませんでした", - "Could not create file \"{file}\" because it already exists" : "ファイル \"{file}\"は既に存在するため作成できませんでした", - "Could not create folder \"{dir}\" because it already exists" : "フォルダー \"{dir}\" は既に存在するため作成できませんでした", + "Could not create file \"{file}\" because it already exists" : "ファイル \"{file}\"はすでに存在するため作成できません", + "Could not create folder \"{dir}\" because it already exists" : "フォルダー \"{dir}\" はすでに存在するため作成できません", "Error deleting file \"{fileName}\"." : "ファイル\"{fileName}\"の削除エラー。", "No search results in other folders for {tag}{filter}{endtag}" : "他のフォルダーに {tag}{filter}{endtag} の検索結果はありません", "Name" : "名前", @@ -56,7 +56,7 @@ OC.L10N.register( "_%n file_::_%n files_" : ["%n 個のファイル"], "{dirs} and {files}" : "{dirs} と {files}", "_including %n hidden_::_including %n hidden_" : ["%n 個の隠しファイルが含まれています"], - "You don’t have permission to upload or create files here" : "ここにファイルをアップロードもしくは作成する権限がありません", + "You don’t have permission to upload or create files here" : "ここにファイルをアップロードまたは作成する権限がありません", "_Uploading %n file_::_Uploading %n files_" : ["%n 個のファイルをアップロード中"], "New" : "新規作成", "{used} of {quota} used" : "{used} / {quota} 使用中", @@ -72,7 +72,7 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : [" '{filter}' にマッチ"], "View in folder" : "フォルダー内で表示", "Copied!" : "コピー完了", - "Copy direct link (only works for users who have access to this file/folder)" : "ダイレクトリンクをコピー (このファイル/フォルダにアクセスできるユーザーのみ)", + "Copy direct link (only works for users who have access to this file/folder)" : "ダイレクトリンクをコピー (このファイル/フォルダーにアクセスできるユーザーのみ)", "Path" : "Path", "_%n byte_::_%n bytes_" : ["%n バイト"], "Favorited" : "お気に入り済", @@ -96,6 +96,7 @@ OC.L10N.register( "Moved by {user}" : "{user} が移動しました", "\"remote user\"" : "\"リモートユーザー\"", "You created {file}" : "{file} を作成しました", + "You created an encrypted file in {file}" : "{file} で暗号化ファイルを作成しました", "{user} created {file}" : "{user} が {file} を作成しました", "{file} was created in a public folder" : "公開フォルダーに {file} が作成されました", "You changed {file}" : "{file} を更新しました", @@ -109,11 +110,11 @@ OC.L10N.register( "You moved {oldfile} to {newfile}" : "{oldfile} を {newfile} に移動しました", "{user} moved {oldfile} to {newfile}" : "{user} が {oldfile} を {newfile} に移動しました", "A file has been added to or removed from your <strong>favorites</strong>" : "<strong>お気に入り</strong>にファイルが追加または削除されたとき", - "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "ファイルまたはフォルダが <strong>更新</ strong>されたか、<strong>名前が変更</strong>されたとき", - "A new file or folder has been <strong>created</strong>" : "新しいファイルまたはフォルダーを<strong>作成</strong>したとき", - "A file or folder has been <strong>deleted</strong>" : "ファイルまたはフォルダーが <strong>削除されました</strong>", + "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "ファイルまたはフォルダーが<strong>更新</ strong>されたか、<strong>名前が変更</strong>されたとき", + "A new file or folder has been <strong>created</strong>" : "新しいファイルまたはフォルダーが<strong>作成</strong>されたとき", + "A file or folder has been <strong>deleted</strong>" : "ファイルまたはフォルダーが<strong>削除</strong>されたとき", "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>お気に入りファイル</strong>の作成と変更の通知を制限する<em>(ストリームのみ)</em>", - "A file or folder has been <strong>restored</strong>" : "ファイルまたはフォルダーが <strong>復元されました</strong>", + "A file or folder has been <strong>restored</strong>" : "ファイルまたはフォルダーが<strong>復元</strong>されたとき", "Unlimited" : "無制限", "Upload (max. %s)" : "アップロード ( 最大 %s )", "File handling" : "ファイル操作", @@ -134,7 +135,7 @@ OC.L10N.register( "No entries found in this folder" : "このフォルダーにはエントリーがありません", "Select all" : "すべて選択", "Upload too large" : "アップロードには大きすぎます。", - "The files you are trying to upload exceed the maximum size for file uploads on this server." : "アップロードしようとしているファイルは、サーバーで規定された最大サイズを超えています。", + "The files you are trying to upload exceed the maximum size for file uploads on this server." : "アップロードしようとしているファイルは、このサーバーのファイルアップロード時の最大サイズを超えています。", "No favorites yet" : "まだお気に入りはありません", "Files and folders you mark as favorite will show up here" : "お気に入りに登録されたファイルやフォルダーは、ここに表示されます。", "Shared with you" : "他ユーザーがあなたと共有中", diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json index a643d750f1c..e2a53695ea2 100644 --- a/apps/files/l10n/ja.json +++ b/apps/files/l10n/ja.json @@ -5,12 +5,15 @@ "All files" : "すべてのファイル", "Recent" : "最新", "File could not be found" : "ファイルを見つけられませんでした", + "Move or copy" : "移動またはコピー", + "Download" : "ダウンロード", + "Delete" : "削除", "Home" : "ホーム", "Close" : "閉じる", "Favorites" : "お気に入り", "Could not create folder \"{dir}\"" : "フォルダー \"{dir}\" を作成できませんでした", "Upload cancelled." : "アップロードはキャンセルされました。", - "Unable to upload {filename} as it is a directory or has 0 bytes" : "ディレクトリもしくは0バイトのため {filename} をアップロードできません", + "Unable to upload {filename} as it is a directory or has 0 bytes" : "ディレクトリであるか、または0バイトのため {filename} をアップロードできません", "Not enough free space, you are uploading {size1} but only {size2} is left" : "空き容量が十分でなく、 {size1} をアップロードしていますが、 {size2} しか残っていません。", "Target folder \"{dir}\" does not exist any more" : "対象フォルダー \"{dir}\" がもう存在しません", "Not enough free space" : "十分な空き容量がありません", @@ -19,11 +22,8 @@ "{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中 {loadedSize} ({bitrate})", "Target folder does not exist any more" : "対象フォルダーがもう存在しません", "Actions" : "アクション", - "Download" : "ダウンロード", "Rename" : "名前の変更", - "Move or copy" : "移動またはコピー", "Target folder" : "対象フォルダー", - "Delete" : "削除", "Disconnect storage" : "ストレージを切断する", "Unshare" : "共有解除", "Could not load info for file \"{file}\"" : "\"{file}\" ファイルの情報を読み込めませんでした", @@ -43,8 +43,8 @@ "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" はフォルダー \"{dir}\" ですでに使われています。別の名前を選択してください。", "Could not rename \"{fileName}\"" : "\"{fileName}\"の名前変更ができませんでした", "Could not create file \"{file}\"" : "ファイル \"{file}\" を作成できませんでした", - "Could not create file \"{file}\" because it already exists" : "ファイル \"{file}\"は既に存在するため作成できませんでした", - "Could not create folder \"{dir}\" because it already exists" : "フォルダー \"{dir}\" は既に存在するため作成できませんでした", + "Could not create file \"{file}\" because it already exists" : "ファイル \"{file}\"はすでに存在するため作成できません", + "Could not create folder \"{dir}\" because it already exists" : "フォルダー \"{dir}\" はすでに存在するため作成できません", "Error deleting file \"{fileName}\"." : "ファイル\"{fileName}\"の削除エラー。", "No search results in other folders for {tag}{filter}{endtag}" : "他のフォルダーに {tag}{filter}{endtag} の検索結果はありません", "Name" : "名前", @@ -54,7 +54,7 @@ "_%n file_::_%n files_" : ["%n 個のファイル"], "{dirs} and {files}" : "{dirs} と {files}", "_including %n hidden_::_including %n hidden_" : ["%n 個の隠しファイルが含まれています"], - "You don’t have permission to upload or create files here" : "ここにファイルをアップロードもしくは作成する権限がありません", + "You don’t have permission to upload or create files here" : "ここにファイルをアップロードまたは作成する権限がありません", "_Uploading %n file_::_Uploading %n files_" : ["%n 個のファイルをアップロード中"], "New" : "新規作成", "{used} of {quota} used" : "{used} / {quota} 使用中", @@ -70,7 +70,7 @@ "_matches '{filter}'_::_match '{filter}'_" : [" '{filter}' にマッチ"], "View in folder" : "フォルダー内で表示", "Copied!" : "コピー完了", - "Copy direct link (only works for users who have access to this file/folder)" : "ダイレクトリンクをコピー (このファイル/フォルダにアクセスできるユーザーのみ)", + "Copy direct link (only works for users who have access to this file/folder)" : "ダイレクトリンクをコピー (このファイル/フォルダーにアクセスできるユーザーのみ)", "Path" : "Path", "_%n byte_::_%n bytes_" : ["%n バイト"], "Favorited" : "お気に入り済", @@ -94,6 +94,7 @@ "Moved by {user}" : "{user} が移動しました", "\"remote user\"" : "\"リモートユーザー\"", "You created {file}" : "{file} を作成しました", + "You created an encrypted file in {file}" : "{file} で暗号化ファイルを作成しました", "{user} created {file}" : "{user} が {file} を作成しました", "{file} was created in a public folder" : "公開フォルダーに {file} が作成されました", "You changed {file}" : "{file} を更新しました", @@ -107,11 +108,11 @@ "You moved {oldfile} to {newfile}" : "{oldfile} を {newfile} に移動しました", "{user} moved {oldfile} to {newfile}" : "{user} が {oldfile} を {newfile} に移動しました", "A file has been added to or removed from your <strong>favorites</strong>" : "<strong>お気に入り</strong>にファイルが追加または削除されたとき", - "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "ファイルまたはフォルダが <strong>更新</ strong>されたか、<strong>名前が変更</strong>されたとき", - "A new file or folder has been <strong>created</strong>" : "新しいファイルまたはフォルダーを<strong>作成</strong>したとき", - "A file or folder has been <strong>deleted</strong>" : "ファイルまたはフォルダーが <strong>削除されました</strong>", + "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "ファイルまたはフォルダーが<strong>更新</ strong>されたか、<strong>名前が変更</strong>されたとき", + "A new file or folder has been <strong>created</strong>" : "新しいファイルまたはフォルダーが<strong>作成</strong>されたとき", + "A file or folder has been <strong>deleted</strong>" : "ファイルまたはフォルダーが<strong>削除</strong>されたとき", "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>お気に入りファイル</strong>の作成と変更の通知を制限する<em>(ストリームのみ)</em>", - "A file or folder has been <strong>restored</strong>" : "ファイルまたはフォルダーが <strong>復元されました</strong>", + "A file or folder has been <strong>restored</strong>" : "ファイルまたはフォルダーが<strong>復元</strong>されたとき", "Unlimited" : "無制限", "Upload (max. %s)" : "アップロード ( 最大 %s )", "File handling" : "ファイル操作", @@ -132,7 +133,7 @@ "No entries found in this folder" : "このフォルダーにはエントリーがありません", "Select all" : "すべて選択", "Upload too large" : "アップロードには大きすぎます。", - "The files you are trying to upload exceed the maximum size for file uploads on this server." : "アップロードしようとしているファイルは、サーバーで規定された最大サイズを超えています。", + "The files you are trying to upload exceed the maximum size for file uploads on this server." : "アップロードしようとしているファイルは、このサーバーのファイルアップロード時の最大サイズを超えています。", "No favorites yet" : "まだお気に入りはありません", "Files and folders you mark as favorite will show up here" : "お気に入りに登録されたファイルやフォルダーは、ここに表示されます。", "Shared with you" : "他ユーザーがあなたと共有中", diff --git a/apps/files/l10n/ka_GE.js b/apps/files/l10n/ka_GE.js index 62e873caecf..503afed29fc 100644 --- a/apps/files/l10n/ka_GE.js +++ b/apps/files/l10n/ka_GE.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "ყველა ფაილი", "Recent" : "ახალი", "File could not be found" : "ფაილი ვერ იქნა ნაპოვნი", + "Move or copy" : "გადაიტანეთ ან დააკოპირეთ", + "Download" : "ჩამოტვირთვა", + "Delete" : "წაშლა", "Home" : "სახლი", "Close" : "დახურვა", "Favorites" : "რჩეულები", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "დანიშნულების დირექტორია აღარ არსებობს", "Error when assembling chunks, status code {status}" : "ნაჭრების შეგროვებისას წარმოიშვა შეცდომა, სტატუსის კოდი {status}", "Actions" : "მოქმედებები", - "Download" : "ჩამოტვირთვა", "Rename" : "გადარქმევა", - "Move or copy" : "გადაიტანეთ ან დააკოპირეთ", "Copy" : "კოპირება", "Target folder" : "დანიშნულების დირექტორია", - "Delete" : "წაშლა", "Disconnect storage" : "საცავის გათიშვა", "Unshare" : "გაზიარების შეწყვეტა", "Could not load info for file \"{file}\"" : "ფაილზე \"{file}\" ინფორმაცია ვერ ჩაიტვირთა", diff --git a/apps/files/l10n/ka_GE.json b/apps/files/l10n/ka_GE.json index 687d0df6ff0..05ea75c8371 100644 --- a/apps/files/l10n/ka_GE.json +++ b/apps/files/l10n/ka_GE.json @@ -5,6 +5,9 @@ "All files" : "ყველა ფაილი", "Recent" : "ახალი", "File could not be found" : "ფაილი ვერ იქნა ნაპოვნი", + "Move or copy" : "გადაიტანეთ ან დააკოპირეთ", + "Download" : "ჩამოტვირთვა", + "Delete" : "წაშლა", "Home" : "სახლი", "Close" : "დახურვა", "Favorites" : "რჩეულები", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "დანიშნულების დირექტორია აღარ არსებობს", "Error when assembling chunks, status code {status}" : "ნაჭრების შეგროვებისას წარმოიშვა შეცდომა, სტატუსის კოდი {status}", "Actions" : "მოქმედებები", - "Download" : "ჩამოტვირთვა", "Rename" : "გადარქმევა", - "Move or copy" : "გადაიტანეთ ან დააკოპირეთ", "Copy" : "კოპირება", "Target folder" : "დანიშნულების დირექტორია", - "Delete" : "წაშლა", "Disconnect storage" : "საცავის გათიშვა", "Unshare" : "გაზიარების შეწყვეტა", "Could not load info for file \"{file}\"" : "ფაილზე \"{file}\" ინფორმაცია ვერ ჩაიტვირთა", diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js index 2157f40e9a8..1168e765e15 100644 --- a/apps/files/l10n/ko.js +++ b/apps/files/l10n/ko.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "모든 파일", "Recent" : "최근", "File could not be found" : "파일을 찾을 수 없음", + "Move or copy" : "이동이나 복사", + "Download" : "다운로드", + "Delete" : "삭제", "Home" : "홈", "Close" : "닫기", "Favorites" : "즐겨찾기", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "대상 폴더가 더 이상 존재하지 않습니다", "Error when assembling chunks, status code {status}" : "조각을 모으는 중 오류 발생, 상태 코드 {status}", "Actions" : "작업", - "Download" : "다운로드", "Rename" : "이름 바꾸기", - "Move or copy" : "이동이나 복사", "Target folder" : "대상 폴더", - "Delete" : "삭제", "Disconnect storage" : "저장소 연결 해제", "Unshare" : "공유 해제", "Could not load info for file \"{file}\"" : "파일 \"{file}\"의 정보를 가져올 수 없음", diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json index 7c287e16146..ea639f5851d 100644 --- a/apps/files/l10n/ko.json +++ b/apps/files/l10n/ko.json @@ -5,6 +5,9 @@ "All files" : "모든 파일", "Recent" : "최근", "File could not be found" : "파일을 찾을 수 없음", + "Move or copy" : "이동이나 복사", + "Download" : "다운로드", + "Delete" : "삭제", "Home" : "홈", "Close" : "닫기", "Favorites" : "즐겨찾기", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "대상 폴더가 더 이상 존재하지 않습니다", "Error when assembling chunks, status code {status}" : "조각을 모으는 중 오류 발생, 상태 코드 {status}", "Actions" : "작업", - "Download" : "다운로드", "Rename" : "이름 바꾸기", - "Move or copy" : "이동이나 복사", "Target folder" : "대상 폴더", - "Delete" : "삭제", "Disconnect storage" : "저장소 연결 해제", "Unshare" : "공유 해제", "Could not load info for file \"{file}\"" : "파일 \"{file}\"의 정보를 가져올 수 없음", diff --git a/apps/files/l10n/lb.js b/apps/files/l10n/lb.js index 16163e85517..227342deb7a 100644 --- a/apps/files/l10n/lb.js +++ b/apps/files/l10n/lb.js @@ -7,6 +7,8 @@ OC.L10N.register( "All files" : "All d'Fichieren", "Recent" : "Rezent", "File could not be found" : "Datei konnt net fonnt ginn", + "Download" : "Download", + "Delete" : "Läschen", "Home" : "Doheem", "Close" : "Zoumaachen", "Favorites" : "Favoriten", @@ -18,10 +20,8 @@ OC.L10N.register( "Not enough free space" : "Nët genuch Späicherplaatz", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} vun {totalSize} ({bitrate})", "Actions" : "Aktiounen", - "Download" : "Download", "Rename" : "Ëmbenennen", "Target folder" : "Ziel Dossier", - "Delete" : "Läschen", "Disconnect storage" : "Net connectéierten Späicher", "Unshare" : "Net méi deelen", "Could not load info for file \"{file}\"" : "Et konnten keng Informatiounen zu {file} gelueden ginn", diff --git a/apps/files/l10n/lb.json b/apps/files/l10n/lb.json index fd30bf1bd3a..9b4d4e03ca0 100644 --- a/apps/files/l10n/lb.json +++ b/apps/files/l10n/lb.json @@ -5,6 +5,8 @@ "All files" : "All d'Fichieren", "Recent" : "Rezent", "File could not be found" : "Datei konnt net fonnt ginn", + "Download" : "Download", + "Delete" : "Läschen", "Home" : "Doheem", "Close" : "Zoumaachen", "Favorites" : "Favoriten", @@ -16,10 +18,8 @@ "Not enough free space" : "Nët genuch Späicherplaatz", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} vun {totalSize} ({bitrate})", "Actions" : "Aktiounen", - "Download" : "Download", "Rename" : "Ëmbenennen", "Target folder" : "Ziel Dossier", - "Delete" : "Läschen", "Disconnect storage" : "Net connectéierten Späicher", "Unshare" : "Net méi deelen", "Could not load info for file \"{file}\"" : "Et konnten keng Informatiounen zu {file} gelueden ginn", diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js index eb3fb593334..f82aa829111 100644 --- a/apps/files/l10n/lt_LT.js +++ b/apps/files/l10n/lt_LT.js @@ -7,6 +7,8 @@ OC.L10N.register( "All files" : "Visi failai", "Recent" : "Naujausi", "File could not be found" : "Nepavyko rasti rinkmenos", + "Download" : "Atsisiųsti", + "Delete" : "Ištrinti", "Home" : "Pagrindinis", "Close" : "Užverti", "Favorites" : "Mėgstamiausi", @@ -20,10 +22,8 @@ OC.L10N.register( "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} iš {totalSize} ({bitrate})", "Target folder does not exist any more" : "Paskirties aplanko daugiau nebėra", "Actions" : "Veiksmai", - "Download" : "Atsisiųsti", "Rename" : "Pervadinti", "Target folder" : "Paskirties aplankas", - "Delete" : "Ištrinti", "Disconnect storage" : "Atjungti saugyklą", "Unshare" : "Nebebendrinti", "Could not load info for file \"{file}\"" : "Nepavyko įkelti informacijos failui \"{file}\"", diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json index 6da3263eb73..ac5a47bdc3e 100644 --- a/apps/files/l10n/lt_LT.json +++ b/apps/files/l10n/lt_LT.json @@ -5,6 +5,8 @@ "All files" : "Visi failai", "Recent" : "Naujausi", "File could not be found" : "Nepavyko rasti rinkmenos", + "Download" : "Atsisiųsti", + "Delete" : "Ištrinti", "Home" : "Pagrindinis", "Close" : "Užverti", "Favorites" : "Mėgstamiausi", @@ -18,10 +20,8 @@ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} iš {totalSize} ({bitrate})", "Target folder does not exist any more" : "Paskirties aplanko daugiau nebėra", "Actions" : "Veiksmai", - "Download" : "Atsisiųsti", "Rename" : "Pervadinti", "Target folder" : "Paskirties aplankas", - "Delete" : "Ištrinti", "Disconnect storage" : "Atjungti saugyklą", "Unshare" : "Nebebendrinti", "Could not load info for file \"{file}\"" : "Nepavyko įkelti informacijos failui \"{file}\"", diff --git a/apps/files/l10n/lv.js b/apps/files/l10n/lv.js index 616c39fff8b..61eba753732 100644 --- a/apps/files/l10n/lv.js +++ b/apps/files/l10n/lv.js @@ -7,6 +7,8 @@ OC.L10N.register( "All files" : "Visas datnes", "Recent" : "Nesenās", "File could not be found" : "Datni nevar atrast", + "Download" : "Lejupielādēt", + "Delete" : "Dzēst", "Home" : "Mājas", "Close" : "Aizvērt", "Favorites" : "Iecienītie", @@ -18,10 +20,8 @@ OC.L10N.register( "Not enough free space" : "Nav pietiekami daudz brīvas vietas", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} no {totalSize} ({bitrate})", "Actions" : "Darbības", - "Download" : "Lejupielādēt", "Rename" : "Pārsaukt", "Target folder" : "Mērķa mape", - "Delete" : "Dzēst", "Disconnect storage" : "Atvienot glabātuvi", "Unshare" : "Pārtraukt koplietošanu", "Could not load info for file \"{file}\"" : "Nevar ielādēt informāciju par datni \"{file}\"", diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json index cc8ecb6bb0d..d540bcb2925 100644 --- a/apps/files/l10n/lv.json +++ b/apps/files/l10n/lv.json @@ -5,6 +5,8 @@ "All files" : "Visas datnes", "Recent" : "Nesenās", "File could not be found" : "Datni nevar atrast", + "Download" : "Lejupielādēt", + "Delete" : "Dzēst", "Home" : "Mājas", "Close" : "Aizvērt", "Favorites" : "Iecienītie", @@ -16,10 +18,8 @@ "Not enough free space" : "Nav pietiekami daudz brīvas vietas", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} no {totalSize} ({bitrate})", "Actions" : "Darbības", - "Download" : "Lejupielādēt", "Rename" : "Pārsaukt", "Target folder" : "Mērķa mape", - "Delete" : "Dzēst", "Disconnect storage" : "Atvienot glabātuvi", "Unshare" : "Pārtraukt koplietošanu", "Could not load info for file \"{file}\"" : "Nevar ielādēt informāciju par datni \"{file}\"", diff --git a/apps/files/l10n/mn.js b/apps/files/l10n/mn.js index 058706de677..5eb3544e1b6 100644 --- a/apps/files/l10n/mn.js +++ b/apps/files/l10n/mn.js @@ -7,6 +7,8 @@ OC.L10N.register( "All files" : "Бүх файлууд", "Recent" : "Сүүлийн үеийн", "File could not be found" : "Файл олдсонгүй", + "Download" : "Татаж авах ", + "Delete" : "Устгах", "Home" : "Нүүр хуудас", "Close" : "Хаах", "Favorites" : "Дуртай", @@ -15,10 +17,8 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "хангалттай зай үлдээгүй байна, та {size1} хэмжээтэй файл оруулж байна гэхдээ зөвхөн {size2} ийн хэмжээний сул зай үлдсэн байна", "Not enough free space" : "Сул зай хүрэлцэхгүй байна", "Actions" : "Үйл ажиллагаа", - "Download" : "Татаж авах ", "Rename" : "Нэр өөрчлөх", "Target folder" : "Заагч хавтас", - "Delete" : "Устгах", "Disconnect storage" : "Хадгалах төхөөрөмж салгах", "Unshare" : "Түгээлтийг зогсоох", "Files" : "Файлууд", diff --git a/apps/files/l10n/mn.json b/apps/files/l10n/mn.json index cacb2fef9a2..56463c2a00a 100644 --- a/apps/files/l10n/mn.json +++ b/apps/files/l10n/mn.json @@ -5,6 +5,8 @@ "All files" : "Бүх файлууд", "Recent" : "Сүүлийн үеийн", "File could not be found" : "Файл олдсонгүй", + "Download" : "Татаж авах ", + "Delete" : "Устгах", "Home" : "Нүүр хуудас", "Close" : "Хаах", "Favorites" : "Дуртай", @@ -13,10 +15,8 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "хангалттай зай үлдээгүй байна, та {size1} хэмжээтэй файл оруулж байна гэхдээ зөвхөн {size2} ийн хэмжээний сул зай үлдсэн байна", "Not enough free space" : "Сул зай хүрэлцэхгүй байна", "Actions" : "Үйл ажиллагаа", - "Download" : "Татаж авах ", "Rename" : "Нэр өөрчлөх", "Target folder" : "Заагч хавтас", - "Delete" : "Устгах", "Disconnect storage" : "Хадгалах төхөөрөмж салгах", "Unshare" : "Түгээлтийг зогсоох", "Files" : "Файлууд", diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js index 098f8b9ecc0..38f3d016ee3 100644 --- a/apps/files/l10n/nb.js +++ b/apps/files/l10n/nb.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Alle filer", "Recent" : "Nylig", "File could not be found" : "Filen ble ikke funnet", + "Move or copy" : "Flytt eller kopier", + "Download" : "Last ned", + "Delete" : "Slett", "Home" : "Hjem", "Close" : "Lukk", "Favorites" : "Favoritter", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Målmappen finnes ikke lenger", "Error when assembling chunks, status code {status}" : "Feil under sammenkobling av biter, statuskode {status}", "Actions" : "Handlinger", - "Download" : "Last ned", "Rename" : "Gi nytt navn", - "Move or copy" : "Flytt eller kopier", "Copy" : "Kopier", "Target folder" : "Målmappe", - "Delete" : "Slett", "Disconnect storage" : "Koble fra lagring", "Unshare" : "Avslutt deling", "Could not load info for file \"{file}\"" : "Klarte ikke å hente informasjon som filen \"{file}\"", diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json index 8267c9039e2..c3c039a5fdf 100644 --- a/apps/files/l10n/nb.json +++ b/apps/files/l10n/nb.json @@ -5,6 +5,9 @@ "All files" : "Alle filer", "Recent" : "Nylig", "File could not be found" : "Filen ble ikke funnet", + "Move or copy" : "Flytt eller kopier", + "Download" : "Last ned", + "Delete" : "Slett", "Home" : "Hjem", "Close" : "Lukk", "Favorites" : "Favoritter", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Målmappen finnes ikke lenger", "Error when assembling chunks, status code {status}" : "Feil under sammenkobling av biter, statuskode {status}", "Actions" : "Handlinger", - "Download" : "Last ned", "Rename" : "Gi nytt navn", - "Move or copy" : "Flytt eller kopier", "Copy" : "Kopier", "Target folder" : "Målmappe", - "Delete" : "Slett", "Disconnect storage" : "Koble fra lagring", "Unshare" : "Avslutt deling", "Could not load info for file \"{file}\"" : "Klarte ikke å hente informasjon som filen \"{file}\"", diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js index dd642d14342..7481c9a99a0 100644 --- a/apps/files/l10n/nl.js +++ b/apps/files/l10n/nl.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Alle bestanden", "Recent" : "Recent", "File could not be found" : "Bestand kon niet worden gevonden", + "Move or copy" : "Verplaats of kopieer", + "Download" : "Downloaden", + "Delete" : "Verwijderen", "Home" : "Thuis", "Close" : "Sluiten", "Favorites" : "Favorieten", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Doelmap bestaat niet meer", "Error when assembling chunks, status code {status}" : "Fout tijdens samenvoegen van brokken, status code {status}", "Actions" : "Acties", - "Download" : "Downloaden", "Rename" : "Naam wijzigen", - "Move or copy" : "Verplaats of kopieer", "Copy" : "Kopiëren", "Target folder" : "Doelmap", - "Delete" : "Verwijderen", "Disconnect storage" : "Verbinding met opslag verbreken", "Unshare" : "Stop met delen", "Could not load info for file \"{file}\"" : "Kon geen informatie laden voor bestand \"{file}\"", diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json index e809dd83fa7..637caff8cd9 100644 --- a/apps/files/l10n/nl.json +++ b/apps/files/l10n/nl.json @@ -5,6 +5,9 @@ "All files" : "Alle bestanden", "Recent" : "Recent", "File could not be found" : "Bestand kon niet worden gevonden", + "Move or copy" : "Verplaats of kopieer", + "Download" : "Downloaden", + "Delete" : "Verwijderen", "Home" : "Thuis", "Close" : "Sluiten", "Favorites" : "Favorieten", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Doelmap bestaat niet meer", "Error when assembling chunks, status code {status}" : "Fout tijdens samenvoegen van brokken, status code {status}", "Actions" : "Acties", - "Download" : "Downloaden", "Rename" : "Naam wijzigen", - "Move or copy" : "Verplaats of kopieer", "Copy" : "Kopiëren", "Target folder" : "Doelmap", - "Delete" : "Verwijderen", "Disconnect storage" : "Verbinding met opslag verbreken", "Unshare" : "Stop met delen", "Could not load info for file \"{file}\"" : "Kon geen informatie laden voor bestand \"{file}\"", diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js index f474b2429b6..0f9883dea52 100644 --- a/apps/files/l10n/pl.js +++ b/apps/files/l10n/pl.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Wszystkie pliki", "Recent" : "Ostatnie", "File could not be found" : "Nie można odnaleźć pliku", + "Move or copy" : "Przenieś lub kopiuj", + "Download" : "Pobierz", + "Delete" : "Usuń", "Home" : "Start", "Close" : "Zamknij", "Favorites" : "Ulubione", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Folder docelowy już nie istnieje", "Error when assembling chunks, status code {status}" : "Błąd podczas łączenia fragmentów, kod statusu {status}", "Actions" : "Akcje", - "Download" : "Pobierz", "Rename" : "Zmień nazwę", - "Move or copy" : "Przenieś lub kopiuj", "Copy" : "Kopiuj", "Target folder" : "Folder docelowy", - "Delete" : "Usuń", "Disconnect storage" : "Odłącz magazyn", "Unshare" : "Zatrzymaj udostępnianie", "Could not load info for file \"{file}\"" : "Nie można załadować informacji o pliku \"{file}\"", diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json index 187cc6a79d0..f3d6dd84aad 100644 --- a/apps/files/l10n/pl.json +++ b/apps/files/l10n/pl.json @@ -5,6 +5,9 @@ "All files" : "Wszystkie pliki", "Recent" : "Ostatnie", "File could not be found" : "Nie można odnaleźć pliku", + "Move or copy" : "Przenieś lub kopiuj", + "Download" : "Pobierz", + "Delete" : "Usuń", "Home" : "Start", "Close" : "Zamknij", "Favorites" : "Ulubione", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Folder docelowy już nie istnieje", "Error when assembling chunks, status code {status}" : "Błąd podczas łączenia fragmentów, kod statusu {status}", "Actions" : "Akcje", - "Download" : "Pobierz", "Rename" : "Zmień nazwę", - "Move or copy" : "Przenieś lub kopiuj", "Copy" : "Kopiuj", "Target folder" : "Folder docelowy", - "Delete" : "Usuń", "Disconnect storage" : "Odłącz magazyn", "Unshare" : "Zatrzymaj udostępnianie", "Could not load info for file \"{file}\"" : "Nie można załadować informacji o pliku \"{file}\"", diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index bcad0f7f3f6..83da5f4b6d9 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos os arquivos", "Recent" : "Recentes", "File could not be found" : "O arquivo não foi encontrado", + "Move or copy" : "Mover ou copiar", + "Download" : "Baixar", + "Delete" : "Excluir", "Home" : "Início", "Close" : "Fechar", "Favorites" : "Favoritos", @@ -23,12 +26,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Pasta destino não existe mais", "Error when assembling chunks, status code {status}" : "Erro ao montar partes, código de status {status}", "Actions" : "Ações", - "Download" : "Baixar", "Rename" : "Renomear", - "Move or copy" : "Mover ou copiar", "Copy" : "Copiar", "Target folder" : "Pasta destino", - "Delete" : "Excluir", "Disconnect storage" : "Desconectar armazenamento", "Unshare" : "Descompartilhar", "Could not load info for file \"{file}\"" : "Não foi possível carregar informações para o arquivo \"{file}\" ", @@ -60,7 +60,7 @@ OC.L10N.register( "_%n folder_::_%n folders_" : ["%n pasta","%n pastas"], "_%n file_::_%n files_" : ["%n arquivo","%n arquivos"], "{dirs} and {files}" : "{dirs} e {files}", - "_including %n hidden_::_including %n hidden_" : ["incluindo %n escondido","incluindo %n oculto(s)"], + "_including %n hidden_::_including %n hidden_" : ["incluindo %n oculto","incluindo %n ocultos"], "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar arquivos aqui", "_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n arquivos"], "New" : "Novo", diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index 4b455eac77f..4930b3e29a3 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -5,6 +5,9 @@ "All files" : "Todos os arquivos", "Recent" : "Recentes", "File could not be found" : "O arquivo não foi encontrado", + "Move or copy" : "Mover ou copiar", + "Download" : "Baixar", + "Delete" : "Excluir", "Home" : "Início", "Close" : "Fechar", "Favorites" : "Favoritos", @@ -21,12 +24,9 @@ "Target folder does not exist any more" : "Pasta destino não existe mais", "Error when assembling chunks, status code {status}" : "Erro ao montar partes, código de status {status}", "Actions" : "Ações", - "Download" : "Baixar", "Rename" : "Renomear", - "Move or copy" : "Mover ou copiar", "Copy" : "Copiar", "Target folder" : "Pasta destino", - "Delete" : "Excluir", "Disconnect storage" : "Desconectar armazenamento", "Unshare" : "Descompartilhar", "Could not load info for file \"{file}\"" : "Não foi possível carregar informações para o arquivo \"{file}\" ", @@ -58,7 +58,7 @@ "_%n folder_::_%n folders_" : ["%n pasta","%n pastas"], "_%n file_::_%n files_" : ["%n arquivo","%n arquivos"], "{dirs} and {files}" : "{dirs} e {files}", - "_including %n hidden_::_including %n hidden_" : ["incluindo %n escondido","incluindo %n oculto(s)"], + "_including %n hidden_::_including %n hidden_" : ["incluindo %n oculto","incluindo %n ocultos"], "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar arquivos aqui", "_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n arquivos"], "New" : "Novo", diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js index ffa95f4b93c..e3a88cf2560 100644 --- a/apps/files/l10n/pt_PT.js +++ b/apps/files/l10n/pt_PT.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Todos os ficheiros", "Recent" : "Recentes", "File could not be found" : "O ficheiro não foi encontrado", + "Move or copy" : "Mover ou copiar", + "Download" : "Transferir", + "Delete" : "Eliminar", "Home" : "Início", "Close" : "Fechar", "Favorites" : "Favoritos", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "A pasta de destino já não existe", "Error when assembling chunks, status code {status}" : "Erro ao agregar partições, código de estado: {estado}", "Actions" : "Ações", - "Download" : "Transferir", "Rename" : "Renomear", - "Move or copy" : "Mover ou copiar", "Target folder" : "Pasta de destino", - "Delete" : "Eliminar", "Disconnect storage" : "Desligue o armazenamento", "Unshare" : "Cancelar partilha", "Could not load info for file \"{file}\"" : "Não foi possível carregar informações do ficheiro \"{file}\"", diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json index 31ecc0ef67d..d25e97662f9 100644 --- a/apps/files/l10n/pt_PT.json +++ b/apps/files/l10n/pt_PT.json @@ -5,6 +5,9 @@ "All files" : "Todos os ficheiros", "Recent" : "Recentes", "File could not be found" : "O ficheiro não foi encontrado", + "Move or copy" : "Mover ou copiar", + "Download" : "Transferir", + "Delete" : "Eliminar", "Home" : "Início", "Close" : "Fechar", "Favorites" : "Favoritos", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "A pasta de destino já não existe", "Error when assembling chunks, status code {status}" : "Erro ao agregar partições, código de estado: {estado}", "Actions" : "Ações", - "Download" : "Transferir", "Rename" : "Renomear", - "Move or copy" : "Mover ou copiar", "Target folder" : "Pasta de destino", - "Delete" : "Eliminar", "Disconnect storage" : "Desligue o armazenamento", "Unshare" : "Cancelar partilha", "Could not load info for file \"{file}\"" : "Não foi possível carregar informações do ficheiro \"{file}\"", diff --git a/apps/files/l10n/ro.js b/apps/files/l10n/ro.js index d65e369aca4..00c9f260dd3 100644 --- a/apps/files/l10n/ro.js +++ b/apps/files/l10n/ro.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Toate fișierele", "Recent" : "Recente", "File could not be found" : "Fișierul nu a fost găsit", + "Move or copy" : "Mută sau copiază", + "Download" : "Descarcă", + "Delete" : "Șterge", "Home" : "Acasă", "Close" : "Închide", "Favorites" : "Favorite", @@ -21,11 +24,8 @@ OC.L10N.register( "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} din {totalSize} ({bitrate})", "Target folder does not exist any more" : "Directorul destinație nu mai există", "Actions" : "Acțiuni", - "Download" : "Descarcă", "Rename" : "Redenumește", - "Move or copy" : "Mută sau copiază", "Target folder" : "Directorul destinație", - "Delete" : "Șterge", "Disconnect storage" : "Deconectează stocarea", "Unshare" : "Nu mai partaja", "Files" : "Fișiere", diff --git a/apps/files/l10n/ro.json b/apps/files/l10n/ro.json index f9a45685bb6..83ab22e914d 100644 --- a/apps/files/l10n/ro.json +++ b/apps/files/l10n/ro.json @@ -5,6 +5,9 @@ "All files" : "Toate fișierele", "Recent" : "Recente", "File could not be found" : "Fișierul nu a fost găsit", + "Move or copy" : "Mută sau copiază", + "Download" : "Descarcă", + "Delete" : "Șterge", "Home" : "Acasă", "Close" : "Închide", "Favorites" : "Favorite", @@ -19,11 +22,8 @@ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} din {totalSize} ({bitrate})", "Target folder does not exist any more" : "Directorul destinație nu mai există", "Actions" : "Acțiuni", - "Download" : "Descarcă", "Rename" : "Redenumește", - "Move or copy" : "Mută sau copiază", "Target folder" : "Directorul destinație", - "Delete" : "Șterge", "Disconnect storage" : "Deconectează stocarea", "Unshare" : "Nu mai partaja", "Files" : "Fișiere", diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js index 8727a7c790e..aa9ff550f53 100644 --- a/apps/files/l10n/ru.js +++ b/apps/files/l10n/ru.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Все файлы", "Recent" : "Недавно изменённые", "File could not be found" : "Невозможно найти файл", + "Move or copy" : "Переместить или копировать", + "Download" : "Скачать", + "Delete" : "Удалить", "Home" : "Главная", "Close" : "Закрыть", "Favorites" : "Избранные", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Каталог больше не существует", "Error when assembling chunks, status code {status}" : "Ошибка при сборке чанков, код ошибки {status}", "Actions" : "Действия", - "Download" : "Скачать", "Rename" : "Переименовать", - "Move or copy" : "Переместить или копировать", "Copy" : "Копировать", "Target folder" : "Целевой каталог", - "Delete" : "Удалить", "Disconnect storage" : "Отсоединить хранилище", "Unshare" : "Закрыть доступ", "Could not load info for file \"{file}\"" : "Не удаётся загрузить информацию для файла \"{file}\"", diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json index bc623e525be..492634c599d 100644 --- a/apps/files/l10n/ru.json +++ b/apps/files/l10n/ru.json @@ -5,6 +5,9 @@ "All files" : "Все файлы", "Recent" : "Недавно изменённые", "File could not be found" : "Невозможно найти файл", + "Move or copy" : "Переместить или копировать", + "Download" : "Скачать", + "Delete" : "Удалить", "Home" : "Главная", "Close" : "Закрыть", "Favorites" : "Избранные", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Каталог больше не существует", "Error when assembling chunks, status code {status}" : "Ошибка при сборке чанков, код ошибки {status}", "Actions" : "Действия", - "Download" : "Скачать", "Rename" : "Переименовать", - "Move or copy" : "Переместить или копировать", "Copy" : "Копировать", "Target folder" : "Целевой каталог", - "Delete" : "Удалить", "Disconnect storage" : "Отсоединить хранилище", "Unshare" : "Закрыть доступ", "Could not load info for file \"{file}\"" : "Не удаётся загрузить информацию для файла \"{file}\"", diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js index 3a5996f12c1..4381bfce131 100644 --- a/apps/files/l10n/sk.js +++ b/apps/files/l10n/sk.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Všetky súbory", "Recent" : "Nedávne", "File could not be found" : "Súbor nie je možné nájsť", + "Move or copy" : "Presunúť alebo kopírovať", + "Download" : "Sťahovanie", + "Delete" : "Zmazať", "Home" : "Domov", "Close" : "Zavrieť", "Favorites" : "Obľúbené", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Cieľový priečinok už neexistuje", "Error when assembling chunks, status code {status}" : "Chyba pri zostavovaní kusov, kód chyby {status}", "Actions" : "Akcie", - "Download" : "Sťahovanie", "Rename" : "Premenovať", - "Move or copy" : "Presunúť alebo kopírovať", "Copy" : "Kopírovať", "Target folder" : "Cieľový priečinok", - "Delete" : "Zmazať", "Disconnect storage" : "Odpojiť úložisko", "Unshare" : "Zneprístupniť", "Could not load info for file \"{file}\"" : "Nebolo možné načítať informácie súboru \"{file}\"", diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json index fa8c902766b..e01aced0b16 100644 --- a/apps/files/l10n/sk.json +++ b/apps/files/l10n/sk.json @@ -5,6 +5,9 @@ "All files" : "Všetky súbory", "Recent" : "Nedávne", "File could not be found" : "Súbor nie je možné nájsť", + "Move or copy" : "Presunúť alebo kopírovať", + "Download" : "Sťahovanie", + "Delete" : "Zmazať", "Home" : "Domov", "Close" : "Zavrieť", "Favorites" : "Obľúbené", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Cieľový priečinok už neexistuje", "Error when assembling chunks, status code {status}" : "Chyba pri zostavovaní kusov, kód chyby {status}", "Actions" : "Akcie", - "Download" : "Sťahovanie", "Rename" : "Premenovať", - "Move or copy" : "Presunúť alebo kopírovať", "Copy" : "Kopírovať", "Target folder" : "Cieľový priečinok", - "Delete" : "Zmazať", "Disconnect storage" : "Odpojiť úložisko", "Unshare" : "Zneprístupniť", "Could not load info for file \"{file}\"" : "Nebolo možné načítať informácie súboru \"{file}\"", diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js index aa82a034ba2..715fb45bb52 100644 --- a/apps/files/l10n/sl.js +++ b/apps/files/l10n/sl.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Vse datoteke", "Recent" : "Nedavno", "File could not be found" : "Datoteke ne najdem", + "Move or copy" : "Premakni ali kopiraj", + "Download" : "Prejmi", + "Delete" : "Izbriši", "Home" : "Domači naslov", "Close" : "Zapri", "Favorites" : "Priljubljene", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Ciljna mapa ne obstaja več", "Error when assembling chunks, status code {status}" : "Napaka pri sestavljanju kosov, statusna koda {status}", "Actions" : "Dejanja", - "Download" : "Prejmi", "Rename" : "Preimenuj", - "Move or copy" : "Premakni ali kopiraj", "Copy" : "Kopiraj", "Target folder" : "Ciljna mapa", - "Delete" : "Izbriši", "Disconnect storage" : "Odklopi shrambo", "Unshare" : "Prekini souporabo", "Could not load info for file \"{file}\"" : "Ni bilo mogoče naložiti podatke za datoteko \"{file}\"", diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json index e697cee6e75..290f838eefc 100644 --- a/apps/files/l10n/sl.json +++ b/apps/files/l10n/sl.json @@ -5,6 +5,9 @@ "All files" : "Vse datoteke", "Recent" : "Nedavno", "File could not be found" : "Datoteke ne najdem", + "Move or copy" : "Premakni ali kopiraj", + "Download" : "Prejmi", + "Delete" : "Izbriši", "Home" : "Domači naslov", "Close" : "Zapri", "Favorites" : "Priljubljene", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "Ciljna mapa ne obstaja več", "Error when assembling chunks, status code {status}" : "Napaka pri sestavljanju kosov, statusna koda {status}", "Actions" : "Dejanja", - "Download" : "Prejmi", "Rename" : "Preimenuj", - "Move or copy" : "Premakni ali kopiraj", "Copy" : "Kopiraj", "Target folder" : "Ciljna mapa", - "Delete" : "Izbriši", "Disconnect storage" : "Odklopi shrambo", "Unshare" : "Prekini souporabo", "Could not load info for file \"{file}\"" : "Ni bilo mogoče naložiti podatke za datoteko \"{file}\"", diff --git a/apps/files/l10n/sq.js b/apps/files/l10n/sq.js index 10e86214d9e..da7e0cfa0a5 100644 --- a/apps/files/l10n/sq.js +++ b/apps/files/l10n/sq.js @@ -7,6 +7,8 @@ OC.L10N.register( "All files" : "Të gjithë skedarët", "Recent" : "Të fundit", "File could not be found" : "Skedari s’u gjet dot", + "Download" : "Shkarkoje", + "Delete" : "Fshije", "Home" : "Kreu", "Close" : "Mbylle", "Favorites" : "Të parapëlqyera", @@ -18,10 +20,8 @@ OC.L10N.register( "Not enough free space" : "Nuk ka hapsirë të mjaftueshme të lirë", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} nga {totalSize} ({bitrate})", "Actions" : "Veprime", - "Download" : "Shkarkoje", "Rename" : "Riemërtojeni", "Target folder" : "Dosja e synuar", - "Delete" : "Fshije", "Disconnect storage" : "Shkëpute depozitën", "Unshare" : "Hiqe ndarjen", "Could not load info for file \"{file}\"" : "Nuk mund të ngarkohet informacioni për skedarin \"{file}\"", diff --git a/apps/files/l10n/sq.json b/apps/files/l10n/sq.json index e1762e1c766..4a96f3c1088 100644 --- a/apps/files/l10n/sq.json +++ b/apps/files/l10n/sq.json @@ -5,6 +5,8 @@ "All files" : "Të gjithë skedarët", "Recent" : "Të fundit", "File could not be found" : "Skedari s’u gjet dot", + "Download" : "Shkarkoje", + "Delete" : "Fshije", "Home" : "Kreu", "Close" : "Mbylle", "Favorites" : "Të parapëlqyera", @@ -16,10 +18,8 @@ "Not enough free space" : "Nuk ka hapsirë të mjaftueshme të lirë", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} nga {totalSize} ({bitrate})", "Actions" : "Veprime", - "Download" : "Shkarkoje", "Rename" : "Riemërtojeni", "Target folder" : "Dosja e synuar", - "Delete" : "Fshije", "Disconnect storage" : "Shkëpute depozitën", "Unshare" : "Hiqe ndarjen", "Could not load info for file \"{file}\"" : "Nuk mund të ngarkohet informacioni për skedarin \"{file}\"", diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js index 513a77ba75e..234dfa61fdf 100644 --- a/apps/files/l10n/sr.js +++ b/apps/files/l10n/sr.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Сви фајлови", "Recent" : "Скорашњи", "File could not be found" : "Фајл није нађен", + "Move or copy" : "Помери или копирај", + "Download" : "Преузми", + "Delete" : "Обриши", "Home" : "Почетна", "Close" : "Затвори", "Favorites" : "Омиљени", @@ -19,15 +22,13 @@ OC.L10N.register( "Uploading …" : "Отпремам…", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} од {totalSize} ({bitrate})", + "Uploading that item is not supported" : "Отпремање те ставке није подржано", "Target folder does not exist any more" : "Одредишна фасцикла више не постоји", "Error when assembling chunks, status code {status}" : "Грешки при прикупљању делова фајла, статус код {status}", "Actions" : "Радње", - "Download" : "Преузми", "Rename" : "Преименуј", - "Move or copy" : "Помери или копирај", "Copy" : "Копирај", "Target folder" : "Одредишна фасцикла", - "Delete" : "Обриши", "Disconnect storage" : "Искључи складиште", "Unshare" : "Укини дељење", "Could not load info for file \"{file}\"" : "Не могу да учитам информације фајла \"{file}\"", diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json index 32f52822982..315c6537cea 100644 --- a/apps/files/l10n/sr.json +++ b/apps/files/l10n/sr.json @@ -5,6 +5,9 @@ "All files" : "Сви фајлови", "Recent" : "Скорашњи", "File could not be found" : "Фајл није нађен", + "Move or copy" : "Помери или копирај", + "Download" : "Преузми", + "Delete" : "Обриши", "Home" : "Почетна", "Close" : "Затвори", "Favorites" : "Омиљени", @@ -17,15 +20,13 @@ "Uploading …" : "Отпремам…", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} од {totalSize} ({bitrate})", + "Uploading that item is not supported" : "Отпремање те ставке није подржано", "Target folder does not exist any more" : "Одредишна фасцикла више не постоји", "Error when assembling chunks, status code {status}" : "Грешки при прикупљању делова фајла, статус код {status}", "Actions" : "Радње", - "Download" : "Преузми", "Rename" : "Преименуј", - "Move or copy" : "Помери или копирај", "Copy" : "Копирај", "Target folder" : "Одредишна фасцикла", - "Delete" : "Обриши", "Disconnect storage" : "Искључи складиште", "Unshare" : "Укини дељење", "Could not load info for file \"{file}\"" : "Не могу да учитам информације фајла \"{file}\"", diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js index c893216a3bf..114af4ad069 100644 --- a/apps/files/l10n/sv.js +++ b/apps/files/l10n/sv.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Alla filer", "Recent" : "Senaste", "File could not be found" : "Fil kunde inte hittas", + "Move or copy" : "Flytta eller kopiera", + "Download" : "Ladda ned", + "Delete" : "Radera", "Home" : "Hem", "Close" : "Stäng", "Favorites" : "Favoriter", @@ -22,11 +25,8 @@ OC.L10N.register( "Target folder does not exist any more" : "Målmapp existerar inte längre", "Error when assembling chunks, status code {status}" : "Fel vid ihopsättning av bitarna: statuskod: {status}", "Actions" : "Åtgärder", - "Download" : "Ladda ned", "Rename" : "Byt namn", - "Move or copy" : "Flytta eller kopiera", "Target folder" : "Målmapp", - "Delete" : "Radera", "Disconnect storage" : "Koppla bort lagring", "Unshare" : "Sluta dela", "Could not load info for file \"{file}\"" : "Kunde inte ladda information för fil \"{file}\"", diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json index 24586c07bbf..25b6acae235 100644 --- a/apps/files/l10n/sv.json +++ b/apps/files/l10n/sv.json @@ -5,6 +5,9 @@ "All files" : "Alla filer", "Recent" : "Senaste", "File could not be found" : "Fil kunde inte hittas", + "Move or copy" : "Flytta eller kopiera", + "Download" : "Ladda ned", + "Delete" : "Radera", "Home" : "Hem", "Close" : "Stäng", "Favorites" : "Favoriter", @@ -20,11 +23,8 @@ "Target folder does not exist any more" : "Målmapp existerar inte längre", "Error when assembling chunks, status code {status}" : "Fel vid ihopsättning av bitarna: statuskod: {status}", "Actions" : "Åtgärder", - "Download" : "Ladda ned", "Rename" : "Byt namn", - "Move or copy" : "Flytta eller kopiera", "Target folder" : "Målmapp", - "Delete" : "Radera", "Disconnect storage" : "Koppla bort lagring", "Unshare" : "Sluta dela", "Could not load info for file \"{file}\"" : "Kunde inte ladda information för fil \"{file}\"", diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js index b49b0fa1765..a7a6c48946c 100644 --- a/apps/files/l10n/tr.js +++ b/apps/files/l10n/tr.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Tüm dosyalar", "Recent" : "Son", "File could not be found" : "Dosya bulunamadı", + "Move or copy" : "Taşı ya da kopyala", + "Download" : "İndir", + "Delete" : "Sil", "Home" : "Giriş", "Close" : "Kapat", "Favorites" : "Sık Kullanılanlar", @@ -23,12 +26,9 @@ OC.L10N.register( "Target folder does not exist any more" : "Hedef klasör artık yok", "Error when assembling chunks, status code {status}" : "Kümeler oluşturulurken sorun çıktı, durum kodu {status}", "Actions" : "İşlemler", - "Download" : "İndir", "Rename" : "Yeniden Adlandır", - "Move or copy" : "Taşı ya da kopyala", "Copy" : "Kopyala", "Target folder" : "Hedef klasör", - "Delete" : "Sil", "Disconnect storage" : "Depolama bağlantısını kes", "Unshare" : "Paylaşımı Kaldır", "Could not load info for file \"{file}\"" : "\"{file}\" dosyasının bilgileri alınamadı", diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json index e493fe7d897..bac04b03bac 100644 --- a/apps/files/l10n/tr.json +++ b/apps/files/l10n/tr.json @@ -5,6 +5,9 @@ "All files" : "Tüm dosyalar", "Recent" : "Son", "File could not be found" : "Dosya bulunamadı", + "Move or copy" : "Taşı ya da kopyala", + "Download" : "İndir", + "Delete" : "Sil", "Home" : "Giriş", "Close" : "Kapat", "Favorites" : "Sık Kullanılanlar", @@ -21,12 +24,9 @@ "Target folder does not exist any more" : "Hedef klasör artık yok", "Error when assembling chunks, status code {status}" : "Kümeler oluşturulurken sorun çıktı, durum kodu {status}", "Actions" : "İşlemler", - "Download" : "İndir", "Rename" : "Yeniden Adlandır", - "Move or copy" : "Taşı ya da kopyala", "Copy" : "Kopyala", "Target folder" : "Hedef klasör", - "Delete" : "Sil", "Disconnect storage" : "Depolama bağlantısını kes", "Unshare" : "Paylaşımı Kaldır", "Could not load info for file \"{file}\"" : "\"{file}\" dosyasının bilgileri alınamadı", diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js index 78fdac2551e..1e4889472dd 100644 --- a/apps/files/l10n/uk.js +++ b/apps/files/l10n/uk.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Усі файли", "Recent" : "Останні", "File could not be found" : "Файл не знайдено", + "Move or copy" : "Перенести або копіювати", + "Download" : "Завантажити", + "Delete" : "Видалити", "Home" : "Домівка", "Close" : "Закрити", "Favorites" : "Улюблені", @@ -20,11 +23,8 @@ OC.L10N.register( "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} з {totalSize} ({bitrate})", "Actions" : "Дії", - "Download" : "Завантажити", "Rename" : "Перейменувати", - "Move or copy" : "Перенести або копіювати", "Target folder" : "Тека призначення", - "Delete" : "Видалити", "Disconnect storage" : "Від’єднати сховище", "Unshare" : "Закрити спільний доступ", "Could not load info for file \"{file}\"" : "Неможливо завантажити інформацію за файлом \"{file}\"", diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json index 5dd3fcf16cb..c20d7af1f8e 100644 --- a/apps/files/l10n/uk.json +++ b/apps/files/l10n/uk.json @@ -5,6 +5,9 @@ "All files" : "Усі файли", "Recent" : "Останні", "File could not be found" : "Файл не знайдено", + "Move or copy" : "Перенести або копіювати", + "Download" : "Завантажити", + "Delete" : "Видалити", "Home" : "Домівка", "Close" : "Закрити", "Favorites" : "Улюблені", @@ -18,11 +21,8 @@ "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} з {totalSize} ({bitrate})", "Actions" : "Дії", - "Download" : "Завантажити", "Rename" : "Перейменувати", - "Move or copy" : "Перенести або копіювати", "Target folder" : "Тека призначення", - "Delete" : "Видалити", "Disconnect storage" : "Від’єднати сховище", "Unshare" : "Закрити спільний доступ", "Could not load info for file \"{file}\"" : "Неможливо завантажити інформацію за файлом \"{file}\"", diff --git a/apps/files/l10n/vi.js b/apps/files/l10n/vi.js index f57b63ab68b..f6d5fe35408 100644 --- a/apps/files/l10n/vi.js +++ b/apps/files/l10n/vi.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "Tất cả tệp tin", "Recent" : "Gần đây", "File could not be found" : "Tệp tin không tồn tại", + "Move or copy" : "Di chuyển hoặc sao chép", + "Download" : "Tải về", + "Delete" : "Xóa", "Home" : "Nhà", "Close" : "Đóng", "Favorites" : "Ưa thích", @@ -18,11 +21,8 @@ OC.L10N.register( "Not enough free space" : "Không đủ dung lượng trống", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} trong tổng số {totalSize} ({bitrate})", "Actions" : "Actions", - "Download" : "Tải về", "Rename" : "Sửa tên", - "Move or copy" : "Di chuyển hoặc sao chép", "Target folder" : "Thư mục đích", - "Delete" : "Xóa", "Disconnect storage" : "Bộ lưu trữ đã ngắt kết nối", "Unshare" : "Bỏ chia sẻ", "Could not load info for file \"{file}\"" : "Không thể tải thông tin cho tệp \"{file}\"", @@ -124,6 +124,7 @@ OC.L10N.register( "Shared by link" : "Được chia sẻ bởi liên kết", "Tags" : "Nhãn", "Deleted files" : "Thùng rác", - "Text file" : "Tập tin văn bản" + "Text file" : "Tập tin văn bản", + "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Sử dụng địa chỉ <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\"> để truy cập các Tập tin của bạn qua WebDAV</a>" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json index 1210b8fabbf..9f14cffdc84 100644 --- a/apps/files/l10n/vi.json +++ b/apps/files/l10n/vi.json @@ -5,6 +5,9 @@ "All files" : "Tất cả tệp tin", "Recent" : "Gần đây", "File could not be found" : "Tệp tin không tồn tại", + "Move or copy" : "Di chuyển hoặc sao chép", + "Download" : "Tải về", + "Delete" : "Xóa", "Home" : "Nhà", "Close" : "Đóng", "Favorites" : "Ưa thích", @@ -16,11 +19,8 @@ "Not enough free space" : "Không đủ dung lượng trống", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} trong tổng số {totalSize} ({bitrate})", "Actions" : "Actions", - "Download" : "Tải về", "Rename" : "Sửa tên", - "Move or copy" : "Di chuyển hoặc sao chép", "Target folder" : "Thư mục đích", - "Delete" : "Xóa", "Disconnect storage" : "Bộ lưu trữ đã ngắt kết nối", "Unshare" : "Bỏ chia sẻ", "Could not load info for file \"{file}\"" : "Không thể tải thông tin cho tệp \"{file}\"", @@ -122,6 +122,7 @@ "Shared by link" : "Được chia sẻ bởi liên kết", "Tags" : "Nhãn", "Deleted files" : "Thùng rác", - "Text file" : "Tập tin văn bản" + "Text file" : "Tập tin văn bản", + "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Sử dụng địa chỉ <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\"> để truy cập các Tập tin của bạn qua WebDAV</a>" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js index 4aea8fd60d1..61807d0b436 100644 --- a/apps/files/l10n/zh_CN.js +++ b/apps/files/l10n/zh_CN.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "全部文件", "Recent" : "最近", "File could not be found" : "文件未找到", + "Move or copy" : "移动或者复制", + "Download" : "下载", + "Delete" : "删除", "Home" : "首页", "Close" : "关闭", "Favorites" : "收藏", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "目标文件夹不存在", "Error when assembling chunks, status code {status}" : "组装块时发生错误,状态码 {status}", "Actions" : "操作", - "Download" : "下载", "Rename" : "重命名", - "Move or copy" : "移动或者复制", "Copy" : "复制", "Target folder" : "目标目录", - "Delete" : "删除", "Disconnect storage" : "断开存储链接", "Unshare" : "取消共享", "Could not load info for file \"{file}\"" : "无法加载文件 \"{file}\" 的信息", diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json index 23809f90204..259a3dcd56a 100644 --- a/apps/files/l10n/zh_CN.json +++ b/apps/files/l10n/zh_CN.json @@ -5,6 +5,9 @@ "All files" : "全部文件", "Recent" : "最近", "File could not be found" : "文件未找到", + "Move or copy" : "移动或者复制", + "Download" : "下载", + "Delete" : "删除", "Home" : "首页", "Close" : "关闭", "Favorites" : "收藏", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "目标文件夹不存在", "Error when assembling chunks, status code {status}" : "组装块时发生错误,状态码 {status}", "Actions" : "操作", - "Download" : "下载", "Rename" : "重命名", - "Move or copy" : "移动或者复制", "Copy" : "复制", "Target folder" : "目标目录", - "Delete" : "删除", "Disconnect storage" : "断开存储链接", "Unshare" : "取消共享", "Could not load info for file \"{file}\"" : "无法加载文件 \"{file}\" 的信息", diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js index 74f856ed74d..c7390d1602f 100644 --- a/apps/files/l10n/zh_TW.js +++ b/apps/files/l10n/zh_TW.js @@ -7,6 +7,9 @@ OC.L10N.register( "All files" : "所有檔案", "Recent" : "近期", "File could not be found" : "找不到檔案", + "Move or copy" : "移動或複製", + "Download" : "下載", + "Delete" : "刪除", "Home" : "家目錄", "Close" : " 關閉", "Favorites" : "最愛", @@ -22,12 +25,9 @@ OC.L10N.register( "Target folder does not exist any more" : "目標資料夾已經不存在了", "Error when assembling chunks, status code {status}" : "重組檔案片段時出錯,狀態代碼 {status}", "Actions" : "動作", - "Download" : "下載", "Rename" : "重新命名", - "Move or copy" : "移動或複製", "Copy" : "複製", "Target folder" : "目標資料夾", - "Delete" : "刪除", "Disconnect storage" : "斷開儲存空間連接", "Unshare" : "取消分享", "Could not load info for file \"{file}\"" : "無法讀取 \"{file}\" 的詳細資料", diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json index 1dca240bd01..928903e0aef 100644 --- a/apps/files/l10n/zh_TW.json +++ b/apps/files/l10n/zh_TW.json @@ -5,6 +5,9 @@ "All files" : "所有檔案", "Recent" : "近期", "File could not be found" : "找不到檔案", + "Move or copy" : "移動或複製", + "Download" : "下載", + "Delete" : "刪除", "Home" : "家目錄", "Close" : " 關閉", "Favorites" : "最愛", @@ -20,12 +23,9 @@ "Target folder does not exist any more" : "目標資料夾已經不存在了", "Error when assembling chunks, status code {status}" : "重組檔案片段時出錯,狀態代碼 {status}", "Actions" : "動作", - "Download" : "下載", "Rename" : "重新命名", - "Move or copy" : "移動或複製", "Copy" : "複製", "Target folder" : "目標資料夾", - "Delete" : "刪除", "Disconnect storage" : "斷開儲存空間連接", "Unshare" : "取消分享", "Could not load info for file \"{file}\"" : "無法讀取 \"{file}\" 的詳細資料", diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php index e6b1e54d389..9cae72a176f 100644 --- a/apps/files/templates/list.php +++ b/apps/files/templates/list.php @@ -49,20 +49,16 @@ </th> <th id='headerName' class="hidden column-name"> <div id="headerName-container"> - <a class="name sort columntitle" data-sort="name"><span><?php p($l->t( 'Name' )); ?></span><span class="sort-indicator"></span></a> - <span id="selectedActionsList" class="selectedActions"> - <a href="" class="copy-move"> - <span class="icon icon-external"></span> - <span class="label"><?php p($l->t('Move or copy'))?></span> - </a> - <a href="" class="download"> - <span class="icon icon-download"></span> - <span><?php p($l->t('Download'))?></span> - </a> - <a href="" class="delete-selected"> - <span class="icon icon-delete"></span> - <span><?php p($l->t('Delete'))?></span> - </a> + <a class="name sort columntitle" data-sort="name"> + <span><?php p($l->t( 'Name' )); ?></span> + <span class="sort-indicator"></span> + + </a> + <span id="selectedActionsList" class="selectedActions"> + <a href="" class="actions-selected"> + <span class="icon icon-more"></span> + <span><?php p($l->t('Actions'))?></span> + </a> </span> </div> </th> @@ -71,10 +67,6 @@ </th> <th id="headerDate" class="hidden column-mtime"> <a id="modified" class="columntitle" data-sort="mtime"><span><?php p($l->t( 'Modified' )); ?></span><span class="sort-indicator"></span></a> - <span class="selectedActions"><a href="" class="delete-selected"> - <span><?php p($l->t('Delete'))?></span> - <span class="icon icon-delete"></span> - </a></span> </th> </tr> </thead> diff --git a/apps/files/templates/recentlist.php b/apps/files/templates/recentlist.php index 6c271a07f5f..cfdb95c80a0 100644 --- a/apps/files/templates/recentlist.php +++ b/apps/files/templates/recentlist.php @@ -28,10 +28,12 @@ <a id="modified" class="columntitle" data-sort="mtime"><span><?php p($l->t('Modified')); ?></span><span class="sort-indicator"></span></a> - <span class="selectedActions"><a href="" class="delete-selected"> - <span><?php p($l->t('Delete')) ?></span> - <span class="icon icon-delete"></span> - </a></span> + <span class="selectedActions"> + <a href="" class="delete-selected"> + <span class="icon icon-delete"></span> + <span><?php p($l->t('Delete')) ?></span> + </a> + </span> </th> </tr> </thead> diff --git a/apps/files/templates/simplelist.php b/apps/files/templates/simplelist.php index 1dc927c9b59..78adb21922f 100644 --- a/apps/files/templates/simplelist.php +++ b/apps/files/templates/simplelist.php @@ -13,7 +13,6 @@ <h2><?php p($l->t('No entries found in this folder')); ?></h2> <p></p> </div> - <table id="filestable"> <thead> <tr> @@ -27,11 +26,13 @@ </th> <th id="headerDate" class="hidden column-mtime"> <a id="modified" class="columntitle" data-sort="mtime"><span><?php p($l->t( 'Modified' )); ?></span><span class="sort-indicator"></span></a> - <span class="selectedActions"><a href="" class="delete-selected"> - <?php p($l->t('Delete'))?> - <img class="svg" alt="" - src="<?php print_unescaped(OCP\Template::image_path("core", "actions/delete.svg")); ?>" /> - </a></span> + <span class="selectedActions"> + <a href="" class="delete-selected"> + <img class="svg" alt="" + src="<?php print_unescaped(OCP\Template::image_path("core", "actions/delete.svg")); ?>" /> + <?php p($l->t('Delete'))?> + </a> + </span> </th> </tr> </thead> diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js index 1b26a468172..efaf9968def 100644 --- a/apps/files/tests/js/filelistSpec.js +++ b/apps/files/tests/js/filelistSpec.js @@ -94,9 +94,7 @@ describe('OCA.Files.FileList tests', function() { '<input type="checkbox" id="select_all_files" class="select-all checkbox">' + '<a class="name columntitle" data-sort="name"><span>Name</span><span class="sort-indicator"></span></a>' + '<span id="selectedActionsList" class="selectedActions hidden">' + - '<a href class="copy-move"><span class="label">Move or copy</span></a>' + - '<a href class="download"><img src="actions/download.svg">Download</a>' + - '<a href class="delete-selected">Delete</a></span>' + + '<a href class="actions-selected"><span class="icon icon-more"></span><span>Actions</span></a>' + '</th>' + '<th class="hidden column-size"><a class="columntitle" data-sort="size"><span class="sort-indicator"></span></a></th>' + '<th class="hidden column-mtime"><a class="columntitle" data-sort="mtime"><span class="sort-indicator"></span></a></th>' + @@ -161,7 +159,22 @@ describe('OCA.Files.FileList tests', function() { fileList = new OCA.Files.FileList($('#app-content-files'), { filesClient: filesClient, config: filesConfig, - enableUpload: true + enableUpload: true, + multiSelectMenu: [{ + name: 'copyMove', + displayName: t('files', 'Move or copy'), + iconClass: 'icon-external', + }, + { + name: 'download', + displayName: t('files', 'Download'), + iconClass: 'icon-download', + }, + { + name: 'delete', + displayName: t('files', 'Delete'), + iconClass: 'icon-delete', + }] }); }); afterEach(function() { @@ -2100,41 +2113,41 @@ describe('OCA.Files.FileList tests', function() { fileList.setFiles(testFiles); $('#permissions').val(OC.PERMISSION_READ | OC.PERMISSION_UPDATE); $('.select-all').click(); - expect(fileList.$el.find('.selectedActions .copy-move').hasClass('hidden')).toEqual(false); - expect(fileList.$el.find('.selectedActions .copy-move .label').text()).toEqual('Move or copy'); + expect(fileList.$el.find('.selectedActions .item-copyMove').hasClass('hidden')).toEqual(false); + expect(fileList.$el.find('.selectedActions .item-copyMove .label').text()).toEqual('Move or copy'); testFiles[0].permissions = OC.PERMISSION_READ; $('.select-all').click(); fileList.setFiles(testFiles); $('.select-all').click(); - expect(fileList.$el.find('.selectedActions .copy-move').hasClass('hidden')).toEqual(false); - expect(fileList.$el.find('.selectedActions .copy-move .label').text()).toEqual('Copy'); + expect(fileList.$el.find('.selectedActions .item-copyMove').hasClass('hidden')).toEqual(false); + expect(fileList.$el.find('.selectedActions .item-copyMove .label').text()).toEqual('Copy'); testFiles[0].permissions = OC.PERMISSION_NONE; $('.select-all').click(); fileList.setFiles(testFiles); $('.select-all').click(); - expect(fileList.$el.find('.selectedActions .copy-move').hasClass('hidden')).toEqual(true); + expect(fileList.$el.find('.selectedActions .item-copyMove').hasClass('hidden')).toEqual(true); }); it('show doesnt show the download action if one or more files are not downloadable', function () { fileList.setFiles(testFiles); $('#permissions').val(OC.PERMISSION_READ | OC.PERMISSION_UPDATE); $('.select-all').click(); - expect(fileList.$el.find('.selectedActions .download').hasClass('hidden')).toEqual(false); + expect(fileList.$el.find('.selectedActions .item-download').hasClass('hidden')).toEqual(false); testFiles[0].permissions = OC.PERMISSION_UPDATE; $('.select-all').click(); fileList.setFiles(testFiles); $('.select-all').click(); - expect(fileList.$el.find('.selectedActions .download').hasClass('hidden')).toEqual(true); + expect(fileList.$el.find('.selectedActions .item-download').hasClass('hidden')).toEqual(true); }); it('show doesnt show the delete action if one or more files are not deletable', function () { fileList.setFiles(testFiles); $('#permissions').val(OC.PERMISSION_READ | OC.PERMISSION_DELETE); $('.select-all').click(); - expect(fileList.$el.find('.delete-selected').hasClass('hidden')).toEqual(false); + expect(fileList.$el.find('.selectedActions .item-delete').hasClass('hidden')).toEqual(false); testFiles[0].permissions = OC.PERMISSION_READ; $('.select-all').click(); fileList.setFiles(testFiles); $('.select-all').click(); - expect(fileList.$el.find('.delete-selected').hasClass('hidden')).toEqual(true); + expect(fileList.$el.find('.selectedActions .item-delete').hasClass('hidden')).toEqual(true); }); }); describe('Actions', function() { @@ -2219,8 +2232,12 @@ describe('OCA.Files.FileList tests', function() { }); }); describe('Download', function() { + beforeEach(function() { + fileList.$el.find('.actions-selected').click(); + }); + it('Opens download URL when clicking "Download"', function() { - $('.selectedActions .download').click(); + $('.selectedActions .filesSelectMenu .download').click(); expect(redirectStub.calledOnce).toEqual(true); expect(redirectStub.getCall(0).args[0]).toContain(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2Fsubdir&files=%5B%22One.txt%22%2C%22Three.pdf%22%2C%22somedir%22%5D'); redirectStub.restore(); @@ -2228,28 +2245,37 @@ describe('OCA.Files.FileList tests', function() { it('Downloads root folder when all selected in root folder', function() { $('#dir').val('/'); $('.select-all').click(); - $('.selectedActions .download').click(); + $('.selectedActions .filesSelectMenu .download').click(); expect(redirectStub.calledOnce).toEqual(true); expect(redirectStub.getCall(0).args[0]).toContain(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2F&files='); }); it('Downloads parent folder when all selected in subfolder', function() { $('.select-all').click(); - $('.selectedActions .download').click(); + $('.selectedActions .filesSelectMenu .download').click(); expect(redirectStub.calledOnce).toEqual(true); expect(redirectStub.getCall(0).args[0]).toContain(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2F&files=subdir'); }); + + afterEach(function() { + fileList.$el.find('.actions-selected').click(); + }); }); + describe('Delete', function() { var deleteStub, deferredDelete; beforeEach(function() { deferredDelete = $.Deferred(); deleteStub = sinon.stub(filesClient, 'remove').returns(deferredDelete.promise()); + fileList.$el.find('.actions-selected').click(); }); + afterEach(function() { + fileList.$el.find('.actions-selected').click(); deleteStub.restore(); }); + it('Deletes selected files when "Delete" clicked', function() { - $('.selectedActions .delete-selected').click(); + $('.selectedActions .filesSelectMenu .delete').click(); expect(deleteStub.callCount).toEqual(3); expect(deleteStub.getCall(0).args[0]).toEqual('/subdir/One.txt'); @@ -2265,7 +2291,7 @@ describe('OCA.Files.FileList tests', function() { }); it('Deletes all files when all selected when "Delete" clicked', function() { $('.select-all').click(); - $('.selectedActions .delete-selected').click(); + $('.selectedActions .filesSelectMenu .delete').click(); expect(deleteStub.callCount).toEqual(4); expect(deleteStub.getCall(0).args[0]).toEqual('/subdir/One.txt'); diff --git a/apps/files_external/l10n/he.js b/apps/files_external/l10n/he.js index ecfd22ab35c..79cd66fc4d6 100644 --- a/apps/files_external/l10n/he.js +++ b/apps/files_external/l10n/he.js @@ -1,6 +1,7 @@ OC.L10N.register( "files_external", { + "External storages" : "התקני אחסון חיצוניים", "Personal" : "אישי", "System" : "מערכת", "Grant access" : "הענקת גישה", @@ -13,13 +14,19 @@ OC.L10N.register( "(group)" : "(קבוצה)", "Compatibility with Mac NFD encoding (slow)" : "תואם של קידוד Mac NFD (איטי)", "Admin defined" : "הוגדר מנהל", + "Are you sure you want to delete this external storage?" : "למחוק את האחסון החיצוני הזה?", + "Delete storage?" : "למחוק אחסון?", "Saved" : "נשמר", + "Saving..." : "מתבצעת שמירה…", "Save" : "שמירה", "Empty response from the server" : "תגובה ריקה מהשרת", + "Couldn't access. Please log out and in again to activate this mount point" : "לא ניתן לגשת. נא לצאת ולהיכנס שוב כדי להפעיל את נקודת העגינה הזו", + "Couldn't get the information from the remote server: {code} {type}" : "לא ניתן לקבל את המידע מהשרת המרוחק: {code} {type}", "Couldn't get the list of external mount points: {type}" : "לא ניתן היה לקבל את רשימת נקודות העיגון החיצוניות: {type}", "There was an error with message: " : "התרחשה שגיאה עם הודעה: ", "External mount error" : "שגיאת עגינה חיצונית", "external-storage" : "אחסון חיצוני", + "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "לא ניתן לקבל את רשימת נקודות העגינה לכונני רשת ב־Windows: תגובה ריקה מהשרת", "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "חלק מנקודות העיגון החיצוניות שהוגדרו אינן מחוברות. יש ללחוץ על השורה/ות האדומה/ות למידע נוסף", "Please enter the credentials for the {mount} mount" : "יש להזין את פרטי הגישה עבור התקן עגינה {mount}", "Username" : "שם משתמש", @@ -27,6 +34,7 @@ OC.L10N.register( "Credentials saved" : "פרטי גישה נשמרו", "Credentials saving failed" : "שמירת פרטי גישה נכשלה", "Credentials required" : "נדרשים פרטי גישה", + "Storage with ID \"%d\" not found" : "לא נמצא התקן אחסון עם המזהה „%d”", "Invalid backend or authentication mechanism class" : "צד אחורי או סוג מנגנון אימות לא חוקי", "Invalid mount point" : "נקודת עגינה לא חוקית", "Objectstore forbidden" : "Objectstore חסום", @@ -37,6 +45,7 @@ OC.L10N.register( "Unsatisfied authentication mechanism parameters" : "פרמטרים של מכניזם אימות אינם מספקים", "Insufficient data: %s" : "מידע לא מספק: %s", "%s" : "%s", + "Storage with ID \"%d\" is not user editable" : "למשתמשים אין אפשרות לערוך התקן אחסון עם מזהה „%d”", "Access key" : "מפתח כניסה", "Secret key" : "מפתח סודי", "Builtin" : "מובנה", @@ -47,15 +56,22 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "זיהוי לקוח", "Client secret" : "סוד לקוח", + "OpenStack v2" : "OpenStack v2", "Tenant name" : "שם דייר", "Identity endpoint URL" : "זהות נתיב נקודת קצה", + "OpenStack v3" : "OpenStack v3", "Domain" : "שם תחום", "Rackspace" : "חץ אחורה", "API key" : "מפתח API", + "Global credentials" : "פרטי גישה גלובליים", + "Log-in credentials, save in database" : "פרטי כניסה, שמירה במסד הנתונים", "Username and password" : "שם משתמש וסיסמא", "Log-in credentials, save in session" : "אישורי התחברות, נשמרים במידע שיחה - סשן", + "User entered, store in database" : "הוכנס על ידי המשתמש, אחסון במסד הנתונים", "RSA public key" : "מפתח ציבורי RSA", "Public key" : "מפתח ציבורי", + "RSA private key" : "מפתח RSA פרט", + "Private key" : "מפתח פרט", "Amazon S3" : "אמזון S3", "Bucket" : "סל", "Hostname" : "שם מארח", @@ -63,6 +79,7 @@ OC.L10N.register( "Region" : "אזור", "Enable SSL" : "הפעלת SSL", "Enable Path Style" : "אהפעלת סגנון נתיב", + "Legacy (v2) authentication" : "אימות מיושן (v2)", "WebDAV" : "WebDAV", "URL" : "נתיב אינטרנט", "Remote subfolder" : "תיקיית משנה רחוקה", @@ -72,6 +89,7 @@ OC.L10N.register( "Secure ftps://" : "פרוטוקול מאובטח ftps://", "Local" : "מקומי", "Location" : "מיקום", + "Nextcloud" : "Nextcloud", "SFTP" : "SFTP", "Root" : "נתיב ראשי", "SFTP with secret key login" : "SFTP עם מפתח כניסה סודי", @@ -82,6 +100,9 @@ OC.L10N.register( "OpenStack Object Storage" : "אחסון אובייקט OpenStack", "Service name" : "שם שירות", "Request timeout (seconds)" : "פסק זמן מבוקש (שניות)", + "External storage support" : "תמיכה באחסון חיצוני", + "Adds basic external storage support" : "מוסיף תמיכה בסיסית בהתקן חיצוני", + "No external storage configured or you don't have the permission to configure them" : "לא הוגדר התקן חיצוני או שאין לך הרשאות להגדיר כאלה", "Name" : "שם", "Storage type" : "סוג אחסון", "Scope" : "היקף", @@ -91,18 +112,29 @@ OC.L10N.register( "Check for changes" : "בדיקה אחר שינויים", "Never" : "לעולם לא", "Once every direct access" : "פעם אחת כל כניסה ישירה", + "Read only" : "קריאה בלבד", "Folder name" : "שם התיקייה", "External storage" : "אחסון חיצוני", "Authentication" : "אימות", "Configuration" : "הגדרות", "Available for" : "זמין עבור", + "Click to recheck the configuration" : "יש ללחוץ כאן כדי לבדוק את ההגדרות מחדש", "Add storage" : "הוספת אחסון", "Advanced settings" : "הגדרות מתקדמות", "Delete" : "מחיקה", "Allow users to mount external storage" : "מאפשר למשתמשים לחבר אחסון חיצוני", "Allow users to mount the following external storage" : "מאפשר למשתמשים לחבר אחסון חיצוני הבא", + "Fetching request tokens failed. Verify that your app key and secret are correct." : "קבלת אסימוני בקשה נכשלה. נא לוודא שהמפתח והסוד של היישומון שלך נכונים.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "קבלת אסימוני גישה נכשלה. נא לוודא שהמפתח והסוד של היישומון שלך נכונים.", + "Step 1 failed. Exception: %s" : "שלב 1 נכשל: חריגה: %s", + "Step 2 failed. Exception: %s" : "שלב 2 נכשל. חריגה: %s", + "Dropbox App Configuration" : "הגדרות יישומון Dropbox", + "Google Drive App Configuration" : "הגדרות יישומון Google Drive", "OpenStack" : "OpenStack", + "Dropbox" : "Dropbox", + "Google Drive" : "Google Drive", "No external storage configured" : "לא מוגדר אחסון חיצוני", - "You can add external storages in the personal settings" : "ניתן להוסיף אחסונים חיצוניים בהגדרות האישיות" + "You can add external storages in the personal settings" : "ניתן להוסיף אחסונים חיצוניים בהגדרות האישיות", + "Are you sure you want to delete this external storage" : "למחוק את התקן האחסון החיצוני הזה" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); diff --git a/apps/files_external/l10n/he.json b/apps/files_external/l10n/he.json index edb9758ed3a..c815af06c7c 100644 --- a/apps/files_external/l10n/he.json +++ b/apps/files_external/l10n/he.json @@ -1,4 +1,5 @@ { "translations": { + "External storages" : "התקני אחסון חיצוניים", "Personal" : "אישי", "System" : "מערכת", "Grant access" : "הענקת גישה", @@ -11,13 +12,19 @@ "(group)" : "(קבוצה)", "Compatibility with Mac NFD encoding (slow)" : "תואם של קידוד Mac NFD (איטי)", "Admin defined" : "הוגדר מנהל", + "Are you sure you want to delete this external storage?" : "למחוק את האחסון החיצוני הזה?", + "Delete storage?" : "למחוק אחסון?", "Saved" : "נשמר", + "Saving..." : "מתבצעת שמירה…", "Save" : "שמירה", "Empty response from the server" : "תגובה ריקה מהשרת", + "Couldn't access. Please log out and in again to activate this mount point" : "לא ניתן לגשת. נא לצאת ולהיכנס שוב כדי להפעיל את נקודת העגינה הזו", + "Couldn't get the information from the remote server: {code} {type}" : "לא ניתן לקבל את המידע מהשרת המרוחק: {code} {type}", "Couldn't get the list of external mount points: {type}" : "לא ניתן היה לקבל את רשימת נקודות העיגון החיצוניות: {type}", "There was an error with message: " : "התרחשה שגיאה עם הודעה: ", "External mount error" : "שגיאת עגינה חיצונית", "external-storage" : "אחסון חיצוני", + "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "לא ניתן לקבל את רשימת נקודות העגינה לכונני רשת ב־Windows: תגובה ריקה מהשרת", "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "חלק מנקודות העיגון החיצוניות שהוגדרו אינן מחוברות. יש ללחוץ על השורה/ות האדומה/ות למידע נוסף", "Please enter the credentials for the {mount} mount" : "יש להזין את פרטי הגישה עבור התקן עגינה {mount}", "Username" : "שם משתמש", @@ -25,6 +32,7 @@ "Credentials saved" : "פרטי גישה נשמרו", "Credentials saving failed" : "שמירת פרטי גישה נכשלה", "Credentials required" : "נדרשים פרטי גישה", + "Storage with ID \"%d\" not found" : "לא נמצא התקן אחסון עם המזהה „%d”", "Invalid backend or authentication mechanism class" : "צד אחורי או סוג מנגנון אימות לא חוקי", "Invalid mount point" : "נקודת עגינה לא חוקית", "Objectstore forbidden" : "Objectstore חסום", @@ -35,6 +43,7 @@ "Unsatisfied authentication mechanism parameters" : "פרמטרים של מכניזם אימות אינם מספקים", "Insufficient data: %s" : "מידע לא מספק: %s", "%s" : "%s", + "Storage with ID \"%d\" is not user editable" : "למשתמשים אין אפשרות לערוך התקן אחסון עם מזהה „%d”", "Access key" : "מפתח כניסה", "Secret key" : "מפתח סודי", "Builtin" : "מובנה", @@ -45,15 +54,22 @@ "OAuth2" : "OAuth2", "Client ID" : "זיהוי לקוח", "Client secret" : "סוד לקוח", + "OpenStack v2" : "OpenStack v2", "Tenant name" : "שם דייר", "Identity endpoint URL" : "זהות נתיב נקודת קצה", + "OpenStack v3" : "OpenStack v3", "Domain" : "שם תחום", "Rackspace" : "חץ אחורה", "API key" : "מפתח API", + "Global credentials" : "פרטי גישה גלובליים", + "Log-in credentials, save in database" : "פרטי כניסה, שמירה במסד הנתונים", "Username and password" : "שם משתמש וסיסמא", "Log-in credentials, save in session" : "אישורי התחברות, נשמרים במידע שיחה - סשן", + "User entered, store in database" : "הוכנס על ידי המשתמש, אחסון במסד הנתונים", "RSA public key" : "מפתח ציבורי RSA", "Public key" : "מפתח ציבורי", + "RSA private key" : "מפתח RSA פרט", + "Private key" : "מפתח פרט", "Amazon S3" : "אמזון S3", "Bucket" : "סל", "Hostname" : "שם מארח", @@ -61,6 +77,7 @@ "Region" : "אזור", "Enable SSL" : "הפעלת SSL", "Enable Path Style" : "אהפעלת סגנון נתיב", + "Legacy (v2) authentication" : "אימות מיושן (v2)", "WebDAV" : "WebDAV", "URL" : "נתיב אינטרנט", "Remote subfolder" : "תיקיית משנה רחוקה", @@ -70,6 +87,7 @@ "Secure ftps://" : "פרוטוקול מאובטח ftps://", "Local" : "מקומי", "Location" : "מיקום", + "Nextcloud" : "Nextcloud", "SFTP" : "SFTP", "Root" : "נתיב ראשי", "SFTP with secret key login" : "SFTP עם מפתח כניסה סודי", @@ -80,6 +98,9 @@ "OpenStack Object Storage" : "אחסון אובייקט OpenStack", "Service name" : "שם שירות", "Request timeout (seconds)" : "פסק זמן מבוקש (שניות)", + "External storage support" : "תמיכה באחסון חיצוני", + "Adds basic external storage support" : "מוסיף תמיכה בסיסית בהתקן חיצוני", + "No external storage configured or you don't have the permission to configure them" : "לא הוגדר התקן חיצוני או שאין לך הרשאות להגדיר כאלה", "Name" : "שם", "Storage type" : "סוג אחסון", "Scope" : "היקף", @@ -89,18 +110,29 @@ "Check for changes" : "בדיקה אחר שינויים", "Never" : "לעולם לא", "Once every direct access" : "פעם אחת כל כניסה ישירה", + "Read only" : "קריאה בלבד", "Folder name" : "שם התיקייה", "External storage" : "אחסון חיצוני", "Authentication" : "אימות", "Configuration" : "הגדרות", "Available for" : "זמין עבור", + "Click to recheck the configuration" : "יש ללחוץ כאן כדי לבדוק את ההגדרות מחדש", "Add storage" : "הוספת אחסון", "Advanced settings" : "הגדרות מתקדמות", "Delete" : "מחיקה", "Allow users to mount external storage" : "מאפשר למשתמשים לחבר אחסון חיצוני", "Allow users to mount the following external storage" : "מאפשר למשתמשים לחבר אחסון חיצוני הבא", + "Fetching request tokens failed. Verify that your app key and secret are correct." : "קבלת אסימוני בקשה נכשלה. נא לוודא שהמפתח והסוד של היישומון שלך נכונים.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "קבלת אסימוני גישה נכשלה. נא לוודא שהמפתח והסוד של היישומון שלך נכונים.", + "Step 1 failed. Exception: %s" : "שלב 1 נכשל: חריגה: %s", + "Step 2 failed. Exception: %s" : "שלב 2 נכשל. חריגה: %s", + "Dropbox App Configuration" : "הגדרות יישומון Dropbox", + "Google Drive App Configuration" : "הגדרות יישומון Google Drive", "OpenStack" : "OpenStack", + "Dropbox" : "Dropbox", + "Google Drive" : "Google Drive", "No external storage configured" : "לא מוגדר אחסון חיצוני", - "You can add external storages in the personal settings" : "ניתן להוסיף אחסונים חיצוניים בהגדרות האישיות" + "You can add external storages in the personal settings" : "ניתן להוסיף אחסונים חיצוניים בהגדרות האישיות", + "Are you sure you want to delete this external storage" : "למחוק את התקן האחסון החיצוני הזה" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" }
\ No newline at end of file diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js index cbb96585cea..fa6a87f4f1b 100644 --- a/apps/files_external/l10n/ja.js +++ b/apps/files_external/l10n/ja.js @@ -21,7 +21,7 @@ OC.L10N.register( "Empty response from the server" : "サーバーから空の応答がありました", "Couldn't access. Please log out and in again to activate this mount point" : "アクセスできません。ログアウトして、再度このマウントポイントをアクティベートしてください。", "Couldn't get the information from the remote server: {code} {type}" : "リモートサーバーから情報を取得できませんでした:{code} {type}", - "Couldn't get the list of external mount points: {type}" : "外部マウントポイントのリストを取得出来ませんでした。: {type}", + "Couldn't get the list of external mount points: {type}" : "外部マウントポイントのリストを取得できませんでした。: {type}", "There was an error with message: " : "メッセージ付きのエラーが発生しました:", "External mount error" : "外部マウントエラー", "external-storage" : "外部ストレージ", diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json index 723846fc9b1..d3f451688c6 100644 --- a/apps/files_external/l10n/ja.json +++ b/apps/files_external/l10n/ja.json @@ -19,7 +19,7 @@ "Empty response from the server" : "サーバーから空の応答がありました", "Couldn't access. Please log out and in again to activate this mount point" : "アクセスできません。ログアウトして、再度このマウントポイントをアクティベートしてください。", "Couldn't get the information from the remote server: {code} {type}" : "リモートサーバーから情報を取得できませんでした:{code} {type}", - "Couldn't get the list of external mount points: {type}" : "外部マウントポイントのリストを取得出来ませんでした。: {type}", + "Couldn't get the list of external mount points: {type}" : "外部マウントポイントのリストを取得できませんでした。: {type}", "There was an error with message: " : "メッセージ付きのエラーが発生しました:", "External mount error" : "外部マウントエラー", "external-storage" : "外部ストレージ", diff --git a/apps/files_external/l10n/ru.js b/apps/files_external/l10n/ru.js index fbb90ba4a89..91107f2f231 100644 --- a/apps/files_external/l10n/ru.js +++ b/apps/files_external/l10n/ru.js @@ -70,6 +70,8 @@ OC.L10N.register( "User entered, store in database" : "Указанные пользователем, хранить в базе данных", "RSA public key" : "Открытый ключ RSA", "Public key" : "Открытый ключ", + "RSA private key" : "RSA частный ключ", + "Private key" : "Частный ключ", "Amazon S3" : "Amazon S3", "Bucket" : "Корзина", "Hostname" : "Имя хоста", @@ -102,6 +104,8 @@ OC.L10N.register( "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Поддержка FTP в PHP не включена и/или не установлена, монтирование %s невозможно. Обратитесь к вашему системному администратору.", "\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "«%s» не установлен, монтирование %s невозможно. Обратитесь к вашему системному администратору.", "External storage support" : "Поддержка внешних хранилищ", + "Adds basic external storage support" : "Добавьте поддержка внешних хранилищ", + "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Это приложение позволяет администраторам настраивать подключения к провайдерам внешних хранилищ, таким как FTP-серверы, хранилища объектов S3 или SWIFT, другие серверы Nextcloud, серверы WebDAV и т. Д. Администраторы могут выбирать типы хранилищ для использования и монтировать эти места хранения для пользователя, группы или всей системы. Пользователи увидят, что в их корневой директории Nextcloud появилась новая папка, которую они могут использовать, как и любую другую папку Nextcloud. Внешние хранилища также позволяют пользователям обмениваться файлами, хранящимися в них. В этих случаях учетные данные для владельца файла используются, когда получатель запрашивает файл из внешнего хранилища, тем самым гарантируя, что получатель может получить доступ к общему файлу. Внешнее хранилище можно настроить с помощью GUI или в командной строке. Второй вариант предоставляет продвинутому пользователю большую гибкость для настройки внешнего хранилища и установки приоритетов монтирования. Дополнительная информация доступна в документации по GUI внешного хранилища и документации файла конфигурации внешнего хранилища.", "No external storage configured or you don't have the permission to configure them" : "Нет настроенного внешнего хранилища или у вас нет прав доступа для их настройки", "Name" : "Имя", "Storage type" : "Тип хранилища", @@ -133,6 +137,7 @@ OC.L10N.register( "OpenStack" : "OpenStack", "Dropbox" : "Dropbox", "Google Drive" : "Google Диск", + "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, Google Drive, Dropbox, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Это приложение позволяет администраторам настраивать подключения к провайдерам внешних хранилищ, таким как FTP-серверы, хранилища объектов S3 или SWIFT, Google Drive, Dropbox, другие серверы Nextcloud, серверы WebDAV и т. Д. Администраторы могут выбирать типы хранилищ для использования и монтировать эти места хранения для пользователя, группы или всей системы. Пользователи увидят, что в их корневой директории Nextcloud появилась новая папка, которую они могут использовать, как и любую другую папку Nextcloud. Внешние хранилища также позволяют пользователям обмениваться файлами, хранящимися в них. В этих случаях учетные данные для владельца файла используются, когда получатель запрашивает файл из внешнего хранилища, тем самым гарантируя, что получатель может получить доступ к общему файлу. Внешнее хранилище можно настроить с помощью GUI или в командной строке. Второй вариант предоставляет продвинутому пользователю большую гибкость для настройки внешнего хранилища и установки приоритетов монтирования. Дополнительная информация доступна в документации по GUI внешного хранилища и документации файла конфигурации внешнего хранилища.", "No external storage configured" : "Внешние хранилища не настроены", "You can add external storages in the personal settings" : "Вы можете добавить внешние хранилища в личных настройках", "Are you sure you want to delete this external storage" : "Действительно удалить это внешнее хранилище?" diff --git a/apps/files_external/l10n/ru.json b/apps/files_external/l10n/ru.json index ff6df5b9a55..fae54d322f0 100644 --- a/apps/files_external/l10n/ru.json +++ b/apps/files_external/l10n/ru.json @@ -68,6 +68,8 @@ "User entered, store in database" : "Указанные пользователем, хранить в базе данных", "RSA public key" : "Открытый ключ RSA", "Public key" : "Открытый ключ", + "RSA private key" : "RSA частный ключ", + "Private key" : "Частный ключ", "Amazon S3" : "Amazon S3", "Bucket" : "Корзина", "Hostname" : "Имя хоста", @@ -100,6 +102,8 @@ "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Поддержка FTP в PHP не включена и/или не установлена, монтирование %s невозможно. Обратитесь к вашему системному администратору.", "\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "«%s» не установлен, монтирование %s невозможно. Обратитесь к вашему системному администратору.", "External storage support" : "Поддержка внешних хранилищ", + "Adds basic external storage support" : "Добавьте поддержка внешних хранилищ", + "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Это приложение позволяет администраторам настраивать подключения к провайдерам внешних хранилищ, таким как FTP-серверы, хранилища объектов S3 или SWIFT, другие серверы Nextcloud, серверы WebDAV и т. Д. Администраторы могут выбирать типы хранилищ для использования и монтировать эти места хранения для пользователя, группы или всей системы. Пользователи увидят, что в их корневой директории Nextcloud появилась новая папка, которую они могут использовать, как и любую другую папку Nextcloud. Внешние хранилища также позволяют пользователям обмениваться файлами, хранящимися в них. В этих случаях учетные данные для владельца файла используются, когда получатель запрашивает файл из внешнего хранилища, тем самым гарантируя, что получатель может получить доступ к общему файлу. Внешнее хранилище можно настроить с помощью GUI или в командной строке. Второй вариант предоставляет продвинутому пользователю большую гибкость для настройки внешнего хранилища и установки приоритетов монтирования. Дополнительная информация доступна в документации по GUI внешного хранилища и документации файла конфигурации внешнего хранилища.", "No external storage configured or you don't have the permission to configure them" : "Нет настроенного внешнего хранилища или у вас нет прав доступа для их настройки", "Name" : "Имя", "Storage type" : "Тип хранилища", @@ -131,6 +135,7 @@ "OpenStack" : "OpenStack", "Dropbox" : "Dropbox", "Google Drive" : "Google Диск", + "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, Google Drive, Dropbox, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Это приложение позволяет администраторам настраивать подключения к провайдерам внешних хранилищ, таким как FTP-серверы, хранилища объектов S3 или SWIFT, Google Drive, Dropbox, другие серверы Nextcloud, серверы WebDAV и т. Д. Администраторы могут выбирать типы хранилищ для использования и монтировать эти места хранения для пользователя, группы или всей системы. Пользователи увидят, что в их корневой директории Nextcloud появилась новая папка, которую они могут использовать, как и любую другую папку Nextcloud. Внешние хранилища также позволяют пользователям обмениваться файлами, хранящимися в них. В этих случаях учетные данные для владельца файла используются, когда получатель запрашивает файл из внешнего хранилища, тем самым гарантируя, что получатель может получить доступ к общему файлу. Внешнее хранилище можно настроить с помощью GUI или в командной строке. Второй вариант предоставляет продвинутому пользователю большую гибкость для настройки внешнего хранилища и установки приоритетов монтирования. Дополнительная информация доступна в документации по GUI внешного хранилища и документации файла конфигурации внешнего хранилища.", "No external storage configured" : "Внешние хранилища не настроены", "You can add external storages in the personal settings" : "Вы можете добавить внешние хранилища в личных настройках", "Are you sure you want to delete this external storage" : "Действительно удалить это внешнее хранилище?" diff --git a/apps/files_sharing/l10n/ast.js b/apps/files_sharing/l10n/ast.js index 57b0f314f1a..cbffd5b6fb7 100644 --- a/apps/files_sharing/l10n/ast.js +++ b/apps/files_sharing/l10n/ast.js @@ -48,7 +48,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} desanició {user} de {file}", "{actor} shared {file} with you" : "{actor} compartió {file} contigo", - "{actor} removed you from {file}" : "{actor} desanicióte de {file}", "A file or folder was shared from <strong>another server</strong>" : "Compartióse un ficheru o carpeta dende <strong>otru sirvidor</strong>", "A file or folder has been <strong>shared</strong>" : "<strong>Compartióse</strong> un ficheru o direutoriu", "could not delete share" : "nun pudo desaniciase la compartición", @@ -83,6 +82,7 @@ OC.L10N.register( "Download %s" : "Descargar %s", "Select or drop files" : "Esbilla o suelta ficheros", "Uploading files…" : "Xubiendo ficheros...", - "Uploaded files:" : "Ficheros xubíos:" + "Uploaded files:" : "Ficheros xubíos:", + "{actor} removed you from {file}" : "{actor} desanicióte de {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/ast.json b/apps/files_sharing/l10n/ast.json index 9860a61990b..aaa23f5d3b7 100644 --- a/apps/files_sharing/l10n/ast.json +++ b/apps/files_sharing/l10n/ast.json @@ -46,7 +46,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} desanició {user} de {file}", "{actor} shared {file} with you" : "{actor} compartió {file} contigo", - "{actor} removed you from {file}" : "{actor} desanicióte de {file}", "A file or folder was shared from <strong>another server</strong>" : "Compartióse un ficheru o carpeta dende <strong>otru sirvidor</strong>", "A file or folder has been <strong>shared</strong>" : "<strong>Compartióse</strong> un ficheru o direutoriu", "could not delete share" : "nun pudo desaniciase la compartición", @@ -81,6 +80,7 @@ "Download %s" : "Descargar %s", "Select or drop files" : "Esbilla o suelta ficheros", "Uploading files…" : "Xubiendo ficheros...", - "Uploaded files:" : "Ficheros xubíos:" + "Uploaded files:" : "Ficheros xubíos:", + "{actor} removed you from {file}" : "{actor} desanicióte de {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/ca.js b/apps/files_sharing/l10n/ca.js index 9b7679a3dd9..fde9f51e7c6 100644 --- a/apps/files_sharing/l10n/ca.js +++ b/apps/files_sharing/l10n/ca.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} ha compartit {file} amb {usuari}", "{actor} removed {user} from {file}" : "{actor} ha tret {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartit {file} amb tu", - "{actor} removed you from {file}" : "{actor} t'ha eliminat de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "S'ha <strong> baixat </strong> un fitxer o carpeta compartit per correu o per enllaç públic", "A file or folder was shared from <strong>another server</strong>" : "S'ha compartit un fitxer o una carpeta d'un <strong> altre servidor</strong>", "A file or folder has been <strong>shared</strong>" : "S'ha <strong>compartit</strong> un fitxer o una carpeta", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Selecciona o deixa anar els fitxers", "Uploading files…" : "Pujant arxius...", "Uploaded files:" : "Arxius pujats:", + "{actor} removed you from {file}" : "{actor} t'ha eliminat de {file}", "%s is publicly shared" : "%s està compartit de forma pública" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/ca.json b/apps/files_sharing/l10n/ca.json index 6012e46cbfc..fdc27fdfea4 100644 --- a/apps/files_sharing/l10n/ca.json +++ b/apps/files_sharing/l10n/ca.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} ha compartit {file} amb {usuari}", "{actor} removed {user} from {file}" : "{actor} ha tret {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartit {file} amb tu", - "{actor} removed you from {file}" : "{actor} t'ha eliminat de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "S'ha <strong> baixat </strong> un fitxer o carpeta compartit per correu o per enllaç públic", "A file or folder was shared from <strong>another server</strong>" : "S'ha compartit un fitxer o una carpeta d'un <strong> altre servidor</strong>", "A file or folder has been <strong>shared</strong>" : "S'ha <strong>compartit</strong> un fitxer o una carpeta", @@ -109,6 +108,7 @@ "Select or drop files" : "Selecciona o deixa anar els fitxers", "Uploading files…" : "Pujant arxius...", "Uploaded files:" : "Arxius pujats:", + "{actor} removed you from {file}" : "{actor} t'ha eliminat de {file}", "%s is publicly shared" : "%s està compartit de forma pública" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/cs.js b/apps/files_sharing/l10n/cs.js index bff27037bd6..9a343215cb9 100644 --- a/apps/files_sharing/l10n/cs.js +++ b/apps/files_sharing/l10n/cs.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} s {user} sdílel(a) {file}", "{actor} removed {user} from {file}" : "{actor} odstranil(a) uživatele {user} z {file}", "{actor} shared {file} with you" : "{actor} s vámi sdílel(a) soubor {file}", - "{actor} removed you from {file}" : "{actor} vás odstranil(a) ze souboru {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Byl <strong>stažen</strong> soubor nebo adresář sdílený jako veřejný odkaz", "A file or folder was shared from <strong>another server</strong>" : "Soubor nebo adresář byl nasdílen z <strong>jiného serveru</strong>", "A file or folder has been <strong>shared</strong>" : "Soubor nebo adresář byl <strong>nasdílen</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Vyberte nebo přetáhněte soubory", "Uploading files…" : "Probíhá nahrávání souborů...", "Uploaded files:" : "Nahrané soubory:", + "{actor} removed you from {file}" : "{actor} vás odstranil(a) ze souboru {file}", "%s is publicly shared" : "%s je veřejně sdíleno" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"); diff --git a/apps/files_sharing/l10n/cs.json b/apps/files_sharing/l10n/cs.json index 4f120d36556..2519b020540 100644 --- a/apps/files_sharing/l10n/cs.json +++ b/apps/files_sharing/l10n/cs.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} s {user} sdílel(a) {file}", "{actor} removed {user} from {file}" : "{actor} odstranil(a) uživatele {user} z {file}", "{actor} shared {file} with you" : "{actor} s vámi sdílel(a) soubor {file}", - "{actor} removed you from {file}" : "{actor} vás odstranil(a) ze souboru {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Byl <strong>stažen</strong> soubor nebo adresář sdílený jako veřejný odkaz", "A file or folder was shared from <strong>another server</strong>" : "Soubor nebo adresář byl nasdílen z <strong>jiného serveru</strong>", "A file or folder has been <strong>shared</strong>" : "Soubor nebo adresář byl <strong>nasdílen</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Vyberte nebo přetáhněte soubory", "Uploading files…" : "Probíhá nahrávání souborů...", "Uploaded files:" : "Nahrané soubory:", + "{actor} removed you from {file}" : "{actor} vás odstranil(a) ze souboru {file}", "%s is publicly shared" : "%s je veřejně sdíleno" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js index 1f2661c307e..14116ab68ff 100644 --- a/apps/files_sharing/l10n/de.js +++ b/apps/files_sharing/l10n/de.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} hat {file} mit {user} geteilt", "{actor} removed {user} from {file}" : "{actor} hat {user} von {file} entfernt", "{actor} shared {file} with you" : "{actor} hat {file} mit dir geteilt", - "{actor} removed you from {file}" : "Du wurdest durch {actor} von {file} entfernt", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Öffentlich oder per E-Mail geteilte Datei / Ordner wurde <strong>heruntergeladen</strong>", "A file or folder was shared from <strong>another server</strong>" : "Eine Datei oder ein Ordner wurde von <strong>einem anderen Server</strong> geteilt", "A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Dateien auswählen oder hierher ziehen", "Uploading files…" : "Dateien werden hochgeladen…", "Uploaded files:" : "Hochgeladene Dateien: ", + "{actor} removed you from {file}" : "Du wurdest durch {actor} von {file} entfernt", "%s is publicly shared" : "%s ist öffentlich geteilt" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json index 1e20b0bfed6..83be5488316 100644 --- a/apps/files_sharing/l10n/de.json +++ b/apps/files_sharing/l10n/de.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} hat {file} mit {user} geteilt", "{actor} removed {user} from {file}" : "{actor} hat {user} von {file} entfernt", "{actor} shared {file} with you" : "{actor} hat {file} mit dir geteilt", - "{actor} removed you from {file}" : "Du wurdest durch {actor} von {file} entfernt", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Öffentlich oder per E-Mail geteilte Datei / Ordner wurde <strong>heruntergeladen</strong>", "A file or folder was shared from <strong>another server</strong>" : "Eine Datei oder ein Ordner wurde von <strong>einem anderen Server</strong> geteilt", "A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Dateien auswählen oder hierher ziehen", "Uploading files…" : "Dateien werden hochgeladen…", "Uploaded files:" : "Hochgeladene Dateien: ", + "{actor} removed you from {file}" : "Du wurdest durch {actor} von {file} entfernt", "%s is publicly shared" : "%s ist öffentlich geteilt" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js index 370d2463b1b..3f342c47846 100644 --- a/apps/files_sharing/l10n/de_DE.js +++ b/apps/files_sharing/l10n/de_DE.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} hat {file} mit {user} geteilt", "{actor} removed {user} from {file}" : "{actor} hat {user} von {file} entfernt", "{actor} shared {file} with you" : "{actor} hat {file} mit Ihnen geteilt", - "{actor} removed you from {file}" : "Sie wurden durch {actor} von {file} entfernt", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Öffentlich oder per E-Mail geteilte Datei / Ordner wurde <strong>heruntergeladen</strong>", "A file or folder was shared from <strong>another server</strong>" : "Eine Datei oder ein Ordner wurde von <strong>einem anderen Server</strong> geteilt", "A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Dateien auswählen oder hierher ziehen", "Uploading files…" : "Dateien werden hochgeladen…", "Uploaded files:" : "Hochgeladene Dateien: ", + "{actor} removed you from {file}" : "Sie wurden durch {actor} von {file} entfernt", "%s is publicly shared" : "%s ist öffentlich geteilt" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json index b5a796c1726..36f39da2f48 100644 --- a/apps/files_sharing/l10n/de_DE.json +++ b/apps/files_sharing/l10n/de_DE.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} hat {file} mit {user} geteilt", "{actor} removed {user} from {file}" : "{actor} hat {user} von {file} entfernt", "{actor} shared {file} with you" : "{actor} hat {file} mit Ihnen geteilt", - "{actor} removed you from {file}" : "Sie wurden durch {actor} von {file} entfernt", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Öffentlich oder per E-Mail geteilte Datei / Ordner wurde <strong>heruntergeladen</strong>", "A file or folder was shared from <strong>another server</strong>" : "Eine Datei oder ein Ordner wurde von <strong>einem anderen Server</strong> geteilt", "A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Dateien auswählen oder hierher ziehen", "Uploading files…" : "Dateien werden hochgeladen…", "Uploaded files:" : "Hochgeladene Dateien: ", + "{actor} removed you from {file}" : "Sie wurden durch {actor} von {file} entfernt", "%s is publicly shared" : "%s ist öffentlich geteilt" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/el.js b/apps/files_sharing/l10n/el.js index cafcf36b6b1..2061c7233b5 100644 --- a/apps/files_sharing/l10n/el.js +++ b/apps/files_sharing/l10n/el.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} διαμοιράστηκε {file} με {user}", "{actor} removed {user} from {file}" : "{actor} αφαίρεσε {user} από {file}", "{actor} shared {file} with you" : "{actor} διαμοιράστηκε {file} με εσάς", - "{actor} removed you from {file}" : "{actor} αφαίρεσε εσάς από {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Ένα αρχείο ή φάκελος διαμοιρασμένο με mail ή με δημόσιο σύνδεσμο <strong>κατέβηκε</strong>", "A file or folder was shared from <strong>another server</strong>" : "Ένα αρχείο ή φάκελος διαμοιράστηκε από <strong>έναν άλλο διακομιστή</strong>", "A file or folder has been <strong>shared</strong>" : "Ένα αρχείο ή φάκελος <strong>διαμοιράστηκε</strong>", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Αποστολή αρχείων σε %s", "Select or drop files" : "Επιλέξτε ή ρίξτε αρχεία", "Uploading files…" : "Αποστολή αρχείων ...", - "Uploaded files:" : "Αποστολή αρχείων:" + "Uploaded files:" : "Αποστολή αρχείων:", + "{actor} removed you from {file}" : "{actor} αφαίρεσε εσάς από {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/el.json b/apps/files_sharing/l10n/el.json index 0f50082e96b..68f103803d7 100644 --- a/apps/files_sharing/l10n/el.json +++ b/apps/files_sharing/l10n/el.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} διαμοιράστηκε {file} με {user}", "{actor} removed {user} from {file}" : "{actor} αφαίρεσε {user} από {file}", "{actor} shared {file} with you" : "{actor} διαμοιράστηκε {file} με εσάς", - "{actor} removed you from {file}" : "{actor} αφαίρεσε εσάς από {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Ένα αρχείο ή φάκελος διαμοιρασμένο με mail ή με δημόσιο σύνδεσμο <strong>κατέβηκε</strong>", "A file or folder was shared from <strong>another server</strong>" : "Ένα αρχείο ή φάκελος διαμοιράστηκε από <strong>έναν άλλο διακομιστή</strong>", "A file or folder has been <strong>shared</strong>" : "Ένα αρχείο ή φάκελος <strong>διαμοιράστηκε</strong>", @@ -107,6 +106,7 @@ "Upload files to %s" : "Αποστολή αρχείων σε %s", "Select or drop files" : "Επιλέξτε ή ρίξτε αρχεία", "Uploading files…" : "Αποστολή αρχείων ...", - "Uploaded files:" : "Αποστολή αρχείων:" + "Uploaded files:" : "Αποστολή αρχείων:", + "{actor} removed you from {file}" : "{actor} αφαίρεσε εσάς από {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/en_GB.js b/apps/files_sharing/l10n/en_GB.js index 70c83809f60..722efe9b1b5 100644 --- a/apps/files_sharing/l10n/en_GB.js +++ b/apps/files_sharing/l10n/en_GB.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} shared {file} with {user}", "{actor} removed {user} from {file}" : "{actor} removed {user} from {file}", "{actor} shared {file} with you" : "{actor} shared {file} with you", - "{actor} removed you from {file}" : "{actor} removed you from {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "A file or folder shared by mail or by public link was <strong>downloaded</strong>", "A file or folder was shared from <strong>another server</strong>" : "A file or folder was shared from <strong>another server</strong>", "A file or folder has been <strong>shared</strong>" : "A file or folder has been <strong>shared</strong>", @@ -112,6 +111,7 @@ OC.L10N.register( "Select or drop files" : "Select or drop files", "Uploading files…" : "Uploading files…", "Uploaded files:" : "Uploaded files:", + "{actor} removed you from {file}" : "{actor} removed you from {file}", "%s is publicly shared" : "%s is publicly shared" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/en_GB.json b/apps/files_sharing/l10n/en_GB.json index a2b90de2abf..5bcc93421cc 100644 --- a/apps/files_sharing/l10n/en_GB.json +++ b/apps/files_sharing/l10n/en_GB.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} shared {file} with {user}", "{actor} removed {user} from {file}" : "{actor} removed {user} from {file}", "{actor} shared {file} with you" : "{actor} shared {file} with you", - "{actor} removed you from {file}" : "{actor} removed you from {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "A file or folder shared by mail or by public link was <strong>downloaded</strong>", "A file or folder was shared from <strong>another server</strong>" : "A file or folder was shared from <strong>another server</strong>", "A file or folder has been <strong>shared</strong>" : "A file or folder has been <strong>shared</strong>", @@ -110,6 +109,7 @@ "Select or drop files" : "Select or drop files", "Uploading files…" : "Uploading files…", "Uploaded files:" : "Uploaded files:", + "{actor} removed you from {file}" : "{actor} removed you from {file}", "%s is publicly shared" : "%s is publicly shared" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js index b2698361f8b..15197d99b8b 100644 --- a/apps/files_sharing/l10n/es.js +++ b/apps/files_sharing/l10n/es.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} compartió {file} contigo", - "{actor} removed you from {file}" : "{actor} lo ha eliminado de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta compartida por correo o enlace público fue <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Se ha compartido un archivo o carpeta desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Se ha <strong>compartido</strong> un archivo o carpeta", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Seleccione o arrastre y suelte archivos", "Uploading files…" : "Subiendo archivos...", "Uploaded files:" : "Archivos subidos:", + "{actor} removed you from {file}" : "{actor} lo ha eliminado de {file}", "%s is publicly shared" : "%s está compartido públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json index 6a964cd33fc..74b9a59ba7a 100644 --- a/apps/files_sharing/l10n/es.json +++ b/apps/files_sharing/l10n/es.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} compartió {file} contigo", - "{actor} removed you from {file}" : "{actor} lo ha eliminado de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta compartida por correo o enlace público fue <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Se ha compartido un archivo o carpeta desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Se ha <strong>compartido</strong> un archivo o carpeta", @@ -109,6 +108,7 @@ "Select or drop files" : "Seleccione o arrastre y suelte archivos", "Uploading files…" : "Subiendo archivos...", "Uploaded files:" : "Archivos subidos:", + "{actor} removed you from {file}" : "{actor} lo ha eliminado de {file}", "%s is publicly shared" : "%s está compartido públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_419.js b/apps/files_sharing/l10n/es_419.js index 03c29b785b5..dc96630abb5 100644 --- a/apps/files_sharing/l10n/es_419.js +++ b/apps/files_sharing/l10n/es_419.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_419.json b/apps/files_sharing/l10n/es_419.json index 78b7266cc4d..9527d160d72 100644 --- a/apps/files_sharing/l10n/es_419.json +++ b/apps/files_sharing/l10n/es_419.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -107,6 +106,7 @@ "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_AR.js b/apps/files_sharing/l10n/es_AR.js index 7ada8ab5f91..a4ba7678904 100644 --- a/apps/files_sharing/l10n/es_AR.js +++ b/apps/files_sharing/l10n/es_AR.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} con usted", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta compartido por correo o por link público ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -108,6 +107,7 @@ OC.L10N.register( "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Seleccione o suelte los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_AR.json b/apps/files_sharing/l10n/es_AR.json index 37b3fce1452..3bdcfa2fe20 100644 --- a/apps/files_sharing/l10n/es_AR.json +++ b/apps/files_sharing/l10n/es_AR.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} con usted", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta compartido por correo o por link público ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -106,6 +105,7 @@ "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Seleccione o suelte los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_CL.js b/apps/files_sharing/l10n/es_CL.js index 9db3d9d8e9b..453a6524352 100644 --- a/apps/files_sharing/l10n/es_CL.js +++ b/apps/files_sharing/l10n/es_CL.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_CL.json b/apps/files_sharing/l10n/es_CL.json index b1e3b52ee17..57a0b03b73a 100644 --- a/apps/files_sharing/l10n/es_CL.json +++ b/apps/files_sharing/l10n/es_CL.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_CO.js b/apps/files_sharing/l10n/es_CO.js index 9db3d9d8e9b..453a6524352 100644 --- a/apps/files_sharing/l10n/es_CO.js +++ b/apps/files_sharing/l10n/es_CO.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_CO.json b/apps/files_sharing/l10n/es_CO.json index b1e3b52ee17..57a0b03b73a 100644 --- a/apps/files_sharing/l10n/es_CO.json +++ b/apps/files_sharing/l10n/es_CO.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_CR.js b/apps/files_sharing/l10n/es_CR.js index 9db3d9d8e9b..453a6524352 100644 --- a/apps/files_sharing/l10n/es_CR.js +++ b/apps/files_sharing/l10n/es_CR.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_CR.json b/apps/files_sharing/l10n/es_CR.json index b1e3b52ee17..57a0b03b73a 100644 --- a/apps/files_sharing/l10n/es_CR.json +++ b/apps/files_sharing/l10n/es_CR.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_DO.js b/apps/files_sharing/l10n/es_DO.js index 9db3d9d8e9b..453a6524352 100644 --- a/apps/files_sharing/l10n/es_DO.js +++ b/apps/files_sharing/l10n/es_DO.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_DO.json b/apps/files_sharing/l10n/es_DO.json index b1e3b52ee17..57a0b03b73a 100644 --- a/apps/files_sharing/l10n/es_DO.json +++ b/apps/files_sharing/l10n/es_DO.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_EC.js b/apps/files_sharing/l10n/es_EC.js index 9db3d9d8e9b..453a6524352 100644 --- a/apps/files_sharing/l10n/es_EC.js +++ b/apps/files_sharing/l10n/es_EC.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_EC.json b/apps/files_sharing/l10n/es_EC.json index b1e3b52ee17..57a0b03b73a 100644 --- a/apps/files_sharing/l10n/es_EC.json +++ b/apps/files_sharing/l10n/es_EC.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_GT.js b/apps/files_sharing/l10n/es_GT.js index 9db3d9d8e9b..453a6524352 100644 --- a/apps/files_sharing/l10n/es_GT.js +++ b/apps/files_sharing/l10n/es_GT.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_GT.json b/apps/files_sharing/l10n/es_GT.json index b1e3b52ee17..57a0b03b73a 100644 --- a/apps/files_sharing/l10n/es_GT.json +++ b/apps/files_sharing/l10n/es_GT.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_HN.js b/apps/files_sharing/l10n/es_HN.js index 03c29b785b5..dc96630abb5 100644 --- a/apps/files_sharing/l10n/es_HN.js +++ b/apps/files_sharing/l10n/es_HN.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_HN.json b/apps/files_sharing/l10n/es_HN.json index 78b7266cc4d..9527d160d72 100644 --- a/apps/files_sharing/l10n/es_HN.json +++ b/apps/files_sharing/l10n/es_HN.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -107,6 +106,7 @@ "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_MX.js b/apps/files_sharing/l10n/es_MX.js index 678c76d7c88..82eef476672 100644 --- a/apps/files_sharing/l10n/es_MX.js +++ b/apps/files_sharing/l10n/es_MX.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -112,6 +111,7 @@ OC.L10N.register( "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_MX.json b/apps/files_sharing/l10n/es_MX.json index cbdfce4f450..0e5c24874c5 100644 --- a/apps/files_sharing/l10n/es_MX.json +++ b/apps/files_sharing/l10n/es_MX.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -110,6 +109,7 @@ "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_NI.js b/apps/files_sharing/l10n/es_NI.js index 03c29b785b5..dc96630abb5 100644 --- a/apps/files_sharing/l10n/es_NI.js +++ b/apps/files_sharing/l10n/es_NI.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_NI.json b/apps/files_sharing/l10n/es_NI.json index 78b7266cc4d..9527d160d72 100644 --- a/apps/files_sharing/l10n/es_NI.json +++ b/apps/files_sharing/l10n/es_NI.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -107,6 +106,7 @@ "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_PA.js b/apps/files_sharing/l10n/es_PA.js index 03c29b785b5..dc96630abb5 100644 --- a/apps/files_sharing/l10n/es_PA.js +++ b/apps/files_sharing/l10n/es_PA.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_PA.json b/apps/files_sharing/l10n/es_PA.json index 78b7266cc4d..9527d160d72 100644 --- a/apps/files_sharing/l10n/es_PA.json +++ b/apps/files_sharing/l10n/es_PA.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -107,6 +106,7 @@ "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_PE.js b/apps/files_sharing/l10n/es_PE.js index 03c29b785b5..dc96630abb5 100644 --- a/apps/files_sharing/l10n/es_PE.js +++ b/apps/files_sharing/l10n/es_PE.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_PE.json b/apps/files_sharing/l10n/es_PE.json index 78b7266cc4d..9527d160d72 100644 --- a/apps/files_sharing/l10n/es_PE.json +++ b/apps/files_sharing/l10n/es_PE.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -107,6 +106,7 @@ "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_PR.js b/apps/files_sharing/l10n/es_PR.js index 03c29b785b5..dc96630abb5 100644 --- a/apps/files_sharing/l10n/es_PR.js +++ b/apps/files_sharing/l10n/es_PR.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_PR.json b/apps/files_sharing/l10n/es_PR.json index 78b7266cc4d..9527d160d72 100644 --- a/apps/files_sharing/l10n/es_PR.json +++ b/apps/files_sharing/l10n/es_PR.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -107,6 +106,7 @@ "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_PY.js b/apps/files_sharing/l10n/es_PY.js index 03c29b785b5..dc96630abb5 100644 --- a/apps/files_sharing/l10n/es_PY.js +++ b/apps/files_sharing/l10n/es_PY.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_PY.json b/apps/files_sharing/l10n/es_PY.json index 78b7266cc4d..9527d160d72 100644 --- a/apps/files_sharing/l10n/es_PY.json +++ b/apps/files_sharing/l10n/es_PY.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -107,6 +106,7 @@ "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_SV.js b/apps/files_sharing/l10n/es_SV.js index 9db3d9d8e9b..453a6524352 100644 --- a/apps/files_sharing/l10n/es_SV.js +++ b/apps/files_sharing/l10n/es_SV.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_SV.json b/apps/files_sharing/l10n/es_SV.json index b1e3b52ee17..57a0b03b73a 100644 --- a/apps/files_sharing/l10n/es_SV.json +++ b/apps/files_sharing/l10n/es_SV.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "%s is publicly shared" : "%s está compartido públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_UY.js b/apps/files_sharing/l10n/es_UY.js index 03c29b785b5..dc96630abb5 100644 --- a/apps/files_sharing/l10n/es_UY.js +++ b/apps/files_sharing/l10n/es_UY.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_UY.json b/apps/files_sharing/l10n/es_UY.json index 78b7266cc4d..9527d160d72 100644 --- a/apps/files_sharing/l10n/es_UY.json +++ b/apps/files_sharing/l10n/es_UY.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}", "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}", "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo", - "{actor} removed you from {file}" : "{actor} lo eliminó de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>", @@ -107,6 +106,7 @@ "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "{actor} removed you from {file}" : "{actor} lo eliminó de {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/et_EE.js b/apps/files_sharing/l10n/et_EE.js index 0783b4c30ce..ba9f9053e43 100644 --- a/apps/files_sharing/l10n/et_EE.js +++ b/apps/files_sharing/l10n/et_EE.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} jagas {file} kasutajaga {user}", "{actor} removed {user} from {file}" : "{actor} eemaldas {user} jagamise faililt {file}", "{actor} shared {file} with you" : "{actor} jagas singuga {file}", - "{actor} removed you from {file}" : "{actor} eemaldas sind {file} jagamisest", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Fail või kaust mis on jagatud e-posti või avaliku lingiga <strong>laeti alla</strong>", "A file or folder was shared from <strong>another server</strong>" : "Fail või kaust jagati <strong>teisest serverist</strong>", "A file or folder has been <strong>shared</strong>" : "Fail või kataloog on <strong>jagatud</strong>", @@ -110,6 +109,7 @@ OC.L10N.register( "Select or drop files" : "Vali või lohista failid", "Uploading files…" : "Failide üleslaadimine...", "Uploaded files:" : "Üleslaetud failid:", + "{actor} removed you from {file}" : "{actor} eemaldas sind {file} jagamisest", "%s is publicly shared" : "%s on avalikult jagatud" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/et_EE.json b/apps/files_sharing/l10n/et_EE.json index 89c7d876d30..a395314a6ad 100644 --- a/apps/files_sharing/l10n/et_EE.json +++ b/apps/files_sharing/l10n/et_EE.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} jagas {file} kasutajaga {user}", "{actor} removed {user} from {file}" : "{actor} eemaldas {user} jagamise faililt {file}", "{actor} shared {file} with you" : "{actor} jagas singuga {file}", - "{actor} removed you from {file}" : "{actor} eemaldas sind {file} jagamisest", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Fail või kaust mis on jagatud e-posti või avaliku lingiga <strong>laeti alla</strong>", "A file or folder was shared from <strong>another server</strong>" : "Fail või kaust jagati <strong>teisest serverist</strong>", "A file or folder has been <strong>shared</strong>" : "Fail või kataloog on <strong>jagatud</strong>", @@ -108,6 +107,7 @@ "Select or drop files" : "Vali või lohista failid", "Uploading files…" : "Failide üleslaadimine...", "Uploaded files:" : "Üleslaetud failid:", + "{actor} removed you from {file}" : "{actor} eemaldas sind {file} jagamisest", "%s is publicly shared" : "%s on avalikult jagatud" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/fi.js b/apps/files_sharing/l10n/fi.js index b139d8681f4..21d028e87bd 100644 --- a/apps/files_sharing/l10n/fi.js +++ b/apps/files_sharing/l10n/fi.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} jakoi kohteen {file} käyttäjälle {user}", "{actor} removed {user} from {file}" : "{actor} poisti käyttäjän {user} kohteen {file} käyttöoikeudet", "{actor} shared {file} with you" : "{actor} jakoi kohteen {file} kanssasi", - "{actor} removed you from {file}" : "{actor} poisti käyttöoikeutesi kohteeseen {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Tiedosto tai kansio, joka on jaettu sähköpostitse tai julkisen linkin kautta, on <strong>ladattu</strong>", "A file or folder was shared from <strong>another server</strong>" : "Tiedosto tai kansio on jaettu <strong>toiselta palvelimelta</strong>", "A file or folder has been <strong>shared</strong>" : "Tiedosto tai kansio on <strong>jaettu</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Valitse tai pudota tiedostoja", "Uploading files…" : "Lähetetään tiedostoja…", "Uploaded files:" : "Lähetetyt tiedostot:", + "{actor} removed you from {file}" : "{actor} poisti käyttöoikeutesi kohteeseen {file}", "%s is publicly shared" : "%s on jaettu julkisesti" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/fi.json b/apps/files_sharing/l10n/fi.json index 0069f9f7c34..dcfa03997da 100644 --- a/apps/files_sharing/l10n/fi.json +++ b/apps/files_sharing/l10n/fi.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} jakoi kohteen {file} käyttäjälle {user}", "{actor} removed {user} from {file}" : "{actor} poisti käyttäjän {user} kohteen {file} käyttöoikeudet", "{actor} shared {file} with you" : "{actor} jakoi kohteen {file} kanssasi", - "{actor} removed you from {file}" : "{actor} poisti käyttöoikeutesi kohteeseen {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Tiedosto tai kansio, joka on jaettu sähköpostitse tai julkisen linkin kautta, on <strong>ladattu</strong>", "A file or folder was shared from <strong>another server</strong>" : "Tiedosto tai kansio on jaettu <strong>toiselta palvelimelta</strong>", "A file or folder has been <strong>shared</strong>" : "Tiedosto tai kansio on <strong>jaettu</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Valitse tai pudota tiedostoja", "Uploading files…" : "Lähetetään tiedostoja…", "Uploaded files:" : "Lähetetyt tiedostot:", + "{actor} removed you from {file}" : "{actor} poisti käyttöoikeutesi kohteeseen {file}", "%s is publicly shared" : "%s on jaettu julkisesti" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js index 4e6280211b1..c667b9834a8 100644 --- a/apps/files_sharing/l10n/fr.js +++ b/apps/files_sharing/l10n/fr.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} a partagé {file} avec {user}", "{actor} removed {user} from {file}" : "{actor} a supprimé {user} de {file}", "{actor} shared {file} with you" : "{actor} a partagé {file} avec vous", - "{actor} removed you from {file}" : "{actor} vous a supprimé de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un fichier ou un dossier partagé par mail ou par lien public a été <strong>téléchargé</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un fichier ou un répertoire a été partagé depuis <strong>un autre serveur</strong>", "A file or folder has been <strong>shared</strong>" : "Un fichier ou un répertoire a été <strong>partagé</strong>", @@ -112,6 +111,7 @@ OC.L10N.register( "Select or drop files" : "Sélectionner ou glisser-déposer vos fichiers", "Uploading files…" : "Téléversement des fichiers...", "Uploaded files:" : "Fichiers téléversés :", + "{actor} removed you from {file}" : "{actor} vous a supprimé de {file}", "%s is publicly shared" : "%s a été partagé publiquement" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json index cba9098ae6f..dde079b41dc 100644 --- a/apps/files_sharing/l10n/fr.json +++ b/apps/files_sharing/l10n/fr.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} a partagé {file} avec {user}", "{actor} removed {user} from {file}" : "{actor} a supprimé {user} de {file}", "{actor} shared {file} with you" : "{actor} a partagé {file} avec vous", - "{actor} removed you from {file}" : "{actor} vous a supprimé de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un fichier ou un dossier partagé par mail ou par lien public a été <strong>téléchargé</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un fichier ou un répertoire a été partagé depuis <strong>un autre serveur</strong>", "A file or folder has been <strong>shared</strong>" : "Un fichier ou un répertoire a été <strong>partagé</strong>", @@ -110,6 +109,7 @@ "Select or drop files" : "Sélectionner ou glisser-déposer vos fichiers", "Uploading files…" : "Téléversement des fichiers...", "Uploaded files:" : "Fichiers téléversés :", + "{actor} removed you from {file}" : "{actor} vous a supprimé de {file}", "%s is publicly shared" : "%s a été partagé publiquement" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/hu.js b/apps/files_sharing/l10n/hu.js index e3216c37686..47a53e27c01 100644 --- a/apps/files_sharing/l10n/hu.js +++ b/apps/files_sharing/l10n/hu.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} megosztotta ezt: {file} vele: {user}", "{actor} removed {user} from {file}" : "{actor} eltávolította ezt: {user} innen: {file}", "{actor} shared {file} with you" : "{actor} megosztotta veled ezt: {file}", - "{actor} removed you from {file}" : "{actor} eltávolított innen: {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Egy e-mailben vagy nyilvános hivatkozással megosztott fájl vagy mappa <strong>letöltve</strong>", "A file or folder was shared from <strong>another server</strong>" : "Egy fájl vagy mappa meg lett osztva egy <strong>másik szerverről</strong>", "A file or folder has been <strong>shared</strong>" : "Egy fájl vagy mappa <strong>megosztva</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Válassz ki vagy dobj ide fájlokat", "Uploading files…" : "Fájlok feltöltése...", "Uploaded files:" : "Felöltött fájlok:", + "{actor} removed you from {file}" : "{actor} eltávolított innen: {file}", "%s is publicly shared" : "%s nyilvánosan megosztva" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/hu.json b/apps/files_sharing/l10n/hu.json index 3ad14798285..3f5e61407b5 100644 --- a/apps/files_sharing/l10n/hu.json +++ b/apps/files_sharing/l10n/hu.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} megosztotta ezt: {file} vele: {user}", "{actor} removed {user} from {file}" : "{actor} eltávolította ezt: {user} innen: {file}", "{actor} shared {file} with you" : "{actor} megosztotta veled ezt: {file}", - "{actor} removed you from {file}" : "{actor} eltávolított innen: {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Egy e-mailben vagy nyilvános hivatkozással megosztott fájl vagy mappa <strong>letöltve</strong>", "A file or folder was shared from <strong>another server</strong>" : "Egy fájl vagy mappa meg lett osztva egy <strong>másik szerverről</strong>", "A file or folder has been <strong>shared</strong>" : "Egy fájl vagy mappa <strong>megosztva</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Válassz ki vagy dobj ide fájlokat", "Uploading files…" : "Fájlok feltöltése...", "Uploaded files:" : "Felöltött fájlok:", + "{actor} removed you from {file}" : "{actor} eltávolított innen: {file}", "%s is publicly shared" : "%s nyilvánosan megosztva" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/is.js b/apps/files_sharing/l10n/is.js index e4c9044fbac..8fac0340c4a 100644 --- a/apps/files_sharing/l10n/is.js +++ b/apps/files_sharing/l10n/is.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} deildi {file} með {user}", "{actor} removed {user} from {file}" : "{actor} fjarlægði {user} af {file}", "{actor} shared {file} with you" : "{actor} deildi {file} með þér", - "{actor} removed you from {file}" : "{actor} fjarlægði þig af {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Skrá eða mappa sem deilt var með tölvupósti eða almenningstengli var <strong>sótt</strong>", "A file or folder was shared from <strong>another server</strong>" : "Skjali eða möppu hefur verið deilt <strong>frá öðrum þjóni</strong>", "A file or folder has been <strong>shared</strong>" : "Skjali eða möppu hefur verið <strong>deilt</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Veldu eða slepptu skrám", "Uploading files…" : "Sendi inn skrár…", "Uploaded files:" : "Innsendar skrár:", + "{actor} removed you from {file}" : "{actor} fjarlægði þig af {file}", "%s is publicly shared" : "%s er deilt opinberlega" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/files_sharing/l10n/is.json b/apps/files_sharing/l10n/is.json index 86f98859422..c63c817d3dc 100644 --- a/apps/files_sharing/l10n/is.json +++ b/apps/files_sharing/l10n/is.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} deildi {file} með {user}", "{actor} removed {user} from {file}" : "{actor} fjarlægði {user} af {file}", "{actor} shared {file} with you" : "{actor} deildi {file} með þér", - "{actor} removed you from {file}" : "{actor} fjarlægði þig af {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Skrá eða mappa sem deilt var með tölvupósti eða almenningstengli var <strong>sótt</strong>", "A file or folder was shared from <strong>another server</strong>" : "Skjali eða möppu hefur verið deilt <strong>frá öðrum þjóni</strong>", "A file or folder has been <strong>shared</strong>" : "Skjali eða möppu hefur verið <strong>deilt</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Veldu eða slepptu skrám", "Uploading files…" : "Sendi inn skrár…", "Uploaded files:" : "Innsendar skrár:", + "{actor} removed you from {file}" : "{actor} fjarlægði þig af {file}", "%s is publicly shared" : "%s er deilt opinberlega" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js index 70cc842b27c..34e96f882f7 100644 --- a/apps/files_sharing/l10n/it.js +++ b/apps/files_sharing/l10n/it.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} ha condiviso {file} con {user}", "{actor} removed {user} from {file}" : "{actor} ha rimosso {user} da {file}", "{actor} shared {file} with you" : "{actor} ha condiviso {file} con te", - "{actor} removed you from {file}" : "{actor} ha ti rimosso da {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un file o una cartella condiviso via posta elettronica o collegamento pubblico è stato <strong>scaricato</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un file o una cartella è stato condiviso da <strong>un altro server</strong>", "A file or folder has been <strong>shared</strong>" : "Un file o una cartella è stato <strong>condiviso</strong>", @@ -112,6 +111,7 @@ OC.L10N.register( "Select or drop files" : "Seleziona o deseleziona file", "Uploading files…" : "Caricamento file in corso...", "Uploaded files:" : "File caricati:", + "{actor} removed you from {file}" : "{actor} ha ti rimosso da {file}", "%s is publicly shared" : "%s è condiviso pubblicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json index 5bd4fcc87e2..f4d9bde0670 100644 --- a/apps/files_sharing/l10n/it.json +++ b/apps/files_sharing/l10n/it.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} ha condiviso {file} con {user}", "{actor} removed {user} from {file}" : "{actor} ha rimosso {user} da {file}", "{actor} shared {file} with you" : "{actor} ha condiviso {file} con te", - "{actor} removed you from {file}" : "{actor} ha ti rimosso da {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un file o una cartella condiviso via posta elettronica o collegamento pubblico è stato <strong>scaricato</strong>", "A file or folder was shared from <strong>another server</strong>" : "Un file o una cartella è stato condiviso da <strong>un altro server</strong>", "A file or folder has been <strong>shared</strong>" : "Un file o una cartella è stato <strong>condiviso</strong>", @@ -110,6 +109,7 @@ "Select or drop files" : "Seleziona o deseleziona file", "Uploading files…" : "Caricamento file in corso...", "Uploaded files:" : "File caricati:", + "{actor} removed you from {file}" : "{actor} ha ti rimosso da {file}", "%s is publicly shared" : "%s è condiviso pubblicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js index 37af8a16042..3a46cc68f8b 100644 --- a/apps/files_sharing/l10n/ja.js +++ b/apps/files_sharing/l10n/ja.js @@ -60,8 +60,7 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} が {file} を {user} に共有しました", "{actor} removed {user} from {file}" : "{actor} が {file} の {user} との共有を削除しました", "{actor} shared {file} with you" : "{actor} が {file} を共有しました", - "{actor} removed you from {file}" : "{actor} が {file} の共有を削除しました", - "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "メールまたは公開リンクにより共有されたファイルまたはフォルダが<strong>ダウンロード</strong>されたとき", + "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "メールまたは公開リンクにより共有されたファイルまたはフォルダーが<strong>ダウンロード</strong>されたとき", "A file or folder was shared from <strong>another server</strong>" : "ファイルまたはフォルダーが<strong>他のサーバー</strong>から共有されたとき", "A file or folder has been <strong>shared</strong>" : "ファイルまたはフォルダーが<strong>共有</strong>されたとき", "Wrong share ID, share doesn't exist" : "共有IDが間違っています。共有がありません。", @@ -84,7 +83,7 @@ OC.L10N.register( "Unknown share type" : "不明な共有タイプ", "Not a directory" : "ディレクトリではありません", "Could not lock path" : "パスをロックできませんでした", - "Wrong or no update parameter given" : "間違っている、もしくはパラメータが更新されていません", + "Wrong or no update parameter given" : "間違っているか、またはパラメータが更新されていません", "Can't change permissions for public share links" : "URLリンク共有のパーミッションを変更できません", "Cannot increase permissions" : "パーミッションを追加できません", "shared by %s" : "%s が共有", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "ファイルを選択するか、ドラッグ&ドロップしてください", "Uploading files…" : "ファイルをアップロード中...", "Uploaded files:" : "アップロード済ファイル:", + "{actor} removed you from {file}" : "{actor} が {file} の共有を削除しました", "%s is publicly shared" : "%s が公開共有されました" }, "nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json index c6078b384b7..d80183e76c4 100644 --- a/apps/files_sharing/l10n/ja.json +++ b/apps/files_sharing/l10n/ja.json @@ -58,8 +58,7 @@ "{actor} shared {file} with {user}" : "{actor} が {file} を {user} に共有しました", "{actor} removed {user} from {file}" : "{actor} が {file} の {user} との共有を削除しました", "{actor} shared {file} with you" : "{actor} が {file} を共有しました", - "{actor} removed you from {file}" : "{actor} が {file} の共有を削除しました", - "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "メールまたは公開リンクにより共有されたファイルまたはフォルダが<strong>ダウンロード</strong>されたとき", + "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "メールまたは公開リンクにより共有されたファイルまたはフォルダーが<strong>ダウンロード</strong>されたとき", "A file or folder was shared from <strong>another server</strong>" : "ファイルまたはフォルダーが<strong>他のサーバー</strong>から共有されたとき", "A file or folder has been <strong>shared</strong>" : "ファイルまたはフォルダーが<strong>共有</strong>されたとき", "Wrong share ID, share doesn't exist" : "共有IDが間違っています。共有がありません。", @@ -82,7 +81,7 @@ "Unknown share type" : "不明な共有タイプ", "Not a directory" : "ディレクトリではありません", "Could not lock path" : "パスをロックできませんでした", - "Wrong or no update parameter given" : "間違っている、もしくはパラメータが更新されていません", + "Wrong or no update parameter given" : "間違っているか、またはパラメータが更新されていません", "Can't change permissions for public share links" : "URLリンク共有のパーミッションを変更できません", "Cannot increase permissions" : "パーミッションを追加できません", "shared by %s" : "%s が共有", @@ -109,6 +108,7 @@ "Select or drop files" : "ファイルを選択するか、ドラッグ&ドロップしてください", "Uploading files…" : "ファイルをアップロード中...", "Uploaded files:" : "アップロード済ファイル:", + "{actor} removed you from {file}" : "{actor} が {file} の共有を削除しました", "%s is publicly shared" : "%s が公開共有されました" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/ka_GE.js b/apps/files_sharing/l10n/ka_GE.js index dab73662aec..02a35022cc9 100644 --- a/apps/files_sharing/l10n/ka_GE.js +++ b/apps/files_sharing/l10n/ka_GE.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} მომხმარებელმა გააზიარა ფაილი {file} მომხმარებელთან {user}", "{actor} removed {user} from {file}" : "{actor} მომხმარებელმა ჩამოაშორა მომხმარებელი {user} ფაილს {file}", "{actor} shared {file} with you" : "{actor} მომხმარებელმა თქვენთან გააზიარა {file}", - "{actor} removed you from {file}" : "{actor} ჩამოგაშორათ ფაილს {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "ელ-ფოსტით ან საზოგადო ბმულით გაზიარბული ფაილი ან დირექტორია <strong>გადმოწერილ იქნა</strong>", "A file or folder was shared from <strong>another server</strong>" : "ფაილი ან დირექტორია გაზიარდა <strong>სხვა სერვერიდან</strong>", "A file or folder has been <strong>shared</strong>" : "ფაილი ან დირექტორია <strong>გაზიარებულ იქნა</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "აირჩიეთ ან გადმოიტანეთ ფაილები", "Uploading files…" : "ფაილების ატვირთვა...", "Uploaded files:" : "ფაილების ატვირთვა:", + "{actor} removed you from {file}" : "{actor} ჩამოგაშორათ ფაილს {file}", "%s is publicly shared" : "%s საზოგადოდ გაზიარებულია" }, "nplurals=2; plural=(n!=1);"); diff --git a/apps/files_sharing/l10n/ka_GE.json b/apps/files_sharing/l10n/ka_GE.json index 3ff1bbadc77..2504066b0f1 100644 --- a/apps/files_sharing/l10n/ka_GE.json +++ b/apps/files_sharing/l10n/ka_GE.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} მომხმარებელმა გააზიარა ფაილი {file} მომხმარებელთან {user}", "{actor} removed {user} from {file}" : "{actor} მომხმარებელმა ჩამოაშორა მომხმარებელი {user} ფაილს {file}", "{actor} shared {file} with you" : "{actor} მომხმარებელმა თქვენთან გააზიარა {file}", - "{actor} removed you from {file}" : "{actor} ჩამოგაშორათ ფაილს {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "ელ-ფოსტით ან საზოგადო ბმულით გაზიარბული ფაილი ან დირექტორია <strong>გადმოწერილ იქნა</strong>", "A file or folder was shared from <strong>another server</strong>" : "ფაილი ან დირექტორია გაზიარდა <strong>სხვა სერვერიდან</strong>", "A file or folder has been <strong>shared</strong>" : "ფაილი ან დირექტორია <strong>გაზიარებულ იქნა</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "აირჩიეთ ან გადმოიტანეთ ფაილები", "Uploading files…" : "ფაილების ატვირთვა...", "Uploaded files:" : "ფაილების ატვირთვა:", + "{actor} removed you from {file}" : "{actor} ჩამოგაშორათ ფაილს {file}", "%s is publicly shared" : "%s საზოგადოდ გაზიარებულია" },"pluralForm" :"nplurals=2; plural=(n!=1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/ko.js b/apps/files_sharing/l10n/ko.js index d8212cd20b3..93453cb4afc 100644 --- a/apps/files_sharing/l10n/ko.js +++ b/apps/files_sharing/l10n/ko.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} 님이 {file}을(를) {user} 님과 공유함", "{actor} removed {user} from {file}" : "{actor} 님이 {user} 님을 {file}에서 삭제함", "{actor} shared {file} with you" : "{actor} 님이 {file}을 공유함", - "{actor} removed you from {file}" : "{actor} 님이 여러분을 {file}에서 삭제함", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "이메일이나 공개 공유로 공유한 파일이 <strong>다운로드됨</strong>", "A file or folder was shared from <strong>another server</strong>" : "<strong>다른 서버</strong>에서 파일이나 폴더를 공유함", "A file or folder has been <strong>shared</strong>" : "파일이나 폴더가 <strong>공유됨</strong>", @@ -110,6 +109,7 @@ OC.L10N.register( "Select or drop files" : "파일을 선택하거나 끌어다 놓기", "Uploading files…" : "파일 업로드 중…", "Uploaded files:" : "업로드한 파일:", + "{actor} removed you from {file}" : "{actor} 님이 여러분을 {file}에서 삭제함", "%s is publicly shared" : "%s이(가) 공개 공유됨" }, "nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/ko.json b/apps/files_sharing/l10n/ko.json index c64b4d1bb50..47a5d593fe7 100644 --- a/apps/files_sharing/l10n/ko.json +++ b/apps/files_sharing/l10n/ko.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} 님이 {file}을(를) {user} 님과 공유함", "{actor} removed {user} from {file}" : "{actor} 님이 {user} 님을 {file}에서 삭제함", "{actor} shared {file} with you" : "{actor} 님이 {file}을 공유함", - "{actor} removed you from {file}" : "{actor} 님이 여러분을 {file}에서 삭제함", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "이메일이나 공개 공유로 공유한 파일이 <strong>다운로드됨</strong>", "A file or folder was shared from <strong>another server</strong>" : "<strong>다른 서버</strong>에서 파일이나 폴더를 공유함", "A file or folder has been <strong>shared</strong>" : "파일이나 폴더가 <strong>공유됨</strong>", @@ -108,6 +107,7 @@ "Select or drop files" : "파일을 선택하거나 끌어다 놓기", "Uploading files…" : "파일 업로드 중…", "Uploaded files:" : "업로드한 파일:", + "{actor} removed you from {file}" : "{actor} 님이 여러분을 {file}에서 삭제함", "%s is publicly shared" : "%s이(가) 공개 공유됨" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/lt_LT.js b/apps/files_sharing/l10n/lt_LT.js index 452a36bea79..a356c9e6ed2 100644 --- a/apps/files_sharing/l10n/lt_LT.js +++ b/apps/files_sharing/l10n/lt_LT.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} pasidalino {file} su {user}", "{actor} removed {user} from {file}" : "{actor} nebesidalina {file} su {user}", "{actor} shared {file} with you" : "{actor} pasidalino {file} su jumis", - "{actor} removed you from {file}" : "{actor} nebesidalina su jumis {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Duomenys, bendrinti per elektroninį paštą, buvo <strong>parsiųsti</strong>", "A file or folder was shared from <strong>another server</strong>" : "Failas ar aplankas buvo pasidalintas iš <strong>kito serverio</strong>", "A file or folder has been <strong>shared</strong>" : "Failas ar aplankas buvo <strong>pasidalintas</strong>", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Įkelti duomenis į %s", "Select or drop files" : "Pasirinkite arba vilkite failus", "Uploading files…" : "Įkeliami failai…", - "Uploaded files:" : "Įkelti failai:" + "Uploaded files:" : "Įkelti failai:", + "{actor} removed you from {file}" : "{actor} nebesidalina su jumis {file}" }, "nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/apps/files_sharing/l10n/lt_LT.json b/apps/files_sharing/l10n/lt_LT.json index ef2df4deed9..f3cb57a592a 100644 --- a/apps/files_sharing/l10n/lt_LT.json +++ b/apps/files_sharing/l10n/lt_LT.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} pasidalino {file} su {user}", "{actor} removed {user} from {file}" : "{actor} nebesidalina {file} su {user}", "{actor} shared {file} with you" : "{actor} pasidalino {file} su jumis", - "{actor} removed you from {file}" : "{actor} nebesidalina su jumis {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Duomenys, bendrinti per elektroninį paštą, buvo <strong>parsiųsti</strong>", "A file or folder was shared from <strong>another server</strong>" : "Failas ar aplankas buvo pasidalintas iš <strong>kito serverio</strong>", "A file or folder has been <strong>shared</strong>" : "Failas ar aplankas buvo <strong>pasidalintas</strong>", @@ -107,6 +106,7 @@ "Upload files to %s" : "Įkelti duomenis į %s", "Select or drop files" : "Pasirinkite arba vilkite failus", "Uploading files…" : "Įkeliami failai…", - "Uploaded files:" : "Įkelti failai:" + "Uploaded files:" : "Įkelti failai:", + "{actor} removed you from {file}" : "{actor} nebesidalina su jumis {file}" },"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/lv.js b/apps/files_sharing/l10n/lv.js index 7e128e1c774..13f168ae8b5 100644 --- a/apps/files_sharing/l10n/lv.js +++ b/apps/files_sharing/l10n/lv.js @@ -32,7 +32,6 @@ OC.L10N.register( "Shared by {actor}" : "Koplietoja {actor}", "{actor} removed {user} from {file}" : "{actor} noņemts {user} no {file}", "{actor} shared {file} with you" : "{actor} koplietots {file} ar jums", - "{actor} removed you from {file}" : "{actor} noņēma jūs no {file}", "A file or folder was shared from <strong>another server</strong>" : "Datne vai mape tika koplietota no <strong>cita servera</strong>", "A file or folder has been <strong>shared</strong>" : "<strong>Koplietota</strong> datne vai mape", "Wrong share ID, share doesn't exist" : "Nepareizs koplietošanas ID, koplietotne neeksistē", @@ -73,6 +72,7 @@ OC.L10N.register( "For more info, please ask the person who sent this link." : "Vairāk informācijas vaicā personai, kas nosūtīja šo saiti.", "Download %s" : "Lejupielādēt %s", "Uploading files…" : "Augšupielādē datnes", - "Uploaded files:" : "Augšupielādēti faili:" + "Uploaded files:" : "Augšupielādēti faili:", + "{actor} removed you from {file}" : "{actor} noņēma jūs no {file}" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); diff --git a/apps/files_sharing/l10n/lv.json b/apps/files_sharing/l10n/lv.json index 8d2ef021ee4..2c039f2522b 100644 --- a/apps/files_sharing/l10n/lv.json +++ b/apps/files_sharing/l10n/lv.json @@ -30,7 +30,6 @@ "Shared by {actor}" : "Koplietoja {actor}", "{actor} removed {user} from {file}" : "{actor} noņemts {user} no {file}", "{actor} shared {file} with you" : "{actor} koplietots {file} ar jums", - "{actor} removed you from {file}" : "{actor} noņēma jūs no {file}", "A file or folder was shared from <strong>another server</strong>" : "Datne vai mape tika koplietota no <strong>cita servera</strong>", "A file or folder has been <strong>shared</strong>" : "<strong>Koplietota</strong> datne vai mape", "Wrong share ID, share doesn't exist" : "Nepareizs koplietošanas ID, koplietotne neeksistē", @@ -71,6 +70,7 @@ "For more info, please ask the person who sent this link." : "Vairāk informācijas vaicā personai, kas nosūtīja šo saiti.", "Download %s" : "Lejupielādēt %s", "Uploading files…" : "Augšupielādē datnes", - "Uploaded files:" : "Augšupielādēti faili:" + "Uploaded files:" : "Augšupielādēti faili:", + "{actor} removed you from {file}" : "{actor} noņēma jūs no {file}" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/nb.js b/apps/files_sharing/l10n/nb.js index 01b9c792ed0..e7b1f43514f 100644 --- a/apps/files_sharing/l10n/nb.js +++ b/apps/files_sharing/l10n/nb.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} delete {file} med {user}", "{actor} removed {user} from {file}" : "{actor} fjernet {user} fra {file}", "{actor} shared {file} with you" : "{actor} delte {file} med deg", - "{actor} removed you from {file}" : "{actor} fjernet deg fra {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Ei fil eller mappe delt via e-post eller offentlig lenke ble <strong>lastet ned</strong>", "A file or folder was shared from <strong>another server</strong>" : "En fil eller mappe ble delt fra <strong>en annen tjener</strong>", "A file or folder has been <strong>shared</strong>" : "En fil eller mappe ble <strong>delt</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Velg eller slipp filer", "Uploading files…" : "Laster opp filer…", "Uploaded files:" : "Opplastede filer:", + "{actor} removed you from {file}" : "{actor} fjernet deg fra {file}", "%s is publicly shared" : "%s er delt offentlig" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/nb.json b/apps/files_sharing/l10n/nb.json index d67c5c2cc2e..9d1aef729fd 100644 --- a/apps/files_sharing/l10n/nb.json +++ b/apps/files_sharing/l10n/nb.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} delete {file} med {user}", "{actor} removed {user} from {file}" : "{actor} fjernet {user} fra {file}", "{actor} shared {file} with you" : "{actor} delte {file} med deg", - "{actor} removed you from {file}" : "{actor} fjernet deg fra {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Ei fil eller mappe delt via e-post eller offentlig lenke ble <strong>lastet ned</strong>", "A file or folder was shared from <strong>another server</strong>" : "En fil eller mappe ble delt fra <strong>en annen tjener</strong>", "A file or folder has been <strong>shared</strong>" : "En fil eller mappe ble <strong>delt</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Velg eller slipp filer", "Uploading files…" : "Laster opp filer…", "Uploaded files:" : "Opplastede filer:", + "{actor} removed you from {file}" : "{actor} fjernet deg fra {file}", "%s is publicly shared" : "%s er delt offentlig" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js index ec24420177c..2b731422a3d 100644 --- a/apps/files_sharing/l10n/nl.js +++ b/apps/files_sharing/l10n/nl.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} deelde {file} met {user}", "{actor} removed {user} from {file}" : "{actor} verwijderde {user} van {file}", "{actor} shared {file} with you" : "{actor} heeft {file} met je gedeeld", - "{actor} removed you from {file}" : "{actor} heeft je van {file} verwijderd", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Een bestand of map gedeeld via mail of publieke link werd <strong>gedownload</strong>", "A file or folder was shared from <strong>another server</strong>" : "Een bestand of map werd gedeeld vanaf <strong>een andere server</strong>", "A file or folder has been <strong>shared</strong>" : "Een bestand of map is <strong>gedeeld</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Selecteer bestanden of sleep ze naar dit venster", "Uploading files…" : "Uploaden bestanden...", "Uploaded files:" : "Geüploade bestanden", + "{actor} removed you from {file}" : "{actor} heeft je van {file} verwijderd", "%s is publicly shared" : "%s is openbaar gedeeld" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json index 2884d31315c..23fc3edac30 100644 --- a/apps/files_sharing/l10n/nl.json +++ b/apps/files_sharing/l10n/nl.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} deelde {file} met {user}", "{actor} removed {user} from {file}" : "{actor} verwijderde {user} van {file}", "{actor} shared {file} with you" : "{actor} heeft {file} met je gedeeld", - "{actor} removed you from {file}" : "{actor} heeft je van {file} verwijderd", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Een bestand of map gedeeld via mail of publieke link werd <strong>gedownload</strong>", "A file or folder was shared from <strong>another server</strong>" : "Een bestand of map werd gedeeld vanaf <strong>een andere server</strong>", "A file or folder has been <strong>shared</strong>" : "Een bestand of map is <strong>gedeeld</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Selecteer bestanden of sleep ze naar dit venster", "Uploading files…" : "Uploaden bestanden...", "Uploaded files:" : "Geüploade bestanden", + "{actor} removed you from {file}" : "{actor} heeft je van {file} verwijderd", "%s is publicly shared" : "%s is openbaar gedeeld" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/pl.js b/apps/files_sharing/l10n/pl.js index f3fbe2bbfaf..4ac91c99e37 100644 --- a/apps/files_sharing/l10n/pl.js +++ b/apps/files_sharing/l10n/pl.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} współdzieli {file} z {user}", "{actor} removed {user} from {file}" : "{actor} usunął użytkownika {user} z {file}", "{actor} shared {file} with you" : "{actor} udostępnił ci {file}", - "{actor} removed you from {file}" : "{actor} usunął cie z {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Plik lub folder udostępniony za pomocą maila lub publicznego łącza został <strong>pobrany</strong>", "A file or folder was shared from <strong>another server</strong>" : "Plik lub folder został udostępniony z <strong>innego serwera</strong>", "A file or folder has been <strong>shared</strong>" : "Plik lub folder stał się <strong>współdzielony</strong>", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Wybierz lub upuść pliki", "Uploading files…" : "Wysyłanie plików...", "Uploaded files:" : "Wysłane pliki:", + "{actor} removed you from {file}" : "{actor} usunął cie z {file}", "%s is publicly shared" : "%s udostępnione/ych publicznie " }, "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/apps/files_sharing/l10n/pl.json b/apps/files_sharing/l10n/pl.json index 447dac53d84..423fc001898 100644 --- a/apps/files_sharing/l10n/pl.json +++ b/apps/files_sharing/l10n/pl.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} współdzieli {file} z {user}", "{actor} removed {user} from {file}" : "{actor} usunął użytkownika {user} z {file}", "{actor} shared {file} with you" : "{actor} udostępnił ci {file}", - "{actor} removed you from {file}" : "{actor} usunął cie z {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Plik lub folder udostępniony za pomocą maila lub publicznego łącza został <strong>pobrany</strong>", "A file or folder was shared from <strong>another server</strong>" : "Plik lub folder został udostępniony z <strong>innego serwera</strong>", "A file or folder has been <strong>shared</strong>" : "Plik lub folder stał się <strong>współdzielony</strong>", @@ -109,6 +108,7 @@ "Select or drop files" : "Wybierz lub upuść pliki", "Uploading files…" : "Wysyłanie plików...", "Uploaded files:" : "Wysłane pliki:", + "{actor} removed you from {file}" : "{actor} usunął cie z {file}", "%s is publicly shared" : "%s udostępnione/ych publicznie " },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js index cbcb232a3fe..9cadbbcbb98 100644 --- a/apps/files_sharing/l10n/pt_BR.js +++ b/apps/files_sharing/l10n/pt_BR.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} compartilhou {file} com {user}", "{actor} removed {user} from {file}" : "{actor} excluiu {user} de {file}", "{actor} shared {file} with you" : "{actor} compartilhou {file} com você", - "{actor} removed you from {file}" : "{actor} excluiu você de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Um arquivo ou pasta compartilhado por email ou por link publico foi <strong>baixado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Um arquivo ou pasta foi compartilhado a partir de <strong>outro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Um arquivo ou pasta foi <strong>compartilhado</strong> ", @@ -112,6 +111,7 @@ OC.L10N.register( "Select or drop files" : "Selecione ou solte arquivos", "Uploading files…" : "Enviando arquivos...", "Uploaded files:" : "Arquivos enviados:", + "{actor} removed you from {file}" : "{actor} excluiu você de {file}", "%s is publicly shared" : "%s está compartilhado publicamente" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json index 320f039629d..9fa5b5426b3 100644 --- a/apps/files_sharing/l10n/pt_BR.json +++ b/apps/files_sharing/l10n/pt_BR.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} compartilhou {file} com {user}", "{actor} removed {user} from {file}" : "{actor} excluiu {user} de {file}", "{actor} shared {file} with you" : "{actor} compartilhou {file} com você", - "{actor} removed you from {file}" : "{actor} excluiu você de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Um arquivo ou pasta compartilhado por email ou por link publico foi <strong>baixado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Um arquivo ou pasta foi compartilhado a partir de <strong>outro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Um arquivo ou pasta foi <strong>compartilhado</strong> ", @@ -110,6 +109,7 @@ "Select or drop files" : "Selecione ou solte arquivos", "Uploading files…" : "Enviando arquivos...", "Uploaded files:" : "Arquivos enviados:", + "{actor} removed you from {file}" : "{actor} excluiu você de {file}", "%s is publicly shared" : "%s está compartilhado publicamente" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/pt_PT.js b/apps/files_sharing/l10n/pt_PT.js index a7a4929e468..c405c23d7ee 100644 --- a/apps/files_sharing/l10n/pt_PT.js +++ b/apps/files_sharing/l10n/pt_PT.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} partilhou {file} com {user}", "{actor} removed {user} from {file}" : "{actor} removeu {user} de {file}", "{actor} shared {file} with you" : "{actor} partilhou {file} consigo", - "{actor} removed you from {file}" : "{actor} removeu-o de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Um ficheiro ou pasta partilhado por email ou hiperligação publica foi <strong>descarregado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Um ficheiro ou pasta foi partilhado a partir de <strong>outro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Foi <strong>partilhado</strong> um ficheiro ou uma pasta", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "Seleccione ou solte ficheiros", "Uploading files…" : "A enviar ficheiros...", "Uploaded files:" : "Ficheiros enviados:", + "{actor} removed you from {file}" : "{actor} removeu-o de {file}", "%s is publicly shared" : "%s está partilhado publicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/pt_PT.json b/apps/files_sharing/l10n/pt_PT.json index 4fae502552a..201a08c64ef 100644 --- a/apps/files_sharing/l10n/pt_PT.json +++ b/apps/files_sharing/l10n/pt_PT.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} partilhou {file} com {user}", "{actor} removed {user} from {file}" : "{actor} removeu {user} de {file}", "{actor} shared {file} with you" : "{actor} partilhou {file} consigo", - "{actor} removed you from {file}" : "{actor} removeu-o de {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Um ficheiro ou pasta partilhado por email ou hiperligação publica foi <strong>descarregado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Um ficheiro ou pasta foi partilhado a partir de <strong>outro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Foi <strong>partilhado</strong> um ficheiro ou uma pasta", @@ -109,6 +108,7 @@ "Select or drop files" : "Seleccione ou solte ficheiros", "Uploading files…" : "A enviar ficheiros...", "Uploaded files:" : "Ficheiros enviados:", + "{actor} removed you from {file}" : "{actor} removeu-o de {file}", "%s is publicly shared" : "%s está partilhado publicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js index be84b3a8f02..3957eddd85b 100644 --- a/apps/files_sharing/l10n/ru.js +++ b/apps/files_sharing/l10n/ru.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} предоставил(а) пользователю {user} общий доступ к «{file}»", "{actor} removed {user} from {file}" : "{actor} закрыл(а) пользователю {user} общий доступ к «{file}»", "{actor} shared {file} with you" : "{actor} предоставил(а) вам общий доступ к «{file}»", - "{actor} removed you from {file}" : "{actor} закрыл(а) вам общий доступ к «{file}»", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Файл или папка, которыми поделились по электронной почте или общедоступной ссылке, были <strong>скачаны</strong>", "A file or folder was shared from <strong>another server</strong>" : "Общий доступ к файлу или каталогу был открыт <strong>с другого сервера</strong>", "A file or folder has been <strong>shared</strong>" : "<strong>Опубликован</strong> файл или каталог", @@ -112,6 +111,7 @@ OC.L10N.register( "Select or drop files" : "Выберите или перетащите файлы", "Uploading files…" : "Файлы передаются на сервер…", "Uploaded files:" : "Отправленные файлы:", + "{actor} removed you from {file}" : "{actor} закрыл(а) вам общий доступ к «{file}»", "%s is publicly shared" : "«%s» опубликован " }, "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json index 37755d8d049..02f2558593c 100644 --- a/apps/files_sharing/l10n/ru.json +++ b/apps/files_sharing/l10n/ru.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} предоставил(а) пользователю {user} общий доступ к «{file}»", "{actor} removed {user} from {file}" : "{actor} закрыл(а) пользователю {user} общий доступ к «{file}»", "{actor} shared {file} with you" : "{actor} предоставил(а) вам общий доступ к «{file}»", - "{actor} removed you from {file}" : "{actor} закрыл(а) вам общий доступ к «{file}»", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Файл или папка, которыми поделились по электронной почте или общедоступной ссылке, были <strong>скачаны</strong>", "A file or folder was shared from <strong>another server</strong>" : "Общий доступ к файлу или каталогу был открыт <strong>с другого сервера</strong>", "A file or folder has been <strong>shared</strong>" : "<strong>Опубликован</strong> файл или каталог", @@ -110,6 +109,7 @@ "Select or drop files" : "Выберите или перетащите файлы", "Uploading files…" : "Файлы передаются на сервер…", "Uploaded files:" : "Отправленные файлы:", + "{actor} removed you from {file}" : "{actor} закрыл(а) вам общий доступ к «{file}»", "%s is publicly shared" : "«%s» опубликован " },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/sk.js b/apps/files_sharing/l10n/sk.js index b3d1d14cfd6..f4309fd9dc2 100644 --- a/apps/files_sharing/l10n/sk.js +++ b/apps/files_sharing/l10n/sk.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} sprístupnil {file} používateľovi {user}", "{actor} removed {user} from {file}" : "{actor} zrušil sprístupnenie {file} pre používateľa {user}", "{actor} shared {file} with you" : "{actor} vám sprístupnil {file}", - "{actor} removed you from {file}" : "{actor} vám zrušil sprístupnenie {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Súbor alebo adresár zdieľaný cez email alebo verejný odkaz bol <strong>stiahnutý</strong>", "A file or folder was shared from <strong>another server</strong>" : "Súbor alebo priečinok bol sprístupnený z <strong>iného servera</strong>", "A file or folder has been <strong>shared</strong>" : "Súbor alebo priečinok bol <strong>sprístupnený</strong>", @@ -110,6 +109,7 @@ OC.L10N.register( "Select or drop files" : "Vyberte alebo položte súbory", "Uploading files…" : "Nahrávanie súborov...", "Uploaded files:" : "Nahrané súbory...", + "{actor} removed you from {file}" : "{actor} vám zrušil sprístupnenie {file}", "%s is publicly shared" : "%s je verejne zdieľaný" }, "nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/apps/files_sharing/l10n/sk.json b/apps/files_sharing/l10n/sk.json index 8c007c2534f..46ecf58b5bc 100644 --- a/apps/files_sharing/l10n/sk.json +++ b/apps/files_sharing/l10n/sk.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} sprístupnil {file} používateľovi {user}", "{actor} removed {user} from {file}" : "{actor} zrušil sprístupnenie {file} pre používateľa {user}", "{actor} shared {file} with you" : "{actor} vám sprístupnil {file}", - "{actor} removed you from {file}" : "{actor} vám zrušil sprístupnenie {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Súbor alebo adresár zdieľaný cez email alebo verejný odkaz bol <strong>stiahnutý</strong>", "A file or folder was shared from <strong>another server</strong>" : "Súbor alebo priečinok bol sprístupnený z <strong>iného servera</strong>", "A file or folder has been <strong>shared</strong>" : "Súbor alebo priečinok bol <strong>sprístupnený</strong>", @@ -108,6 +107,7 @@ "Select or drop files" : "Vyberte alebo položte súbory", "Uploading files…" : "Nahrávanie súborov...", "Uploaded files:" : "Nahrané súbory...", + "{actor} removed you from {file}" : "{actor} vám zrušil sprístupnenie {file}", "%s is publicly shared" : "%s je verejne zdieľaný" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/sq.js b/apps/files_sharing/l10n/sq.js index 85a64740a49..0b7c2a15f4e 100644 --- a/apps/files_sharing/l10n/sq.js +++ b/apps/files_sharing/l10n/sq.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{aktori} ndau {skedarë} me {përdoruesin}", "{actor} removed {user} from {file}" : "{actor} hoqi {user} nga {file}", "{actor} shared {file} with you" : "{actor} ndau {skedarë} me ju", - "{actor} removed you from {file}" : "{actor} iu hoqi nga {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Një skedar ose dosje e ndarë nga posta ose lidhja publike ishte <strong> shkarkuar</strong>", "A file or folder was shared from <strong>another server</strong>" : "Një kartelë ose dosje u nda prej një <strong>shërbyesi tjetër</strong>", "A file or folder has been <strong>shared</strong>" : "U <strong>nda me të tjerë</strong> një kartelë ose dosje", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Ngrako skedarët tek %s", "Select or drop files" : "Përzgjidh ose hiq skedarët", "Uploading files…" : "Skedarët po ngarkohen...", - "Uploaded files:" : "Skedarët e ngarkuar:" + "Uploaded files:" : "Skedarët e ngarkuar:", + "{actor} removed you from {file}" : "{actor} iu hoqi nga {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/sq.json b/apps/files_sharing/l10n/sq.json index b7cc40ca9ee..9e9ada28334 100644 --- a/apps/files_sharing/l10n/sq.json +++ b/apps/files_sharing/l10n/sq.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{aktori} ndau {skedarë} me {përdoruesin}", "{actor} removed {user} from {file}" : "{actor} hoqi {user} nga {file}", "{actor} shared {file} with you" : "{actor} ndau {skedarë} me ju", - "{actor} removed you from {file}" : "{actor} iu hoqi nga {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Një skedar ose dosje e ndarë nga posta ose lidhja publike ishte <strong> shkarkuar</strong>", "A file or folder was shared from <strong>another server</strong>" : "Një kartelë ose dosje u nda prej një <strong>shërbyesi tjetër</strong>", "A file or folder has been <strong>shared</strong>" : "U <strong>nda me të tjerë</strong> një kartelë ose dosje", @@ -107,6 +106,7 @@ "Upload files to %s" : "Ngrako skedarët tek %s", "Select or drop files" : "Përzgjidh ose hiq skedarët", "Uploading files…" : "Skedarët po ngarkohen...", - "Uploaded files:" : "Skedarët e ngarkuar:" + "Uploaded files:" : "Skedarët e ngarkuar:", + "{actor} removed you from {file}" : "{actor} iu hoqi nga {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/sr.js b/apps/files_sharing/l10n/sr.js index 3c5f3cdaffe..d9b153e79b1 100644 --- a/apps/files_sharing/l10n/sr.js +++ b/apps/files_sharing/l10n/sr.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} поделио {file} са корисником {user}", "{actor} removed {user} from {file}" : "{actor} уклонио корисника {user} са {file}", "{actor} shared {file} with you" : "{actor} поделио {file} са Вама", - "{actor} removed you from {file}" : "{actor} Вас је уклонио са {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Фајл или фасцикла подељена е-поштом су <strong>преузети</strong>", "A file or folder was shared from <strong>another server</strong>" : "Фајл или фасцикла су дељени са <strong>другог сервера</strong>", "A file or folder has been <strong>shared</strong>" : "Фајл или фасцикла је <strong>дељен</strong>", @@ -93,6 +92,7 @@ OC.L10N.register( "Add to your Nextcloud" : "Додајте у свој облак", "Share API is disabled" : "API за дељене је искључен", "File sharing" : "Дељења фајлова", + "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Ова апликација омогућава корисницима да деле фајлове унутар Некстклауда. Када се укључи, администратор може да одабере које групе могу да деле фајлове. Такви корисници затим могу да деле фасцикле и фајлове са осталим корисницима и групама унутар Некстклауда. Додатно, ако администратор укључи и могућност за дељење везе, може се користити и спољна веза за дељење са корисницима ван Некстклауда. Администратори такође могу да захтевају лозинке, датум истека и да омогуће дељење између сервера преко веза дељења, као и дељење са мобилних уређаја.\nИскључивањем ове могућности искључује дељене фасцикле и фајлове на серверу за све дељенике, као и на синхронизованим клијентима и мобилним апликацијама. Више информација можете наћи у Некстклауд документацији.", "This share is password-protected" : "Дељење је заштићено лозинком", "The password is wrong. Try again." : "Лозинка је погрешна. Покушајте поново.", "Password" : "Лозинка", @@ -111,6 +111,7 @@ OC.L10N.register( "Select or drop files" : "Одаберите или превуците фајлове", "Uploading files…" : "Отпремам фајлове…", "Uploaded files:" : "Отпремљени фајлови:", + "{actor} removed you from {file}" : "{actor} Вас је уклонио са {file}", "%s is publicly shared" : "%s је јавно дељен" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); diff --git a/apps/files_sharing/l10n/sr.json b/apps/files_sharing/l10n/sr.json index 4800772506d..dc8eeb948ad 100644 --- a/apps/files_sharing/l10n/sr.json +++ b/apps/files_sharing/l10n/sr.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} поделио {file} са корисником {user}", "{actor} removed {user} from {file}" : "{actor} уклонио корисника {user} са {file}", "{actor} shared {file} with you" : "{actor} поделио {file} са Вама", - "{actor} removed you from {file}" : "{actor} Вас је уклонио са {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Фајл или фасцикла подељена е-поштом су <strong>преузети</strong>", "A file or folder was shared from <strong>another server</strong>" : "Фајл или фасцикла су дељени са <strong>другог сервера</strong>", "A file or folder has been <strong>shared</strong>" : "Фајл или фасцикла је <strong>дељен</strong>", @@ -91,6 +90,7 @@ "Add to your Nextcloud" : "Додајте у свој облак", "Share API is disabled" : "API за дељене је искључен", "File sharing" : "Дељења фајлова", + "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Ова апликација омогућава корисницима да деле фајлове унутар Некстклауда. Када се укључи, администратор може да одабере које групе могу да деле фајлове. Такви корисници затим могу да деле фасцикле и фајлове са осталим корисницима и групама унутар Некстклауда. Додатно, ако администратор укључи и могућност за дељење везе, може се користити и спољна веза за дељење са корисницима ван Некстклауда. Администратори такође могу да захтевају лозинке, датум истека и да омогуће дељење између сервера преко веза дељења, као и дељење са мобилних уређаја.\nИскључивањем ове могућности искључује дељене фасцикле и фајлове на серверу за све дељенике, као и на синхронизованим клијентима и мобилним апликацијама. Више информација можете наћи у Некстклауд документацији.", "This share is password-protected" : "Дељење је заштићено лозинком", "The password is wrong. Try again." : "Лозинка је погрешна. Покушајте поново.", "Password" : "Лозинка", @@ -109,6 +109,7 @@ "Select or drop files" : "Одаберите или превуците фајлове", "Uploading files…" : "Отпремам фајлове…", "Uploaded files:" : "Отпремљени фајлови:", + "{actor} removed you from {file}" : "{actor} Вас је уклонио са {file}", "%s is publicly shared" : "%s је јавно дељен" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js index 22d85532a9a..bee3bf188fc 100644 --- a/apps/files_sharing/l10n/sv.js +++ b/apps/files_sharing/l10n/sv.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} delade {file} med {user}", "{actor} removed {user} from {file}" : "{actor} tog bort {user} från {file}", "{actor} shared {file} with you" : "{actor} delade {file} med dig", - "{actor} removed you from {file}" : "{actor} tog bort dig från {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "En fil eller mapp som delats via mejl eller offentlig länk har blivit <strong>nedladdad</strong>", "A file or folder was shared from <strong>another server</strong>" : "En fil eller mapp delades från <strong>en annan server</strong>", "A file or folder has been <strong>shared</strong>" : "En fil eller mapp har <strong>delats</strong>", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Ladda upp filer till %s", "Select or drop files" : "Välj eller dra filer hit", "Uploading files…" : "Laddar upp filer...", - "Uploaded files:" : "Uppladdade filer:" + "Uploaded files:" : "Uppladdade filer:", + "{actor} removed you from {file}" : "{actor} tog bort dig från {file}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json index cefff885583..43f1f48246b 100644 --- a/apps/files_sharing/l10n/sv.json +++ b/apps/files_sharing/l10n/sv.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} delade {file} med {user}", "{actor} removed {user} from {file}" : "{actor} tog bort {user} från {file}", "{actor} shared {file} with you" : "{actor} delade {file} med dig", - "{actor} removed you from {file}" : "{actor} tog bort dig från {file}", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "En fil eller mapp som delats via mejl eller offentlig länk har blivit <strong>nedladdad</strong>", "A file or folder was shared from <strong>another server</strong>" : "En fil eller mapp delades från <strong>en annan server</strong>", "A file or folder has been <strong>shared</strong>" : "En fil eller mapp har <strong>delats</strong>", @@ -107,6 +106,7 @@ "Upload files to %s" : "Ladda upp filer till %s", "Select or drop files" : "Välj eller dra filer hit", "Uploading files…" : "Laddar upp filer...", - "Uploaded files:" : "Uppladdade filer:" + "Uploaded files:" : "Uppladdade filer:", + "{actor} removed you from {file}" : "{actor} tog bort dig från {file}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js index 47f6cf980f7..0fbccf13d6e 100644 --- a/apps/files_sharing/l10n/tr.js +++ b/apps/files_sharing/l10n/tr.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} {file} dosyasını {user} kullanıcısı ile paylaştı", "{actor} removed {user} from {file}" : "{actor} {file} dosyasının {user} kullanıcısıyla paylaşımını kaldırdı", "{actor} shared {file} with you" : "{actor} {file} dosyasını sizinle paylaştı", - "{actor} removed you from {file}" : "{actor} {file} dosyasının sizinle paylaşımını kaldırdı", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "E-posta ya da herkese açık bağlantı ile paylaşılan bir dosya ya da klasör <strong>indirildi</strong>", "A file or folder was shared from <strong>another server</strong>" : "<strong>Başka bir sunucudan</strong> bir dosya ya da klasör paylaşıldı", "A file or folder has been <strong>shared</strong>" : "Bir dosya ya da klasör <strong>paylaşıldı</strong>", @@ -112,6 +111,7 @@ OC.L10N.register( "Select or drop files" : "Dosyaları seçin ya da sürükleyip bırakın", "Uploading files…" : "Dosyalar yükleniyor...", "Uploaded files:" : "Yüklenmiş dosyalar:", + "{actor} removed you from {file}" : "{actor} {file} dosyasının sizinle paylaşımını kaldırdı", "%s is publicly shared" : "%s herkese açık olarak paylaşıldı" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json index 63cf6baee99..733bd61758d 100644 --- a/apps/files_sharing/l10n/tr.json +++ b/apps/files_sharing/l10n/tr.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} {file} dosyasını {user} kullanıcısı ile paylaştı", "{actor} removed {user} from {file}" : "{actor} {file} dosyasının {user} kullanıcısıyla paylaşımını kaldırdı", "{actor} shared {file} with you" : "{actor} {file} dosyasını sizinle paylaştı", - "{actor} removed you from {file}" : "{actor} {file} dosyasının sizinle paylaşımını kaldırdı", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "E-posta ya da herkese açık bağlantı ile paylaşılan bir dosya ya da klasör <strong>indirildi</strong>", "A file or folder was shared from <strong>another server</strong>" : "<strong>Başka bir sunucudan</strong> bir dosya ya da klasör paylaşıldı", "A file or folder has been <strong>shared</strong>" : "Bir dosya ya da klasör <strong>paylaşıldı</strong>", @@ -110,6 +109,7 @@ "Select or drop files" : "Dosyaları seçin ya da sürükleyip bırakın", "Uploading files…" : "Dosyalar yükleniyor...", "Uploaded files:" : "Yüklenmiş dosyalar:", + "{actor} removed you from {file}" : "{actor} {file} dosyasının sizinle paylaşımını kaldırdı", "%s is publicly shared" : "%s herkese açık olarak paylaşıldı" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/zh_CN.js b/apps/files_sharing/l10n/zh_CN.js index ea2e6162eb0..c69b3688722 100644 --- a/apps/files_sharing/l10n/zh_CN.js +++ b/apps/files_sharing/l10n/zh_CN.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} 共享 {file} 与 {user}", "{actor} removed {user} from {file}" : "{actor} 移除 {user} 从 {file}", "{actor} shared {file} with you" : "{actor} 与您共享了 {file} ", - "{actor} removed you from {file}" : "{actor} 将您从 {file} 移除", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "通过邮件或公共链接分享的文件或文件夹<strong>已下载</strong>", "A file or folder was shared from <strong>another server</strong>" : "<strong>其它服务器</strong> 中一个文件或者文件夹被共享 ", "A file or folder has been <strong>shared</strong>" : "一个文件或文件夹已<strong>共享</strong>。", @@ -111,6 +110,7 @@ OC.L10N.register( "Select or drop files" : "选择或删除文件", "Uploading files…" : "上传文件 … ", "Uploaded files:" : "上传的文件: ", + "{actor} removed you from {file}" : "{actor} 将您从 {file} 移除", "%s is publicly shared" : "%s 是公开共享" }, "nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/zh_CN.json b/apps/files_sharing/l10n/zh_CN.json index 34c859c5408..c0442860eec 100644 --- a/apps/files_sharing/l10n/zh_CN.json +++ b/apps/files_sharing/l10n/zh_CN.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} 共享 {file} 与 {user}", "{actor} removed {user} from {file}" : "{actor} 移除 {user} 从 {file}", "{actor} shared {file} with you" : "{actor} 与您共享了 {file} ", - "{actor} removed you from {file}" : "{actor} 将您从 {file} 移除", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "通过邮件或公共链接分享的文件或文件夹<strong>已下载</strong>", "A file or folder was shared from <strong>another server</strong>" : "<strong>其它服务器</strong> 中一个文件或者文件夹被共享 ", "A file or folder has been <strong>shared</strong>" : "一个文件或文件夹已<strong>共享</strong>。", @@ -109,6 +108,7 @@ "Select or drop files" : "选择或删除文件", "Uploading files…" : "上传文件 … ", "Uploaded files:" : "上传的文件: ", + "{actor} removed you from {file}" : "{actor} 将您从 {file} 移除", "%s is publicly shared" : "%s 是公开共享" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/zh_TW.js b/apps/files_sharing/l10n/zh_TW.js index 0e08c501c08..0f875e69211 100644 --- a/apps/files_sharing/l10n/zh_TW.js +++ b/apps/files_sharing/l10n/zh_TW.js @@ -60,7 +60,6 @@ OC.L10N.register( "{actor} shared {file} with {user}" : "{actor} 分享了 {file} 給 {user}", "{actor} removed {user} from {file}" : "{actor} 移除 {user} 從 {file}", "{actor} shared {file} with you" : "{actor} 與你分享了 {file}", - "{actor} removed you from {file}" : "{actor} 將你從 {file} 移除", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "email或公開連結分享的檔案與資料夾已被 <strong>下載</strong>", "A file or folder was shared from <strong>another server</strong>" : "檔案或目錄已被 <strong>其他伺服器</strong> 分享", "A file or folder has been <strong>shared</strong>" : "檔案或目錄已被 <strong>分享</strong>", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "上傳檔案到 %s", "Select or drop files" : "選擇或拖曳檔案至此", "Uploading files…" : "上傳檔案中…", - "Uploaded files:" : "已上傳的檔案:" + "Uploaded files:" : "已上傳的檔案:", + "{actor} removed you from {file}" : "{actor} 將你從 {file} 移除" }, "nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/zh_TW.json b/apps/files_sharing/l10n/zh_TW.json index 70aa2dc0a14..5a49f52e281 100644 --- a/apps/files_sharing/l10n/zh_TW.json +++ b/apps/files_sharing/l10n/zh_TW.json @@ -58,7 +58,6 @@ "{actor} shared {file} with {user}" : "{actor} 分享了 {file} 給 {user}", "{actor} removed {user} from {file}" : "{actor} 移除 {user} 從 {file}", "{actor} shared {file} with you" : "{actor} 與你分享了 {file}", - "{actor} removed you from {file}" : "{actor} 將你從 {file} 移除", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "email或公開連結分享的檔案與資料夾已被 <strong>下載</strong>", "A file or folder was shared from <strong>another server</strong>" : "檔案或目錄已被 <strong>其他伺服器</strong> 分享", "A file or folder has been <strong>shared</strong>" : "檔案或目錄已被 <strong>分享</strong>", @@ -107,6 +106,7 @@ "Upload files to %s" : "上傳檔案到 %s", "Select or drop files" : "選擇或拖曳檔案至此", "Uploading files…" : "上傳檔案中…", - "Uploaded files:" : "已上傳的檔案:" + "Uploaded files:" : "已上傳的檔案:", + "{actor} removed you from {file}" : "{actor} 將你從 {file} 移除" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_sharing/lib/Activity/Providers/Users.php b/apps/files_sharing/lib/Activity/Providers/Users.php index b5322db4270..2de7e23621e 100644 --- a/apps/files_sharing/lib/Activity/Providers/Users.php +++ b/apps/files_sharing/lib/Activity/Providers/Users.php @@ -92,7 +92,7 @@ class Users extends Base { } else if ($event->getSubject() === self::SUBJECT_SHARED_WITH_BY) { $subject = $this->l->t('{actor} shared {file} with you'); } else if ($event->getSubject() === self::SUBJECT_UNSHARED_BY) { - $subject = $this->l->t('{actor} removed you from {file}'); + $subject = $this->l->t('{actor} removed you from the share named {file}'); } else { throw new \InvalidArgumentException(); diff --git a/apps/files_sharing/lib/Controller/ShareController.php b/apps/files_sharing/lib/Controller/ShareController.php index da0da6c27a8..739031d4bc2 100644 --- a/apps/files_sharing/lib/Controller/ShareController.php +++ b/apps/files_sharing/lib/Controller/ShareController.php @@ -217,7 +217,7 @@ class ShareController extends Controller { private function linkShareAuth(\OCP\Share\IShare $share, $password = null) { if ($password !== null) { if ($this->shareManager->checkPassword($share, $password)) { - $this->session->regenerateId(); + $this->session->regenerateId(true, true); $this->session->set('public_link_authenticated', (string)$share->getId()); } else { $this->emitAccessShareHook($share, 403, 'Wrong password'); diff --git a/apps/files_trashbin/js/app.js b/apps/files_trashbin/js/app.js index fd3d5db32ff..002c01bf967 100644 --- a/apps/files_trashbin/js/app.js +++ b/apps/files_trashbin/js/app.js @@ -30,7 +30,19 @@ OCA.Trashbin.App = { fileActions: this._createFileActions(), detailsViewEnabled: false, scrollTo: urlParams.scrollto, - config: OCA.Files.App.getFilesConfig() + config: OCA.Files.App.getFilesConfig(), + multiSelectMenu: [ + { + name: 'restore', + displayName: t('files', 'Restore'), + iconClass: 'icon-history', + }, + { + name: 'delete', + displayName: t('files', 'Delete'), + iconClass: 'icon-delete', + } + ] } ); }, diff --git a/apps/files_trashbin/js/filelist.js b/apps/files_trashbin/js/filelist.js index 4846c2361fe..324e4d8a7e0 100644 --- a/apps/files_trashbin/js/filelist.js +++ b/apps/files_trashbin/js/filelist.js @@ -153,7 +153,6 @@ } this.fileSummary.update(); this.updateEmptyContent(); - this.enableActions(); }, _onClickRestoreSelected: function(event) { @@ -162,7 +161,7 @@ var allFiles = this.$el.find('.select-all').is(':checked'); var files = []; var params = {}; - this.disableActions(); + this.fileMultiSelectMenu.toggleLoading('restore', true); if (allFiles) { this.showMask(); params = { @@ -192,13 +191,14 @@ self.hideMask(); // simply remove all files self.setFiles([]); - self.enableActions(); } else { self._removeCallback(result); } + self.fileMultiSelectMenu.toggleLoading('restore', false); } ); + event.preventDefault(); }, _onClickDeleteSelected: function(event) { @@ -221,7 +221,7 @@ }; } - this.disableActions(); + this.fileMultiSelectMenu.toggleLoading('delete', true); if (allFiles) { this.showMask(); } @@ -242,11 +242,11 @@ self.hideMask(); // simply remove all files self.setFiles([]); - self.enableActions(); } else { self._removeCallback(result); } + self.fileMultiSelectMenu.toggleLoading('delete', false); } ); }, @@ -268,16 +268,6 @@ return '#'; }, - enableActions: function() { - this.$el.find('.action').css('display', 'inline'); - this.$el.find('input:checkbox').removeClass('u-hidden'); - }, - - disableActions: function() { - this.$el.find('.action').css('display', 'none'); - this.$el.find('input:checkbox').addClass('u-hidden'); - }, - updateStorageStatistics: function() { // no op because the trashbin doesn't have // storage info like free space / used space diff --git a/apps/files_trashbin/templates/index.php b/apps/files_trashbin/templates/index.php index a4459947d09..dd24abb5de1 100644 --- a/apps/files_trashbin/templates/index.php +++ b/apps/files_trashbin/templates/index.php @@ -31,25 +31,15 @@ <div id="headerName-container"> <a class="name sort columntitle" data-sort="name"><span><?php p($l->t( 'Name' )); ?></span><span class="sort-indicator"></span></a> <span id="selectedActionsList" class='selectedActions'> - <a href="" class="undelete"> - <span class="icon icon-history"></span> - <span><?php p($l->t('Restore'))?></span> - </a> - <a href="" class="delete-selected"> - <span class="icon icon-delete"></span> - <span><?php p($l->t('Delete'))?></span> + <a href="" class="actions-selected"> + <span class="icon icon-more"></span> + <span><?php p($l->t('Actions'))?></span> </a> </span> </div> </th> <th id="headerDate" class="hidden column-mtime"> <a id="modified" class="columntitle" data-sort="mtime"><span><?php p($l->t( 'Deleted' )); ?></span><span class="sort-indicator"></span></a> - <span class="selectedActions"> - <a href="" class="delete-selected"> - <span><?php p($l->t('Delete'))?></span> - <span class="icon icon-delete"></span> - </a> - </span> </th> </tr> </thead> diff --git a/apps/files_trashbin/tests/js/filelistSpec.js b/apps/files_trashbin/tests/js/filelistSpec.js index 04ff243d07b..c5b1018856b 100644 --- a/apps/files_trashbin/tests/js/filelistSpec.js +++ b/apps/files_trashbin/tests/js/filelistSpec.js @@ -46,8 +46,8 @@ describe('OCA.Trashbin.FileList tests', function() { '<input type="checkbox" id="select_all_trash" class="select-all">' + '<span class="name">Name</span>' + '<span class="selectedActions hidden">' + - '<a href class="undelete">Restore</a>' + - '<a href class="delete-selected">Delete</a></span>' + + '<a href="" class="actions-selected"><span class="icon icon-more"></span><span>Actions</span>' + + '</span>' + '</th></tr></thead>' + '<tbody id="fileList"></tbody>' + '<tfoot></tfoot>' + @@ -90,7 +90,18 @@ describe('OCA.Trashbin.FileList tests', function() { var fileActions = OCA.Trashbin.App._createFileActions(fileList); fileList = new OCA.Trashbin.FileList( $('#app-content-trashbin'), { - fileActions: fileActions + fileActions: fileActions, + multiSelectMenu: [{ + name: 'restore', + displayName: t('files', 'Restore'), + iconClass: 'icon-history', + }, + { + name: 'delete', + displayName: t('files', 'Delete'), + iconClass: 'icon-delete', + } + ] } ); }); @@ -260,33 +271,41 @@ describe('OCA.Trashbin.FileList tests', function() { fileList.findFileEl('One.txt.d11111').find('input:checkbox').click(); fileList.findFileEl('Three.pdf.d33333').find('input:checkbox').click(); fileList.findFileEl('somedir.d99999').find('input:checkbox').click(); + fileList.$el.find('.actions-selected').click(); + }); + + afterEach(function() { + fileList.$el.find('.actions-selected').click(); }); + describe('Delete', function() { it('Shows trashbin actions', function() { // visible because a few files were selected expect($('.selectedActions').is(':visible')).toEqual(true); - expect($('.selectedActions .delete-selected').is(':visible')).toEqual(true); - expect($('.selectedActions .undelete').is(':visible')).toEqual(true); + expect($('.selectedActions .item-delete').is(':visible')).toEqual(true); + expect($('.selectedActions .item-restore').is(':visible')).toEqual(true); // check fileList.$el.find('.select-all').click(); // stays visible expect($('.selectedActions').is(':visible')).toEqual(true); - expect($('.selectedActions .delete-selected').is(':visible')).toEqual(true); - expect($('.selectedActions .undelete').is(':visible')).toEqual(true); + expect($('.selectedActions .item-delete').is(':visible')).toEqual(true); + expect($('.selectedActions .item-restore').is(':visible')).toEqual(true); // uncheck fileList.$el.find('.select-all').click(); // becomes hidden now expect($('.selectedActions').is(':visible')).toEqual(false); - expect($('.selectedActions .delete-selected').is(':visible')).toEqual(false); - expect($('.selectedActions .undelete').is(':visible')).toEqual(false); + expect($('.selectedActions .item-delete').is(':visible')).toEqual(false); + expect($('.selectedActions .item-restore').is(':visible')).toEqual(false); }); it('Deletes selected files when "Delete" clicked', function() { var request; - $('.selectedActions .delete-selected').click(); + var $deleteLink = $('.selectedActions .filesSelectMenu .delete'); + $deleteLink.click(); + expect($deleteLink.find('.icon-loading-small').length).toEqual(1); expect(fakeServer.requests.length).toEqual(1); request = fakeServer.requests[0]; expect(request.url).toEqual(OC.webroot + '/index.php/apps/files_trashbin/ajax/delete.php'); @@ -306,6 +325,7 @@ describe('OCA.Trashbin.FileList tests', function() { } }) ); + expect($deleteLink.find('.icon-loading-small').length).toEqual(0); expect(fileList.findFileEl('One.txt.d11111').length).toEqual(0); expect(fileList.findFileEl('Three.pdf.d33333').length).toEqual(0); expect(fileList.findFileEl('somedir.d99999').length).toEqual(0); @@ -314,7 +334,7 @@ describe('OCA.Trashbin.FileList tests', function() { it('Deletes all files when all selected when "Delete" clicked', function() { var request; $('.select-all').click(); - $('.selectedActions .delete-selected').click(); + $('.selectedActions .filesSelectMenu .delete').click(); expect(fakeServer.requests.length).toEqual(1); request = fakeServer.requests[0]; expect(request.url).toEqual(OC.webroot + '/index.php/apps/files_trashbin/ajax/delete.php'); @@ -331,7 +351,9 @@ describe('OCA.Trashbin.FileList tests', function() { describe('Restore', function() { it('Restores selected files when "Restore" clicked', function() { var request; - $('.selectedActions .undelete').click(); + var $restoreLink = $('.selectedActions .filesSelectMenu .restore'); + $restoreLink.click(); + expect($restoreLink.find('.icon-loading-small').length).toEqual(1); expect(fakeServer.requests.length).toEqual(1); request = fakeServer.requests[0]; expect(request.url).toEqual(OC.webroot + '/index.php/apps/files_trashbin/ajax/undelete.php'); @@ -351,6 +373,7 @@ describe('OCA.Trashbin.FileList tests', function() { } }) ); + expect($restoreLink.find('.icon-loading-small').length).toEqual(0); expect(fileList.findFileEl('One.txt.d11111').length).toEqual(0); expect(fileList.findFileEl('Three.pdf.d33333').length).toEqual(0); expect(fileList.findFileEl('somedir.d99999').length).toEqual(0); @@ -359,7 +382,7 @@ describe('OCA.Trashbin.FileList tests', function() { it('Restores all files when all selected when "Restore" clicked', function() { var request; $('.select-all').click(); - $('.selectedActions .undelete').click(); + $('.selectedActions .filesSelectMenu .restore').click(); expect(fakeServer.requests.length).toEqual(1); request = fakeServer.requests[0]; expect(request.url).toEqual(OC.webroot + '/index.php/apps/files_trashbin/ajax/undelete.php'); diff --git a/apps/files_versions/l10n/de.js b/apps/files_versions/l10n/de.js index 97959ba10a1..2aed09c4791 100644 --- a/apps/files_versions/l10n/de.js +++ b/apps/files_versions/l10n/de.js @@ -8,6 +8,8 @@ OC.L10N.register( "Restore" : "Wiederherstellen", "No earlier versions available" : "Keine Vorgänger-Versionen vorhanden", "More versions …" : "Weitere Versionen…", - "This application automatically maintains older versions of files that are changed." : "Diese App verwaltet automatisch ältere Versionen geänderter Dateien." + "This application automatically maintains older versions of files that are changed." : "Diese App verwaltet automatisch ältere Versionen geänderter Dateien.", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung pflegt automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über das Webinterface auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\n\t\tZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\nIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung pflegt automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über das Webinterface auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\n\t\tZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/de.json b/apps/files_versions/l10n/de.json index 4e99352d904..ce5730aedb4 100644 --- a/apps/files_versions/l10n/de.json +++ b/apps/files_versions/l10n/de.json @@ -6,6 +6,8 @@ "Restore" : "Wiederherstellen", "No earlier versions available" : "Keine Vorgänger-Versionen vorhanden", "More versions …" : "Weitere Versionen…", - "This application automatically maintains older versions of files that are changed." : "Diese App verwaltet automatisch ältere Versionen geänderter Dateien." + "This application automatically maintains older versions of files that are changed." : "Diese App verwaltet automatisch ältere Versionen geänderter Dateien.", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung pflegt automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über das Webinterface auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\n\t\tZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\nIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung pflegt automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über das Webinterface auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\n\t\tZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/el.js b/apps/files_versions/l10n/el.js index 9742232bfee..d03f3994183 100644 --- a/apps/files_versions/l10n/el.js +++ b/apps/files_versions/l10n/el.js @@ -7,6 +7,7 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n bytes","%n bytes"], "Restore" : "Επαναφορά", "No earlier versions available" : "Δεν είναι διαθέριμες νεότερες εκδόσεις", - "More versions …" : "Περισσότερες εκδόσεις ..." + "More versions …" : "Περισσότερες εκδόσεις ...", + "This application automatically maintains older versions of files that are changed." : "Η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις των αρχείων που έχουν αλλάξει." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/el.json b/apps/files_versions/l10n/el.json index 0932c5b6620..d454cd28e95 100644 --- a/apps/files_versions/l10n/el.json +++ b/apps/files_versions/l10n/el.json @@ -5,6 +5,7 @@ "_%n byte_::_%n bytes_" : ["%n bytes","%n bytes"], "Restore" : "Επαναφορά", "No earlier versions available" : "Δεν είναι διαθέριμες νεότερες εκδόσεις", - "More versions …" : "Περισσότερες εκδόσεις ..." + "More versions …" : "Περισσότερες εκδόσεις ...", + "This application automatically maintains older versions of files that are changed." : "Η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις των αρχείων που έχουν αλλάξει." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/eo.js b/apps/files_versions/l10n/eo.js index cd098fe940e..3935606b4ca 100644 --- a/apps/files_versions/l10n/eo.js +++ b/apps/files_versions/l10n/eo.js @@ -4,6 +4,8 @@ OC.L10N.register( "Could not revert: %s" : "Ne eblas malfari: %s", "Versions" : "Versioj", "Failed to revert {file} to revision {timestamp}." : "Malsukcesis returnigo de {file} al la revizio {timestamp}.", - "Restore" : "Restaŭri" + "_%n byte_::_%n bytes_" : ["%n duumoko","%n duumokoj"], + "Restore" : "Restaŭri", + "More versions …" : "Pli da versioj..." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/eo.json b/apps/files_versions/l10n/eo.json index b5682170f59..671b35f5096 100644 --- a/apps/files_versions/l10n/eo.json +++ b/apps/files_versions/l10n/eo.json @@ -2,6 +2,8 @@ "Could not revert: %s" : "Ne eblas malfari: %s", "Versions" : "Versioj", "Failed to revert {file} to revision {timestamp}." : "Malsukcesis returnigo de {file} al la revizio {timestamp}.", - "Restore" : "Restaŭri" + "_%n byte_::_%n bytes_" : ["%n duumoko","%n duumokoj"], + "Restore" : "Restaŭri", + "More versions …" : "Pli da versioj..." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/ru.js b/apps/files_versions/l10n/ru.js index fbce7c94c98..0b76e3eb0ad 100644 --- a/apps/files_versions/l10n/ru.js +++ b/apps/files_versions/l10n/ru.js @@ -7,6 +7,9 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байт","%n байт"], "Restore" : "Откатить", "No earlier versions available" : "Нет более ранних версий…", - "More versions …" : "Ещё версии…" + "More versions …" : "Ещё версии…", + "This application automatically maintains older versions of files that are changed." : "Это приложение автоматически поддерживает старые версии файлов, которые были изменены.", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение автоматически поддерживает старые версии файлов, которые были изменены. Когда приложение включено, папка скрытых версий будет в каталоге каждого пользователя и используется для хранения старых версий файлов. Пользователь может в любой момент вернуться к старой версии через веб-интерфейс, при этом файл с новой версией будет заменён файлом старой версии. Приложение автоматически управляет папкой версий, чтобы гарантировать, что у пользователя не закончится дисковая квота из-за обилия версий. В дополнение к истечению срока действия версии, данной приложение не позволяет использовать более 50% свободного места, в настоящее время доступного пользователю. Если сохраненные версии превышают этот предел, приложение сначала удалит самые старые версии, пока не достигнет этого предела. Дополнительная информация доступна в документации в разделе \"Версии\".", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\nIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение автоматически поддерживает старые версии файлов, которые были изменены. Когда приложение включено, папка скрытых версий будет в каталоге каждого пользователя и используется для хранения старых версий файлов. Пользователь может в любой момент вернуться к старой версии через веб-интерфейс, при этом файл с новой версией будет заменён файлом старой версии. Приложение автоматически управляет папкой версий, чтобы гарантировать, что у пользователя не закончится дисковая квота из-за обилия версий. В дополнение к истечению срока действия версии, данной приложение не позволяет использовать более 50% свободного места, в настоящее время доступного пользователю. Если сохраненные версии превышают этот предел, приложение сначала удалит самые старые версии, пока не достигнет этого предела. Дополнительная информация доступна в документации в разделе \"Версии\"." }, "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); diff --git a/apps/files_versions/l10n/ru.json b/apps/files_versions/l10n/ru.json index 86dde804498..35c15c7e990 100644 --- a/apps/files_versions/l10n/ru.json +++ b/apps/files_versions/l10n/ru.json @@ -5,6 +5,9 @@ "_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байт","%n байт"], "Restore" : "Откатить", "No earlier versions available" : "Нет более ранних версий…", - "More versions …" : "Ещё версии…" + "More versions …" : "Ещё версии…", + "This application automatically maintains older versions of files that are changed." : "Это приложение автоматически поддерживает старые версии файлов, которые были изменены.", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение автоматически поддерживает старые версии файлов, которые были изменены. Когда приложение включено, папка скрытых версий будет в каталоге каждого пользователя и используется для хранения старых версий файлов. Пользователь может в любой момент вернуться к старой версии через веб-интерфейс, при этом файл с новой версией будет заменён файлом старой версии. Приложение автоматически управляет папкой версий, чтобы гарантировать, что у пользователя не закончится дисковая квота из-за обилия версий. В дополнение к истечению срока действия версии, данной приложение не позволяет использовать более 50% свободного места, в настоящее время доступного пользователю. Если сохраненные версии превышают этот предел, приложение сначала удалит самые старые версии, пока не достигнет этого предела. Дополнительная информация доступна в документации в разделе \"Версии\".", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\nIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение автоматически поддерживает старые версии файлов, которые были изменены. Когда приложение включено, папка скрытых версий будет в каталоге каждого пользователя и используется для хранения старых версий файлов. Пользователь может в любой момент вернуться к старой версии через веб-интерфейс, при этом файл с новой версией будет заменён файлом старой версии. Приложение автоматически управляет папкой версий, чтобы гарантировать, что у пользователя не закончится дисковая квота из-за обилия версий. В дополнение к истечению срока действия версии, данной приложение не позволяет использовать более 50% свободного места, в настоящее время доступного пользователю. Если сохраненные версии превышают этот предел, приложение сначала удалит самые старые версии, пока не достигнет этого предела. Дополнительная информация доступна в документации в разделе \"Версии\"." },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" }
\ No newline at end of file diff --git a/apps/oauth2/l10n/es.js b/apps/oauth2/l10n/es.js index d9e8052265d..8a2865c4f25 100644 --- a/apps/oauth2/l10n/es.js +++ b/apps/oauth2/l10n/es.js @@ -2,6 +2,8 @@ OC.L10N.register( "oauth2", { "OAuth 2.0" : "OAuth 2.0", + "Allows OAuth2 compatible authentication from other web applications." : "Permite autenticación compatible con OAuth2 desde otras aplicaciones web.", + "The OAuth2 app allows administrators to configure the built-in authentication workflow to also allow OAuth2 compatible authentication from other web applications." : "La app OAuth2 permite a los administradores configurar el flujo de trabajo de autenticación incorporado para permitir también autenticación compatible con OAuth2 desde otras aplicaciones web.", "OAuth 2.0 clients" : "Clientes OAuth 2.0", "OAuth 2.0 allows external services to request access to %s." : "OAut 2.0 permite a servicios externos solicitar acceso a %s.", "Name" : "Nombre", diff --git a/apps/oauth2/l10n/es.json b/apps/oauth2/l10n/es.json index adddffe23ce..f9d7936bd66 100644 --- a/apps/oauth2/l10n/es.json +++ b/apps/oauth2/l10n/es.json @@ -1,5 +1,7 @@ { "translations": { "OAuth 2.0" : "OAuth 2.0", + "Allows OAuth2 compatible authentication from other web applications." : "Permite autenticación compatible con OAuth2 desde otras aplicaciones web.", + "The OAuth2 app allows administrators to configure the built-in authentication workflow to also allow OAuth2 compatible authentication from other web applications." : "La app OAuth2 permite a los administradores configurar el flujo de trabajo de autenticación incorporado para permitir también autenticación compatible con OAuth2 desde otras aplicaciones web.", "OAuth 2.0 clients" : "Clientes OAuth 2.0", "OAuth 2.0 allows external services to request access to %s." : "OAut 2.0 permite a servicios externos solicitar acceso a %s.", "Name" : "Nombre", diff --git a/apps/oauth2/l10n/lv.js b/apps/oauth2/l10n/lv.js index 7254c45e373..37c8d0dc265 100644 --- a/apps/oauth2/l10n/lv.js +++ b/apps/oauth2/l10n/lv.js @@ -1,6 +1,7 @@ OC.L10N.register( "oauth2", { + "OAuth 2.0" : "OAuth 2.0", "OAuth 2.0 clients" : "OAuth 2.0 klients", "Name" : "Nosaukums", "Redirection URI" : "Pārvirzāmais URI", diff --git a/apps/oauth2/l10n/lv.json b/apps/oauth2/l10n/lv.json index 35c172d3037..a55d5f08ed8 100644 --- a/apps/oauth2/l10n/lv.json +++ b/apps/oauth2/l10n/lv.json @@ -1,4 +1,5 @@ { "translations": { + "OAuth 2.0" : "OAuth 2.0", "OAuth 2.0 clients" : "OAuth 2.0 klients", "Name" : "Nosaukums", "Redirection URI" : "Pārvirzāmais URI", diff --git a/apps/provisioning_api/lib/Controller/AUserData.php b/apps/provisioning_api/lib/Controller/AUserData.php index 348eea7c19b..2e29cc1df12 100644 --- a/apps/provisioning_api/lib/Controller/AUserData.php +++ b/apps/provisioning_api/lib/Controller/AUserData.php @@ -105,7 +105,7 @@ abstract class AUserData extends OCSController { $groups = $this->groupManager->getUserGroups($targetUserObject); $gids = []; foreach ($groups as $group) { - $gids[] = $group->getDisplayName(); + $gids[] = $group->getGID(); } // Find the data diff --git a/apps/provisioning_api/lib/Controller/GroupsController.php b/apps/provisioning_api/lib/Controller/GroupsController.php index 5114c6f01d5..765a7ea48e8 100644 --- a/apps/provisioning_api/lib/Controller/GroupsController.php +++ b/apps/provisioning_api/lib/Controller/GroupsController.php @@ -177,12 +177,13 @@ class GroupsController extends AUserData { * @NoAdminRequired * * @param string $groupId + * @param string $search * @param int $limit * @param int $offset * @return DataResponse * @throws OCSException */ - public function getGroupUsersDetails(string $groupId, int $limit = null, int $offset = 0): DataResponse { + public function getGroupUsersDetails(string $groupId, string $search = '', int $limit = null, int $offset = 0): DataResponse { $user = $this->userSession->getUser(); $isSubadminOfGroup = false; @@ -197,9 +198,9 @@ class GroupsController extends AUserData { // Check subadmin has access to this group if($this->groupManager->isAdmin($user->getUID()) || $isSubadminOfGroup) { - $users = $this->groupManager->get($groupId)->getUsers(); + $users = $this->groupManager->get($groupId)->searchUsers($search, $limit, $offset); + // Extract required number - $users = array_slice($users, $offset, $limit); $users = array_keys($users); $usersDetails = []; foreach ($users as $userId) { diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php index ce127c1b365..114742de4f9 100644 --- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php +++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php @@ -707,13 +707,13 @@ class UsersControllerTest extends TestCase { ->method('getSubAdminsGroups') ->willReturn([$group]); $group->expects($this->at(0)) - ->method('getDisplayName') + ->method('getGID') ->willReturn('group0'); $group->expects($this->at(1)) - ->method('getDisplayName') + ->method('getGID') ->willReturn('group1'); $group->expects($this->at(2)) - ->method('getDisplayName') + ->method('getGID') ->willReturn('group2'); $group->expects($this->at(3)) ->method('getGID') diff --git a/apps/systemtags/l10n/es.js b/apps/systemtags/l10n/es.js index 2aa5c8dfa58..52c15a67665 100644 --- a/apps/systemtags/l10n/es.js +++ b/apps/systemtags/l10n/es.js @@ -42,6 +42,8 @@ OC.L10N.register( "%s (invisible)" : "%s (invisible)", "<strong>System tags</strong> for a file have been modified" : "Se han modificado las <strong>etiquetas de sistema</strong> de un archivo", "Collaborative tags" : "Etiquetas colaborativas", + "Collaborative tagging functionality which shares tags among users." : "Funcionalidad de etiquetado colaborativo que comparte las etiquetas entre usuarios.", + "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "Funcionalidad de etiquetado colaborativo que comparte las etiquetas entre usuarios. Adecuado para equipos.\n\n(Si eres un proveedor con una instalación en multitenencia), se aconseja desactivar esta app pues las etiquetas se comparten).", "Create and edit collaborative tags. These tags affect all users." : "Crea y edita etiquetas colaborativas. Estas etiquetas afectan a todos los usuarios.", "Select tag …" : "Selecciona etiqueta...", "Name" : "Nombre", diff --git a/apps/systemtags/l10n/es.json b/apps/systemtags/l10n/es.json index f855286a590..2553d032118 100644 --- a/apps/systemtags/l10n/es.json +++ b/apps/systemtags/l10n/es.json @@ -40,6 +40,8 @@ "%s (invisible)" : "%s (invisible)", "<strong>System tags</strong> for a file have been modified" : "Se han modificado las <strong>etiquetas de sistema</strong> de un archivo", "Collaborative tags" : "Etiquetas colaborativas", + "Collaborative tagging functionality which shares tags among users." : "Funcionalidad de etiquetado colaborativo que comparte las etiquetas entre usuarios.", + "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "Funcionalidad de etiquetado colaborativo que comparte las etiquetas entre usuarios. Adecuado para equipos.\n\n(Si eres un proveedor con una instalación en multitenencia), se aconseja desactivar esta app pues las etiquetas se comparten).", "Create and edit collaborative tags. These tags affect all users." : "Crea y edita etiquetas colaborativas. Estas etiquetas afectan a todos los usuarios.", "Select tag …" : "Selecciona etiqueta...", "Name" : "Nombre", diff --git a/apps/theming/l10n/cs.js b/apps/theming/l10n/cs.js index 2bbfc351f19..88579811c71 100644 --- a/apps/theming/l10n/cs.js +++ b/apps/theming/l10n/cs.js @@ -20,6 +20,7 @@ OC.L10N.register( "No file uploaded" : "Nenahrán žádný soubor", "Unsupported image type" : "Nepodporovaný typ obrázku", "Theming" : "Motivy", + "Privacy policy" : "Zásady soukromí", "Adjust the Nextcloud theme" : "Upravit motiv vzhledu Nextcloud", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Motivy umožňují jednoduché přizpůsobení vzhledu vaší instance a podporovaných klientů. Tato přizpůsobení uvidí všichni uživatelé.", "Name" : "Název", diff --git a/apps/theming/l10n/cs.json b/apps/theming/l10n/cs.json index d660e9fb7c1..2db408e67c3 100644 --- a/apps/theming/l10n/cs.json +++ b/apps/theming/l10n/cs.json @@ -18,6 +18,7 @@ "No file uploaded" : "Nenahrán žádný soubor", "Unsupported image type" : "Nepodporovaný typ obrázku", "Theming" : "Motivy", + "Privacy policy" : "Zásady soukromí", "Adjust the Nextcloud theme" : "Upravit motiv vzhledu Nextcloud", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Motivy umožňují jednoduché přizpůsobení vzhledu vaší instance a podporovaných klientů. Tato přizpůsobení uvidí všichni uživatelé.", "Name" : "Název", diff --git a/apps/theming/l10n/he.js b/apps/theming/l10n/he.js index 931ee646cf9..90822fecf2a 100644 --- a/apps/theming/l10n/he.js +++ b/apps/theming/l10n/he.js @@ -27,6 +27,7 @@ OC.L10N.register( "Legal notice" : "הצהרה משפטית", "Privacy policy" : "מדיניות פרטיות", "Adjust the Nextcloud theme" : "התאמת ערכת העיצוב של Nextcloud", + "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "עם ערכות עיצוב ניתן להתאים את המראה והתחושה של המערכת ושל הלקוחות הנתמכים שלך. אלו תהיינה גלויות לכל המשתמשים.", "Name" : "שם", "Reset to default" : "איפוס לבררת מחדל", "Web link" : "קישור", @@ -43,6 +44,9 @@ OC.L10N.register( "Privacy policy link" : "קישור למדיניות הפרטיות", "Header logo" : "לוגו כותרת", "Upload new header logo" : "העלאת לוגו כותרת", + "Favicon" : "סמל כותרת", + "Upload new favicon" : "העלאת סמל כותרת חדש", + "You are already using a custom theme" : "כבר החלת ערכת עיצוב בהתאמה אישית", "reset to default" : "איפוס לבררת מחדל", "Web address" : "כתובת", "Web address https://…" : "כתובת https://…", diff --git a/apps/theming/l10n/he.json b/apps/theming/l10n/he.json index 9aa73f3fce1..146b9b8049e 100644 --- a/apps/theming/l10n/he.json +++ b/apps/theming/l10n/he.json @@ -25,6 +25,7 @@ "Legal notice" : "הצהרה משפטית", "Privacy policy" : "מדיניות פרטיות", "Adjust the Nextcloud theme" : "התאמת ערכת העיצוב של Nextcloud", + "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "עם ערכות עיצוב ניתן להתאים את המראה והתחושה של המערכת ושל הלקוחות הנתמכים שלך. אלו תהיינה גלויות לכל המשתמשים.", "Name" : "שם", "Reset to default" : "איפוס לבררת מחדל", "Web link" : "קישור", @@ -41,6 +42,9 @@ "Privacy policy link" : "קישור למדיניות הפרטיות", "Header logo" : "לוגו כותרת", "Upload new header logo" : "העלאת לוגו כותרת", + "Favicon" : "סמל כותרת", + "Upload new favicon" : "העלאת סמל כותרת חדש", + "You are already using a custom theme" : "כבר החלת ערכת עיצוב בהתאמה אישית", "reset to default" : "איפוס לבררת מחדל", "Web address" : "כתובת", "Web address https://…" : "כתובת https://…", diff --git a/apps/theming/l10n/ja.js b/apps/theming/l10n/ja.js index 0affa80d283..e6e84e71bdb 100644 --- a/apps/theming/l10n/ja.js +++ b/apps/theming/l10n/ja.js @@ -15,9 +15,10 @@ OC.L10N.register( "No file uploaded" : "ファイルがアップロードされていません", "Unsupported image type" : "サポートされていない画像形式です", "Theming" : "テーマ", - "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "テーマではあなたのインスタンスとサポートされたクライアントのルック&フィールを簡単に変更できます。この変更は全てのユーザが対象となります。", + "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "テーマではあなたのインスタンスとサポートされたクライアントのルック&フィールを簡単に変更できます。この変更はすべてのユーザーが対象となります。", "Name" : "名前", "Reset to default" : "デフォルトに戻す", + "Web link" : "Webリンク", "Slogan" : "スローガン", "Color" : "色", "Logo" : "ロゴ", @@ -25,7 +26,7 @@ OC.L10N.register( "Login image" : "ログイン画像", "Upload new login background" : "新しいログイン背景画像をアップロード", "Remove background image" : "背景画像を削除", - "You are already using a custom theme" : "あなたは既にカスタムテーマを利用しています", + "You are already using a custom theme" : "すでにカスタムテーマを利用しています", "reset to default" : "デフォルトに戻す", "Web address" : "Webアドレス", "Web address https://…" : "Webアドレス https://...", diff --git a/apps/theming/l10n/ja.json b/apps/theming/l10n/ja.json index 2872ef43a2f..24b6bb1354d 100644 --- a/apps/theming/l10n/ja.json +++ b/apps/theming/l10n/ja.json @@ -13,9 +13,10 @@ "No file uploaded" : "ファイルがアップロードされていません", "Unsupported image type" : "サポートされていない画像形式です", "Theming" : "テーマ", - "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "テーマではあなたのインスタンスとサポートされたクライアントのルック&フィールを簡単に変更できます。この変更は全てのユーザが対象となります。", + "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "テーマではあなたのインスタンスとサポートされたクライアントのルック&フィールを簡単に変更できます。この変更はすべてのユーザーが対象となります。", "Name" : "名前", "Reset to default" : "デフォルトに戻す", + "Web link" : "Webリンク", "Slogan" : "スローガン", "Color" : "色", "Logo" : "ロゴ", @@ -23,7 +24,7 @@ "Login image" : "ログイン画像", "Upload new login background" : "新しいログイン背景画像をアップロード", "Remove background image" : "背景画像を削除", - "You are already using a custom theme" : "あなたは既にカスタムテーマを利用しています", + "You are already using a custom theme" : "すでにカスタムテーマを利用しています", "reset to default" : "デフォルトに戻す", "Web address" : "Webアドレス", "Web address https://…" : "Webアドレス https://...", diff --git a/apps/theming/l10n/ru.js b/apps/theming/l10n/ru.js index c98c7b84799..4246e144d1a 100644 --- a/apps/theming/l10n/ru.js +++ b/apps/theming/l10n/ru.js @@ -8,6 +8,8 @@ OC.L10N.register( "Name cannot be empty" : "Имя не может быть пустым", "The given name is too long" : "Указанное название слишком длинное", "The given web address is too long" : "Указанный веб адрес слишком длинный", + "The given legal notice address is too long" : "Указанный адрес на официальное уведомление слишком длинный", + "The given privacy policy address is too long" : "Указанный адрес политики конфиденциальности слишком длинный", "The given slogan is too long" : "Указанный слоган слишком длинный", "The given color is invalid" : "Задан неправильный цвет", "The file was uploaded" : "Файл был загружен", @@ -22,7 +24,9 @@ OC.L10N.register( "Unsupported image type" : "Неподдерживаемый тип изображения", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Вы уже используете настраиваемую тему. Из за этого установки приложения для тем могут быть перезаписаны.", "Theming" : "Темы оформления", + "Legal notice" : "Официальное уведомление", "Privacy policy" : "Политика конфиденциальности", + "Adjust the Nextcloud theme" : "Скорректируйте тему Nextcloud'а", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Темы оформление позволяют легко настроить внешний вид вашего сервера и поддерживаемых клиентов. Это будет доступно для всех пользователей.", "Name" : "Название", "Reset to default" : "Сбросить изменения", @@ -36,6 +40,7 @@ OC.L10N.register( "Upload new login background" : "Загрузить новый фон для экрана входа в систему", "Remove background image" : "Убрать фоновое изображение ", "Advanced options" : "Дополнительные параметры", + "Legal notice link" : "Ссылка на официальное уведомление", "Privacy policy link" : "Ссылка на политику конфеденциальности", "Header logo" : "Логотип заголовка", "Upload new header logo" : "Загрузить логотип заголовка", diff --git a/apps/theming/l10n/ru.json b/apps/theming/l10n/ru.json index 045221d4f77..a11e351c895 100644 --- a/apps/theming/l10n/ru.json +++ b/apps/theming/l10n/ru.json @@ -6,6 +6,8 @@ "Name cannot be empty" : "Имя не может быть пустым", "The given name is too long" : "Указанное название слишком длинное", "The given web address is too long" : "Указанный веб адрес слишком длинный", + "The given legal notice address is too long" : "Указанный адрес на официальное уведомление слишком длинный", + "The given privacy policy address is too long" : "Указанный адрес политики конфиденциальности слишком длинный", "The given slogan is too long" : "Указанный слоган слишком длинный", "The given color is invalid" : "Задан неправильный цвет", "The file was uploaded" : "Файл был загружен", @@ -20,7 +22,9 @@ "Unsupported image type" : "Неподдерживаемый тип изображения", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Вы уже используете настраиваемую тему. Из за этого установки приложения для тем могут быть перезаписаны.", "Theming" : "Темы оформления", + "Legal notice" : "Официальное уведомление", "Privacy policy" : "Политика конфиденциальности", + "Adjust the Nextcloud theme" : "Скорректируйте тему Nextcloud'а", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Темы оформление позволяют легко настроить внешний вид вашего сервера и поддерживаемых клиентов. Это будет доступно для всех пользователей.", "Name" : "Название", "Reset to default" : "Сбросить изменения", @@ -34,6 +38,7 @@ "Upload new login background" : "Загрузить новый фон для экрана входа в систему", "Remove background image" : "Убрать фоновое изображение ", "Advanced options" : "Дополнительные параметры", + "Legal notice link" : "Ссылка на официальное уведомление", "Privacy policy link" : "Ссылка на политику конфеденциальности", "Header logo" : "Логотип заголовка", "Upload new header logo" : "Загрузить логотип заголовка", diff --git a/apps/theming/lib/Controller/IconController.php b/apps/theming/lib/Controller/IconController.php index 13f385e0bd1..a2727546e09 100644 --- a/apps/theming/lib/Controller/IconController.php +++ b/apps/theming/lib/Controller/IconController.php @@ -34,15 +34,12 @@ use OCP\AppFramework\Http\NotFoundResponse; use OCP\AppFramework\Http\FileDisplayResponse; use OCP\AppFramework\Http\DataDisplayResponse; use OCP\AppFramework\Http\Response; -use OCP\AppFramework\Utility\ITimeFactory; use OCP\Files\NotFoundException; use OCP\IRequest; class IconController extends Controller { /** @var ThemingDefaults */ private $themingDefaults; - /** @var ITimeFactory */ - private $timeFactory; /** @var IconBuilder */ private $iconBuilder; /** @var ImageManager */ @@ -56,7 +53,6 @@ class IconController extends Controller { * @param string $appName * @param IRequest $request * @param ThemingDefaults $themingDefaults - * @param ITimeFactory $timeFactory * @param IconBuilder $iconBuilder * @param ImageManager $imageManager * @param FileAccessHelper $fileAccessHelper @@ -65,7 +61,6 @@ class IconController extends Controller { $appName, IRequest $request, ThemingDefaults $themingDefaults, - ITimeFactory $timeFactory, IconBuilder $iconBuilder, ImageManager $imageManager, FileAccessHelper $fileAccessHelper @@ -73,7 +68,6 @@ class IconController extends Controller { parent::__construct($appName, $request); $this->themingDefaults = $themingDefaults; - $this->timeFactory = $timeFactory; $this->iconBuilder = $iconBuilder; $this->imageManager = $imageManager; $this->fileAccessHelper = $fileAccessHelper; @@ -125,7 +119,7 @@ class IconController extends Controller { $response = new FileDisplayResponse($iconFile, Http::STATUS_OK, ['Content-Type' => 'image/x-icon']); } catch (NotFoundException $e) { } - if ($iconFile === null && $this->themingDefaults->shouldReplaceIcons()) { + if ($iconFile === null && $this->imageManager->shouldReplaceIcons()) { try { $iconFile = $this->imageManager->getCachedImage('favIcon-' . $app); } catch (NotFoundException $exception) { @@ -161,7 +155,7 @@ class IconController extends Controller { $response = new FileDisplayResponse($iconFile, Http::STATUS_OK, ['Content-Type' => 'image/x-icon']); } catch (NotFoundException $e) { } - if ($this->themingDefaults->shouldReplaceIcons()) { + if ($this->imageManager->shouldReplaceIcons()) { try { $iconFile = $this->imageManager->getCachedImage('touchIcon-' . $app); } catch (NotFoundException $exception) { diff --git a/apps/theming/lib/Controller/ThemingController.php b/apps/theming/lib/Controller/ThemingController.php index 99b98ab7da3..96f8dfde9fd 100644 --- a/apps/theming/lib/Controller/ThemingController.php +++ b/apps/theming/lib/Controller/ThemingController.php @@ -262,6 +262,8 @@ class ThemingController extends Controller { $folder = $this->appData->newFolder('images'); } + $this->imageManager->delete($key); + $target = $folder->newFile($key); $supportedFormats = ['image/jpeg', 'image/png', 'image/gif', 'image/svg+xml', 'image/svg']; $detectedMimeType = mime_content_type($image['tmp_name']); @@ -351,12 +353,13 @@ class ThemingController extends Controller { * @NoCSRFRequired * * @param string $key + * @param bool $useSvg * @return FileDisplayResponse|NotFoundResponse - * @throws \Exception + * @throws NotPermittedException */ - public function getImage(string $key) { + public function getImage(string $key, bool $useSvg = true) { try { - $file = $this->imageManager->getImage($key); + $file = $this->imageManager->getImage($key, $useSvg); } catch (NotFoundException $e) { return new NotFoundResponse(); } @@ -365,6 +368,11 @@ class ThemingController extends Controller { $response->cacheFor(3600); $response->addHeader('Content-Type', $this->config->getAppValue($this->appName, $key . 'Mime', '')); $response->addHeader('Content-Disposition', 'attachment; filename="' . $key . '"'); + if (!$useSvg) { + $response->addHeader('Content-Type', 'image/png'); + } else { + $response->addHeader('Content-Type', $this->config->getAppValue($this->appName, $key . 'Mime', '')); + } return $response; } diff --git a/apps/theming/lib/IconBuilder.php b/apps/theming/lib/IconBuilder.php index ad44dd7ed6c..f85e2f9bff8 100644 --- a/apps/theming/lib/IconBuilder.php +++ b/apps/theming/lib/IconBuilder.php @@ -35,19 +35,24 @@ class IconBuilder { private $themingDefaults; /** @var Util */ private $util; + /** @var ImageManager */ + private $imageManager; /** * IconBuilder constructor. * * @param ThemingDefaults $themingDefaults * @param Util $util + * @param ImageManager $imageManager */ public function __construct( ThemingDefaults $themingDefaults, - Util $util + Util $util, + ImageManager $imageManager ) { $this->themingDefaults = $themingDefaults; $this->util = $util; + $this->imageManager = $imageManager; } /** @@ -55,7 +60,7 @@ class IconBuilder { * @return string|false image blob */ public function getFavicon($app) { - if (!$this->themingDefaults->shouldReplaceIcons()) { + if (!$this->imageManager->shouldReplaceIcons()) { return false; } try { diff --git a/apps/theming/lib/ImageManager.php b/apps/theming/lib/ImageManager.php index 830ed7f34a9..dfbdb582da6 100644 --- a/apps/theming/lib/ImageManager.php +++ b/apps/theming/lib/ImageManager.php @@ -26,24 +26,28 @@ namespace OCA\Theming; use OCP\Files\SimpleFS\ISimpleFile; use OCP\Files\SimpleFS\ISimpleFolder; +use OCP\ICacheFactory; use OCP\IConfig; use OCP\Files\IAppData; use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; +use OCP\ILogger; use OCP\IURLGenerator; -/** - * @property IURLGenerator urlGenerator - */ class ImageManager { /** @var IConfig */ private $config; /** @var IAppData */ private $appData; - + /** @var IURLGenerator */ + private $urlGenerator; /** @var array */ private $supportedImageKeys = ['background', 'logo', 'logoheader', 'favicon']; + /** @var ICacheFactory */ + private $cacheFactory; + /** @var ILogger */ + private $logger; /** * ImageManager constructor. @@ -51,20 +55,26 @@ class ImageManager { * @param IConfig $config * @param IAppData $appData * @param IURLGenerator $urlGenerator + * @param ICacheFactory $cacheFactory + * @param ILogger $logger */ public function __construct(IConfig $config, IAppData $appData, - IURLGenerator $urlGenerator + IURLGenerator $urlGenerator, + ICacheFactory $cacheFactory, + ILogger $logger ) { $this->config = $config; $this->appData = $appData; $this->urlGenerator = $urlGenerator; + $this->cacheFactory = $cacheFactory; + $this->logger = $logger; } - public function getImageUrl(string $key): string { + public function getImageUrl(string $key, bool $useSvg = true): string { $cacheBusterCounter = $this->config->getAppValue('theming', 'cachebuster', '0'); try { - $this->getImage($key); + $image = $this->getImage($key, $useSvg); return $this->urlGenerator->linkToRoute('theming.Theming.getImage', [ 'key' => $key ]) . '?v=' . $cacheBusterCounter; } catch (NotFoundException $e) { } @@ -79,21 +89,44 @@ class ImageManager { } } - public function getImageUrlAbsolute(string $key): string { - return $this->urlGenerator->getAbsoluteURL($this->getImageUrl($key)); + public function getImageUrlAbsolute(string $key, bool $useSvg = true): string { + return $this->urlGenerator->getAbsoluteURL($this->getImageUrl($key, $useSvg)); } /** - * @param $key + * @param string $key + * @param bool $useSvg * @return ISimpleFile * @throws NotFoundException + * @throws NotPermittedException */ - public function getImage(string $key): ISimpleFile { + public function getImage(string $key, bool $useSvg = true): ISimpleFile { + $pngFile = null; $logo = $this->config->getAppValue('theming', $key . 'Mime', false); - if ($logo === false) { + $folder = $this->appData->getFolder('images'); + if ($logo === false || !$folder->fileExists($key)) { throw new NotFoundException(); } - $folder = $this->appData->getFolder('images'); + if (!$useSvg && $this->shouldReplaceIcons()) { + if (!$folder->fileExists($key . '.png')) { + try { + $finalIconFile = new \Imagick(); + $finalIconFile->setBackgroundColor('none'); + $finalIconFile->readImageBlob($folder->getFile($key)->getContent()); + $finalIconFile->setImageFormat('png32'); + $pngFile = $folder->newFile($key . '.png'); + $pngFile->putContent($finalIconFile->getImageBlob()); + } catch (\ImagickException $e) { + $this->logger->info('The image was requested to be no SVG file, but converting it to PNG failed.', $e->getMessage()); + $pngFile = null; + } + } else { + $pngFile = $folder->getFile($key . '.png'); + } + } + if ($pngFile !== null) { + return $pngFile; + } return $folder->getFile($key); } @@ -159,12 +192,19 @@ class ImageManager { } public function delete(string $key) { + /* ignore exceptions, since we don't want to fail hard if something goes wrong during cleanup */ try { $file = $this->appData->getFolder('images')->getFile($key); $file->delete(); } catch (NotFoundException $e) { } catch (NotPermittedException $e) { } + try { + $file = $this->appData->getFolder('images')->getFile($key . '.png'); + $file->delete(); + } catch (NotFoundException $e) { + } catch (NotPermittedException $e) { + } } /** @@ -182,4 +222,25 @@ class ImageManager { } } } + + /** + * Check if Imagemagick is enabled and if SVG is supported + * otherwise we can't render custom icons + * + * @return bool + */ + public function shouldReplaceIcons() { + $cache = $this->cacheFactory->createDistributed('theming-' . $this->urlGenerator->getBaseUrl()); + if($value = $cache->get('shouldReplaceIcons')) { + return (bool)$value; + } + $value = false; + if(extension_loaded('imagick')) { + if (count(\Imagick::queryFormats('SVG')) >= 1) { + $value = true; + } + } + $cache->set('shouldReplaceIcons', $value); + return $value; + } } diff --git a/apps/theming/lib/Settings/Admin.php b/apps/theming/lib/Settings/Admin.php index 6a95dd39d43..c8d2d561513 100644 --- a/apps/theming/lib/Settings/Admin.php +++ b/apps/theming/lib/Settings/Admin.php @@ -81,7 +81,7 @@ class Admin implements ISettings { 'slogan' => $this->themingDefaults->getSlogan(), 'color' => $this->themingDefaults->getColorPrimary(), 'uploadLogoRoute' => $this->urlGenerator->linkToRoute('theming.Theming.uploadImage'), - 'canThemeIcons' => $this->themingDefaults->shouldReplaceIcons(), + 'canThemeIcons' => $this->imageManager->shouldReplaceIcons(), 'iconDocs' => $this->urlGenerator->linkToDocs('admin-theming-icons'), 'images' => $this->imageManager->getCustomImages(), 'imprintUrl' => $this->themingDefaults->getImprintUrl(), diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php index 00c47676bc8..d29eb69873f 100644 --- a/apps/theming/lib/ThemingDefaults.php +++ b/apps/theming/lib/ThemingDefaults.php @@ -205,7 +205,7 @@ class ThemingDefaults extends \OC_Defaults { $logoExists = true; try { - $this->imageManager->getImage('logo'); + $this->imageManager->getImage('logo', $useSvg); } catch (\Exception $e) { $logoExists = false; } @@ -221,7 +221,7 @@ class ThemingDefaults extends \OC_Defaults { return $logo . '?v=' . $cacheBusterCounter; } - return $this->urlGenerator->linkToRoute('theming.Theming.getImage', [ 'key' => 'logo' ]) . '?v=' . $cacheBusterCounter; + return $this->urlGenerator->linkToRoute('theming.Theming.getImage', [ 'key' => 'logo', 'useSvg' => $useSvg, 'v' => $cacheBusterCounter ]); } /** @@ -317,10 +317,10 @@ class ThemingDefaults extends \OC_Defaults { $customFavicon = null; } - if ($image === 'favicon.ico' && ($customFavicon !== null || $this->shouldReplaceIcons())) { + if ($image === 'favicon.ico' && ($customFavicon !== null || $this->imageManager->shouldReplaceIcons())) { return $this->urlGenerator->linkToRoute('theming.Icon.getFavicon', ['app' => $app]) . '?v=' . $cacheBusterValue; } - if ($image === 'favicon-touch.png' && ($customFavicon !== null || $this->shouldReplaceIcons())) { + if ($image === 'favicon-touch.png' && ($customFavicon !== null || $this->imageManager->shouldReplaceIcons())) { return $this->urlGenerator->linkToRoute('theming.Icon.getTouchIcon', ['app' => $app]) . '?v=' . $cacheBusterValue; } if ($image === 'manifest.json') { @@ -334,30 +334,7 @@ class ThemingDefaults extends \OC_Defaults { } return false; } - - /** - * Check if Imagemagick is enabled and if SVG is supported - * otherwise we can't render custom icons - * - * @return bool - */ - public function shouldReplaceIcons() { - $cache = $this->cacheFactory->createDistributed('theming-' . $this->urlGenerator->getBaseUrl()); - if($value = $cache->get('shouldReplaceIcons')) { - return (bool)$value; - } - $value = false; - if(extension_loaded('imagick')) { - $checkImagick = new \Imagick(); - if (count($checkImagick->queryFormats('SVG')) >= 1) { - $value = true; - } - $checkImagick->clear(); - } - $cache->set('shouldReplaceIcons', $value); - return $value; - } - + /** * Increases the cache buster key */ diff --git a/apps/theming/tests/Controller/IconControllerTest.php b/apps/theming/tests/Controller/IconControllerTest.php index f509005d32c..b4b45a065b0 100644 --- a/apps/theming/tests/Controller/IconControllerTest.php +++ b/apps/theming/tests/Controller/IconControllerTest.php @@ -64,19 +64,21 @@ class IconControllerTest extends TestCase { public function setUp() { $this->request = $this->createMock(IRequest::class); $this->themingDefaults = $this->createMock(ThemingDefaults::class); - $this->timeFactory = $this->createMock(ITimeFactory::class); $this->iconBuilder = $this->createMock(IconBuilder::class); $this->imageManager = $this->createMock(ImageManager::class); $this->fileAccessHelper = $this->createMock(FileAccessHelper::class); + + $this->timeFactory = $this->createMock(ITimeFactory::class); $this->timeFactory->expects($this->any()) ->method('getTime') ->willReturn(123); + $this->overwriteService(ITimeFactory::class, $this->timeFactory); + $this->iconController = new IconController( 'theming', $this->request, $this->themingDefaults, - $this->timeFactory, $this->iconBuilder, $this->imageManager, $this->fileAccessHelper @@ -118,7 +120,7 @@ class IconControllerTest extends TestCase { ->method('getImage') ->with('favicon') ->will($this->throwException(new NotFoundException())); - $this->themingDefaults->expects($this->any()) + $this->imageManager->expects($this->any()) ->method('shouldReplaceIcons') ->willReturn(true); $this->imageManager->expects($this->once()) @@ -142,7 +144,7 @@ class IconControllerTest extends TestCase { ->method('getImage') ->with('favicon') ->will($this->throwException(new NotFoundException())); - $this->themingDefaults->expects($this->any()) + $this->imageManager->expects($this->any()) ->method('shouldReplaceIcons') ->willReturn(false); $fallbackLogo = \OC::$SERVERROOT . '/core/img/favicon.png'; @@ -163,10 +165,13 @@ class IconControllerTest extends TestCase { if (count($checkImagick->queryFormats('SVG')) < 1) { $this->markTestSkipped('No SVG provider present.'); } - $this->themingDefaults->expects($this->any()) + + $this->imageManager->expects($this->once()) + ->method('getImage') + ->will($this->throwException(new NotFoundException())); + $this->imageManager->expects($this->any()) ->method('shouldReplaceIcons') ->willReturn(true); - $this->iconBuilder->expects($this->once()) ->method('getTouchIcon') ->with('core') @@ -189,7 +194,7 @@ class IconControllerTest extends TestCase { ->method('getImage') ->with('favicon') ->will($this->throwException(new NotFoundException())); - $this->themingDefaults->expects($this->any()) + $this->imageManager->expects($this->any()) ->method('shouldReplaceIcons') ->willReturn(false); $fallbackLogo = \OC::$SERVERROOT . '/core/img/favicon-touch.png'; diff --git a/apps/theming/tests/Controller/ThemingControllerTest.php b/apps/theming/tests/Controller/ThemingControllerTest.php index 60ec2c1dc63..360eb7083a4 100644 --- a/apps/theming/tests/Controller/ThemingControllerTest.php +++ b/apps/theming/tests/Controller/ThemingControllerTest.php @@ -690,7 +690,7 @@ class ThemingControllerTest extends TestCase { ->method('getImage') ->willReturn($file); $this->config - ->expects($this->once()) + ->expects($this->any()) ->method('getAppValue') ->with('theming', 'logoMime', '') ->willReturn('text/svg'); @@ -718,7 +718,7 @@ class ThemingControllerTest extends TestCase { ->willReturn($file); $this->config - ->expects($this->once()) + ->expects($this->any()) ->method('getAppValue') ->with('theming', 'backgroundMime', '') ->willReturn('image/png'); diff --git a/apps/theming/tests/IconBuilderTest.php b/apps/theming/tests/IconBuilderTest.php index 1b9f204cd9e..994e0e4a045 100644 --- a/apps/theming/tests/IconBuilderTest.php +++ b/apps/theming/tests/IconBuilderTest.php @@ -27,6 +27,7 @@ namespace OCA\Theming\Tests; use OC\Files\AppData\AppData; use OCA\Theming\IconBuilder; +use OCA\Theming\ImageManager; use OCA\Theming\ThemingDefaults; use OCA\Theming\Util; use OCP\App\IAppManager; @@ -45,6 +46,8 @@ class IconBuilderTest extends TestCase { protected $themingDefaults; /** @var Util */ protected $util; + /** @var ImageManager */ + protected $imageManager; /** @var IconBuilder */ protected $iconBuilder; /** @var IAppManager */ @@ -53,13 +56,13 @@ class IconBuilderTest extends TestCase { protected function setUp() { parent::setUp(); - $this->config = $this->getMockBuilder(IConfig::class)->getMock(); + $this->config = $this->createMock(IConfig::class); $this->appData = $this->createMock(AppData::class); - $this->themingDefaults = $this->getMockBuilder('OCA\Theming\ThemingDefaults') - ->disableOriginalConstructor()->getMock(); - $this->appManager = $this->getMockBuilder('OCP\App\IAppManager')->getMock(); + $this->themingDefaults = $this->createMock(ThemingDefaults::class); + $this->appManager = $this->createMock(IAppManager::class); + $this->imageManager = $this->createMock(ImageManager::class); $this->util = new Util($this->config, $this->appManager, $this->appData); - $this->iconBuilder = new IconBuilder($this->themingDefaults, $this->util); + $this->iconBuilder = new IconBuilder($this->themingDefaults, $this->util, $this->imageManager); } private function checkImagick() { @@ -152,7 +155,7 @@ class IconBuilderTest extends TestCase { */ public function testGetFavicon($app, $color, $file) { $this->checkImagick(); - $this->themingDefaults->expects($this->once()) + $this->imageManager->expects($this->once()) ->method('shouldReplaceIcons') ->willReturn(true); $this->themingDefaults->expects($this->once()) @@ -183,8 +186,8 @@ class IconBuilderTest extends TestCase { $this->checkImagick(); $this->expectException(Warning::class); $util = $this->getMockBuilder(Util::class)->disableOriginalConstructor()->getMock(); - $iconBuilder = new IconBuilder($this->themingDefaults, $util); - $this->themingDefaults->expects($this->once()) + $iconBuilder = new IconBuilder($this->themingDefaults, $util, $this->imageManager); + $this->imageManager->expects($this->once()) ->method('shouldReplaceIcons') ->willReturn(true); $util->expects($this->once()) @@ -197,7 +200,7 @@ class IconBuilderTest extends TestCase { $this->checkImagick(); $this->expectException(Warning::class); $util = $this->getMockBuilder(Util::class)->disableOriginalConstructor()->getMock(); - $iconBuilder = new IconBuilder($this->themingDefaults, $util); + $iconBuilder = new IconBuilder($this->themingDefaults, $util, $this->imageManager); $util->expects($this->once()) ->method('getAppIcon') ->willReturn('notexistingfile'); @@ -208,7 +211,7 @@ class IconBuilderTest extends TestCase { $this->checkImagick(); $this->expectException(Warning::class); $util = $this->getMockBuilder(Util::class)->disableOriginalConstructor()->getMock(); - $iconBuilder = new IconBuilder($this->themingDefaults, $util); + $iconBuilder = new IconBuilder($this->themingDefaults, $util, $this->imageManager); $util->expects($this->once()) ->method('getAppImage') ->willReturn('notexistingfile'); diff --git a/apps/theming/tests/ImageManagerTest.php b/apps/theming/tests/ImageManagerTest.php index 4e258ce7162..38f5fb04969 100644 --- a/apps/theming/tests/ImageManagerTest.php +++ b/apps/theming/tests/ImageManagerTest.php @@ -24,8 +24,11 @@ namespace OCA\Theming\Tests; use OCA\Theming\ImageManager; +use OCA\Theming\ThemingDefaults; use OCP\Files\SimpleFS\ISimpleFile; +use OCP\ICacheFactory; use OCP\IConfig; +use OCP\ILogger; use OCP\IURLGenerator; use Test\TestCase; use OCP\Files\SimpleFS\ISimpleFolder; @@ -42,19 +45,40 @@ class ImageManagerTest extends TestCase { protected $imageManager; /** @var IURLGenerator|\PHPUnit_Framework_MockObject_MockObject */ private $urlGenerator; + /** @var ICacheFactory|\PHPUnit_Framework_MockObject_MockObject */ + private $cacheFactory; + /** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */ + private $logger; protected function setUp() { parent::setUp(); $this->config = $this->createMock(IConfig::class); $this->appData = $this->createMock(IAppData::class); $this->urlGenerator = $this->createMock(IURLGenerator::class); + $this->cacheFactory = $this->createMock(ICacheFactory::class); + $this->logger = $this->createMock(ILogger::class); $this->imageManager = new ImageManager( $this->config, $this->appData, - $this->urlGenerator + $this->urlGenerator, + $this->cacheFactory, + $this->logger ); } + private function checkImagick() { + if(!extension_loaded('imagick')) { + $this->markTestSkipped('Imagemagick is required for dynamic icon generation.'); + } + $checkImagick = new \Imagick(); + if (empty($checkImagick->queryFormats('SVG'))) { + $this->markTestSkipped('No SVG provider present.'); + } + if (empty($checkImagick->queryFormats('PNG'))) { + $this->markTestSkipped('No PNG provider present.'); + } + } + public function mockGetImage($key, $file) { /** @var \PHPUnit_Framework_MockObject_MockObject $folder */ $folder = $this->createMock(ISimpleFolder::class); @@ -64,10 +88,28 @@ class ImageManagerTest extends TestCase { ->with('logo') ->willThrowException(new NotFoundException()); } else { - $folder->expects($this->once()) + $file->expects($this->once()) + ->method('getContent') + ->willReturn(file_get_contents(__DIR__ . '/../../../tests/data/testimage.png')); + $folder->expects($this->at(0)) + ->method('fileExists') + ->with('logo') + ->willReturn(true); + $folder->expects($this->at(1)) + ->method('fileExists') + ->with('logo.png') + ->willReturn(false); + $folder->expects($this->at(2)) ->method('getFile') ->with('logo') ->willReturn($file); + $newFile = $this->createMock(ISimpleFile::class); + $folder->expects($this->at(3)) + ->method('newFile') + ->with('logo.png') + ->willReturn($newFile); + $newFile->expects($this->once()) + ->method('putContent'); $this->appData->expects($this->once()) ->method('getFolder') ->with('images') @@ -76,19 +118,20 @@ class ImageManagerTest extends TestCase { } public function testGetImageUrl() { + $this->checkImagick(); $file = $this->createMock(ISimpleFile::class); $this->config->expects($this->exactly(2)) ->method('getAppValue') ->withConsecutive( ['theming', 'cachebuster', '0'], - ['theming', 'logoMime', false] + ['theming', 'logoMime', ''] ) ->willReturn(0); $this->mockGetImage('logo', $file); $this->urlGenerator->expects($this->once()) ->method('linkToRoute') ->willReturn('url-to-image'); - $this->assertEquals('url-to-image?v=0', $this->imageManager->getImageUrl('logo')); + $this->assertEquals('url-to-image?v=0', $this->imageManager->getImageUrl('logo', false)); } public function testGetImageUrlDefault() { @@ -107,33 +150,37 @@ class ImageManagerTest extends TestCase { } public function testGetImageUrlAbsolute() { + $this->checkImagick(); $file = $this->createMock(ISimpleFile::class); $this->config->expects($this->exactly(2)) ->method('getAppValue') ->withConsecutive( ['theming', 'cachebuster', '0'], - ['theming', 'logoMime', false] + ['theming', 'logoMime', ''] ) ->willReturn(0); $this->mockGetImage('logo', $file); $this->urlGenerator->expects($this->at(0)) - ->method('linkToRoute') - ->willReturn('url-to-image'); + ->method('getBaseUrl') + ->willReturn('baseurl'); $this->urlGenerator->expects($this->at(1)) ->method('getAbsoluteUrl') - ->with('url-to-image?v=0') ->willReturn('url-to-image-absolute?v=0'); - $this->assertEquals('url-to-image-absolute?v=0', $this->imageManager->getImageUrlAbsolute('logo')); + $this->urlGenerator->expects($this->at(2)) + ->method('getAbsoluteUrl') + ->willReturn('url-to-image-absolute?v=0'); + $this->assertEquals('url-to-image-absolute?v=0', $this->imageManager->getImageUrlAbsolute('logo', false)); } public function testGetImage() { + $this->checkImagick(); $this->config->expects($this->once()) ->method('getAppValue')->with('theming', 'logoMime', false) ->willReturn('png'); $file = $this->createMock(ISimpleFile::class); $this->mockGetImage('logo', $file); - $this->assertEquals($file, $this->imageManager->getImage('logo')); + $this->assertEquals($file, $this->imageManager->getImage('logo', false)); } /** diff --git a/apps/theming/tests/ThemingDefaultsTest.php b/apps/theming/tests/ThemingDefaultsTest.php index 6894b002eb9..ceaf2cc19d5 100644 --- a/apps/theming/tests/ThemingDefaultsTest.php +++ b/apps/theming/tests/ThemingDefaultsTest.php @@ -604,7 +604,7 @@ class ThemingDefaultsTest extends TestCase { $this->urlGenerator->expects($this->once()) ->method('linkToRoute') ->with('theming.Theming.getImage') - ->willReturn('custom-logo'); + ->willReturn('custom-logo?v=0'); $this->assertEquals('custom-logo' . '?v=0', $this->template->getLogo()); } diff --git a/apps/updatenotification/l10n/cs.js b/apps/updatenotification/l10n/cs.js index a0ce8e28577..cc501719ee2 100644 --- a/apps/updatenotification/l10n/cs.js +++ b/apps/updatenotification/l10n/cs.js @@ -6,6 +6,7 @@ OC.L10N.register( "Checked on {lastCheckedDate}" : "Zkontrolováno {lastCheckedDate}", "Checking apps for compatible updates" : "Zjišťuje se dostupnost kompatibilních aktualizací aplikací", "Could not start updater, please try the manual update" : "Nepodařilo se spustit aktualizátor, zkuste ruční aktualizaci", + "View in store" : "Zobrazit v obchodě", "Apps with available updates" : "Aplikace s dostupnými aktualizacemi", "Open updater" : "Otevřít aktualizátor", "Download now" : "Stáhnout nyní", diff --git a/apps/updatenotification/l10n/cs.json b/apps/updatenotification/l10n/cs.json index 1fd31299edb..66a648eae04 100644 --- a/apps/updatenotification/l10n/cs.json +++ b/apps/updatenotification/l10n/cs.json @@ -4,6 +4,7 @@ "Checked on {lastCheckedDate}" : "Zkontrolováno {lastCheckedDate}", "Checking apps for compatible updates" : "Zjišťuje se dostupnost kompatibilních aktualizací aplikací", "Could not start updater, please try the manual update" : "Nepodařilo se spustit aktualizátor, zkuste ruční aktualizaci", + "View in store" : "Zobrazit v obchodě", "Apps with available updates" : "Aplikace s dostupnými aktualizacemi", "Open updater" : "Otevřít aktualizátor", "Download now" : "Stáhnout nyní", diff --git a/apps/updatenotification/l10n/de.js b/apps/updatenotification/l10n/de.js index ac5c4e61ef5..eac511db83a 100644 --- a/apps/updatenotification/l10n/de.js +++ b/apps/updatenotification/l10n/de.js @@ -13,6 +13,7 @@ OC.L10N.register( "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>Stabil</strong> bietet die aktuellste stabile Version. Dies ist passend für Verwendung in Produktion und bietet immer die Aktualisierung auf die neueste Hauptversion an.", "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>Beta</strong> bietet eine Vorabversion an und dient zum Testen von neuen Funktionen. Nicht für den Einsatz in Produktivumgebungen geeignet.", "Could not start updater, please try the manual update" : "Der Updater konnte nicht gestartet werden, bitte versuche ein manuelles Update", + "_openIndicator_::_open-indicator_" : ["offener Indikator","offener Indikator"], "_dropdownMenu_::_dropdown-menu_" : ["Aufklappmenü","Aufklappmenüs"], "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "Deine installierte Version wird nicht mehr unterstützt. Bitte aktualisiere baldmöglichst auf eine unterstützte Version.", "Apps missing updates" : "Für diese Apps fehlen Aktualisierungen", @@ -31,6 +32,7 @@ OC.L10N.register( "Only notification for app updates are available." : "Benachrichtigungen sind nur für Aktualisierungen von Apps verfügbar.", "The selected update channel makes dedicated notifications for the server obsolete." : "Der gewählte Aktualisierungskanal macht dedizierte Benachrichtigungen für Server Aktualisierungen obsolet.", "The selected update channel does not support updates of the server." : "Der gewählte Aktualisierungskanal unterstützt keine Aktualisierungen für Server.", + "_followupsection_::_updatenotification_" : ["Folgeabschnitt","Aktualisierungsbenachrichtigung"], "Update notifications" : "Update-Benachrichtigungen", "Channel updated" : "Kanal aktualisiert", "The update server could not be reached since %d days to check for new updates." : "Der Aktualisierungsserver konnte seit %d Tagen nicht erreicht werden um auf verfügbare Aktualisierungen zu prüfen.", diff --git a/apps/updatenotification/l10n/de.json b/apps/updatenotification/l10n/de.json index 87cfc0f57a0..b7c269f3f47 100644 --- a/apps/updatenotification/l10n/de.json +++ b/apps/updatenotification/l10n/de.json @@ -11,6 +11,7 @@ "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>Stabil</strong> bietet die aktuellste stabile Version. Dies ist passend für Verwendung in Produktion und bietet immer die Aktualisierung auf die neueste Hauptversion an.", "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>Beta</strong> bietet eine Vorabversion an und dient zum Testen von neuen Funktionen. Nicht für den Einsatz in Produktivumgebungen geeignet.", "Could not start updater, please try the manual update" : "Der Updater konnte nicht gestartet werden, bitte versuche ein manuelles Update", + "_openIndicator_::_open-indicator_" : ["offener Indikator","offener Indikator"], "_dropdownMenu_::_dropdown-menu_" : ["Aufklappmenü","Aufklappmenüs"], "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "Deine installierte Version wird nicht mehr unterstützt. Bitte aktualisiere baldmöglichst auf eine unterstützte Version.", "Apps missing updates" : "Für diese Apps fehlen Aktualisierungen", @@ -29,6 +30,7 @@ "Only notification for app updates are available." : "Benachrichtigungen sind nur für Aktualisierungen von Apps verfügbar.", "The selected update channel makes dedicated notifications for the server obsolete." : "Der gewählte Aktualisierungskanal macht dedizierte Benachrichtigungen für Server Aktualisierungen obsolet.", "The selected update channel does not support updates of the server." : "Der gewählte Aktualisierungskanal unterstützt keine Aktualisierungen für Server.", + "_followupsection_::_updatenotification_" : ["Folgeabschnitt","Aktualisierungsbenachrichtigung"], "Update notifications" : "Update-Benachrichtigungen", "Channel updated" : "Kanal aktualisiert", "The update server could not be reached since %d days to check for new updates." : "Der Aktualisierungsserver konnte seit %d Tagen nicht erreicht werden um auf verfügbare Aktualisierungen zu prüfen.", diff --git a/apps/updatenotification/l10n/de_DE.js b/apps/updatenotification/l10n/de_DE.js index b13d5122541..fc20c0fe022 100644 --- a/apps/updatenotification/l10n/de_DE.js +++ b/apps/updatenotification/l10n/de_DE.js @@ -25,7 +25,6 @@ OC.L10N.register( "The update check is not yet finished. Please refresh the page." : "Die Aktualisierungsprüfung ist noch nicht abgeschlossen. Bitte die Seite neu laden.", "A non-default update server is in use to be checked for updates:" : "Es wird ein Nicht-Standard-Aktualisierungsserver zum Prüfen auf Aktualisierungen verwendet:", "Update channel:" : "Update-Kanal:", - "_msg_::_channel_save_msg_" : ["channel_save_msg","channel_save_msg"], "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Sie können immer auf eine neuere Version / experimentellen Kanal updaten, aber kein Downgrade auf einen stabileren Kanal durchführen.", "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nach Veröffentlichung einer neuen Version kann es einige Zeit dauern bis diese hier erscheint. Die neuen Versionen verteilen sich beim Ausrollen im Laufe der Zeit auf die Benutzer. Manchmal werden Versionen übersprungen, wenn Probleme gefunden wurden.", "Notify members of the following groups about available updates:" : "Informieren Sie die Mitglieder der folgenden Gruppen über verfügbare Updates:", diff --git a/apps/updatenotification/l10n/de_DE.json b/apps/updatenotification/l10n/de_DE.json index 06eba3b0b57..0659360545a 100644 --- a/apps/updatenotification/l10n/de_DE.json +++ b/apps/updatenotification/l10n/de_DE.json @@ -23,7 +23,6 @@ "The update check is not yet finished. Please refresh the page." : "Die Aktualisierungsprüfung ist noch nicht abgeschlossen. Bitte die Seite neu laden.", "A non-default update server is in use to be checked for updates:" : "Es wird ein Nicht-Standard-Aktualisierungsserver zum Prüfen auf Aktualisierungen verwendet:", "Update channel:" : "Update-Kanal:", - "_msg_::_channel_save_msg_" : ["channel_save_msg","channel_save_msg"], "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Sie können immer auf eine neuere Version / experimentellen Kanal updaten, aber kein Downgrade auf einen stabileren Kanal durchführen.", "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nach Veröffentlichung einer neuen Version kann es einige Zeit dauern bis diese hier erscheint. Die neuen Versionen verteilen sich beim Ausrollen im Laufe der Zeit auf die Benutzer. Manchmal werden Versionen übersprungen, wenn Probleme gefunden wurden.", "Notify members of the following groups about available updates:" : "Informieren Sie die Mitglieder der folgenden Gruppen über verfügbare Updates:", diff --git a/apps/updatenotification/l10n/ja.js b/apps/updatenotification/l10n/ja.js index 6cf7be7e8cd..a265fb37e79 100644 --- a/apps/updatenotification/l10n/ja.js +++ b/apps/updatenotification/l10n/ja.js @@ -11,7 +11,7 @@ OC.L10N.register( "Update channel:" : "アップデートチャンネル:", "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "開発版の新しいバージョンにアップデートできます。ただし、アップデート後は安定版にダウングレードできません。", "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "新しいリリースの後、公開されるまでには時間がかかります。\n新しいバージョンを公開して配布しますが、問題が発見されたときにバージョンをスキップすることがあります。", - "Notify members of the following groups about available updates:" : "次のグループのメンバーに対してアップデートのメッセージが表示されます:", + "Notify members of the following groups about available updates:" : "次のグループのメンバーに利用可能なアップデートを通知する:", "Only notification for app updates are available." : "アプリ更新情報があるときのみ通知する。", "The selected update channel makes dedicated notifications for the server obsolete." : "選択した更新チャネルでは、廃止サーバーについて専用の通知を行います。", "The selected update channel does not support updates of the server." : "選択したチャンネルでは、サーバーのアップデートをサポートしていません。", diff --git a/apps/updatenotification/l10n/ja.json b/apps/updatenotification/l10n/ja.json index cf76a9da811..1dfdb09ab66 100644 --- a/apps/updatenotification/l10n/ja.json +++ b/apps/updatenotification/l10n/ja.json @@ -9,7 +9,7 @@ "Update channel:" : "アップデートチャンネル:", "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "開発版の新しいバージョンにアップデートできます。ただし、アップデート後は安定版にダウングレードできません。", "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "新しいリリースの後、公開されるまでには時間がかかります。\n新しいバージョンを公開して配布しますが、問題が発見されたときにバージョンをスキップすることがあります。", - "Notify members of the following groups about available updates:" : "次のグループのメンバーに対してアップデートのメッセージが表示されます:", + "Notify members of the following groups about available updates:" : "次のグループのメンバーに利用可能なアップデートを通知する:", "Only notification for app updates are available." : "アプリ更新情報があるときのみ通知する。", "The selected update channel makes dedicated notifications for the server obsolete." : "選択した更新チャネルでは、廃止サーバーについて専用の通知を行います。", "The selected update channel does not support updates of the server." : "選択したチャンネルでは、サーバーのアップデートをサポートしていません。", diff --git a/apps/updatenotification/l10n/ru.js b/apps/updatenotification/l10n/ru.js index bbaa63f01d4..f31fe8746ea 100644 --- a/apps/updatenotification/l10n/ru.js +++ b/apps/updatenotification/l10n/ru.js @@ -14,6 +14,7 @@ OC.L10N.register( "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> это пред-релизная версия только для тестирования новых возможностей, не для промышленной эксплуатации.", "Could not start updater, please try the manual update" : "Не удалось обновить. Выполните обновление вручную.", "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "Версия, которой вы пользуетесь, больше не обслуживается. Пожалуйста, обновитесь до поддерживаемой версии как можно скорее.", + "View in store" : "Посмотреть в магазине приложений", "Apps with available updates" : "Приложения с доступными обновлениями", "Open updater" : "Открыть окно обновления", "Download now" : "Скачать сейчас", diff --git a/apps/updatenotification/l10n/ru.json b/apps/updatenotification/l10n/ru.json index 7cca4ec1353..2b07598cdcc 100644 --- a/apps/updatenotification/l10n/ru.json +++ b/apps/updatenotification/l10n/ru.json @@ -12,6 +12,7 @@ "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> это пред-релизная версия только для тестирования новых возможностей, не для промышленной эксплуатации.", "Could not start updater, please try the manual update" : "Не удалось обновить. Выполните обновление вручную.", "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "Версия, которой вы пользуетесь, больше не обслуживается. Пожалуйста, обновитесь до поддерживаемой версии как можно скорее.", + "View in store" : "Посмотреть в магазине приложений", "Apps with available updates" : "Приложения с доступными обновлениями", "Open updater" : "Открыть окно обновления", "Download now" : "Скачать сейчас", diff --git a/apps/updatenotification/package-lock.json b/apps/updatenotification/package-lock.json index 7ab5c1dd820..472695c393d 100644 --- a/apps/updatenotification/package-lock.json +++ b/apps/updatenotification/package-lock.json @@ -2075,7 +2075,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -2490,7 +2491,8 @@ "safe-buffer": { "version": "5.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -2546,6 +2548,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -2589,12 +2592,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -3666,7 +3671,7 @@ "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { "execa": "^0.7.0", @@ -6032,9 +6037,9 @@ } }, "rxjs": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.0.tgz", - "integrity": "sha512-qBzf5uu6eOKiCZuAE0SgZ0/Qp+l54oeVxFfC2t+mJ2SFI6IB8gmMdJHs5DUMu5kqifqcCtsKS2XHjhZu6RKvAw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.1.tgz", + "integrity": "sha512-OwMxHxmnmHTUpgO+V7dZChf3Tixf4ih95cmXjzzadULziVl/FKhHScGLj4goEw9weePVOH2Q0+GcCBUhKCZc/g==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -6080,7 +6085,7 @@ "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, "serialize-javascript": { @@ -6416,7 +6421,7 @@ "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -6927,9 +6932,9 @@ } }, "webpack-cli": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.0.3.tgz", - "integrity": "sha512-65a3T3SDIozJjRU4UJMdK+LXJt73gNs2qpdjsOeq6jIrfBvAKApy59Glof1qDG3wYEo38HRxb+KrwsrsAtsaiA==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.0.8.tgz", + "integrity": "sha512-KnRLJ0BUaYRqrhAMb9dv3gzdmhmgIMKo0FmdsnmfqbPGtLnnZ6tORZAvmmKfr+A0VgiVpqC60Gv7Ofg0R2CHtQ==", "dev": true, "requires": { "chalk": "^2.4.1", @@ -6983,9 +6988,9 @@ } }, "webpack-merge": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.2.tgz", - "integrity": "sha512-/0QYwW/H1N/CdXYA2PNPVbsxO3u2Fpz34vs72xm03SRfg6bMNGfMJIQEpQjKRvkG2JvT6oRJFpDtSrwbX8Jzvw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.3.tgz", + "integrity": "sha512-zxwAIGK7nKdu5CIZL0BjTQoq3elV0t0MfB7rUC1zj668geid52abs6hN/ACwZdK6LeMS8dC9B6WmtF978zH5mg==", "dev": true, "requires": { "lodash": "^4.17.5" diff --git a/apps/updatenotification/package.json b/apps/updatenotification/package.json index d50c38abcd8..915397dfd08 100644 --- a/apps/updatenotification/package.json +++ b/apps/updatenotification/package.json @@ -33,7 +33,7 @@ "vue-loader": "^15.2.4", "vue-template-compiler": "^2.5.16", "webpack": "^4.12.0", - "webpack-cli": "^3.0.3", - "webpack-merge": "^4.1.2" + "webpack-cli": "^3.0.8", + "webpack-merge": "^4.1.3" } } diff --git a/apps/user_ldap/l10n/ja.js b/apps/user_ldap/l10n/ja.js index e59613901a1..d192302687a 100644 --- a/apps/user_ldap/l10n/ja.js +++ b/apps/user_ldap/l10n/ja.js @@ -46,13 +46,13 @@ OC.L10N.register( "Select attributes" : "属性を選択", "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "ユーザーは見つかりませんでした。ログインの属性とユーザー名をチェックしてください。適用されているフィルター(コピーペーストしてコマンドラインでの確認できます): <br/>", "User found and settings verified." : "ユーザーが見つかり、設定が検証できました。", - "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "最初のユーザー一人だけがログインできるように、多くのユーザーを網羅しつつ検索を絞るようにしてください。", + "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "最初のユーザーだけがログインできるよう、多くのユーザーを網羅しつつ検索を絞るようにしてください。", "An unspecified error occurred. Please check log and settings." : "不明なエラーが発生しました。設定とログを確認してください。", "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "検索フィルターが不正です。恐らく文法の問題で、開き括弧と閉じ括弧がマッチしていません。修正をお願いします。", "A connection error to LDAP / AD occurred, please check host, port and credentials." : "LDAP / AD の接続エラーが発生しました。ホスト名、ポート、権限をチェックしてください。", "The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "\"%u\" id のプレースフォルダがありません。プレースフォルダは、LDAP /ADで問合せするときにログイン名で置き換えられます。", "Please provide a login name to test against" : "テストの為にログイン名を入力してください。", - "The group box was disabled, because the LDAP / AD server does not support memberOf." : "グループボックスは無効にされました。LDAP/AD サーバーが MemberOf オプションをサポートしていないからです。", + "The group box was disabled, because the LDAP / AD server does not support memberOf." : "LDAP/ADサーバーがMemberOfオプションをサポートしていないため、グループボックスは無効になりました。", "Password change rejected. Hint: " : "パスワード変更が拒否されました。ヒント:", "Please login with the new password" : "新しいパスワードでログインしてください", "Your password will expire tomorrow." : "パスワードが明日期限切れになります。", @@ -164,16 +164,16 @@ OC.L10N.register( "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "LDAPユーザーがLDAPのパスワードを変更できるようにし、スーパー管理者とグループ管理者がLDAPユーザーのパスワードを変更できるようにします。 これは、LDAPサーバーでアクセス制御ポリシーが設定されている場合にのみ動作します。この時パスワードは平文でLDAPサーバーに送信されるため、TCP接続の暗号化を使用する必要があり、LDAPサーバー側でパスワードをハッシュ化する必要があります。", "(New password is sent as plain text to LDAP)" : "(新しいパスワードは平文テキストで LDAP に送信されます)", "Default password policy DN" : "デフォルトのパスワードポリシーの DN", - "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "デフォルトパスワードポリシーのDN はユーザーのパスワード期限切れ動作に利用されます。これは、OpenLDAPでのみ利用でき、ユーザー毎にLDAPパスワード変更が有効になっているときにのみ適用できます。パスワード期限切れを利用しない場合は、空欄のままにしてください。", + "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "デフォルトパスワードポリシーのDN はユーザーのパスワード期限切れ動作に利用されます。これは、OpenLDAPでのみ利用でき、ユーザーごとにLDAPパスワード変更が有効になっているときにのみ適用できます。パスワード期限切れを利用しない場合は、空欄のままにしてください。", "Special Attributes" : "特殊属性", "Quota Field" : "クォータ属性", - "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "ユーザーのデフォルトのクォータを空のままにしてください。 もしくは、LDAP/ADの属性を指定してください。", + "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "ユーザーのデフォルトのクォータを空のままにしてください。 または、LDAP/ADの属性を指定してください。", "Quota Default" : "クォータのデフォルト", - "Override default quota for LDAP users who do not have a quota set in the Quota Field." : "クォータフィールドでクォータが設定されていないLDAPユーザのデフォルトクォータを上書きします。", + "Override default quota for LDAP users who do not have a quota set in the Quota Field." : "クォータフィールドでクォータが設定されていないLDAPユーザーのデフォルトクォータを上書きします。", "Email Field" : "メール属性", "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "LDAP属性からユーザーのメールを設定します。 デフォルト動作では空のままにします。", "User Home Folder Naming Rule" : "ユーザーのホームフォルダー命名規則", - "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "ユーザー名を空のままにしてください(デフォルト)。もしくは、LDAPもしくはADの属性を指定してください。", + "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "ユーザー名を空のままにしてください(デフォルト)。そうでない場合は、LDAPまたはADの属性を指定してください。", "Internal Username" : "内部ユーザー名", "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "デフォルトでは、内部的なユーザー名がUUID属性から作成されます。これにより、ユーザー名がユニークであり、かつ文字の変換が不要であることを保証します。内部ユーザー名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザー名との衝突の回数が増加するでしょう。内部ユーザー名は、内部的にユーザーを識別するために用いられ、また、Nextcloud におけるデフォルトのホームフォルダー名としても用いられます。例えば*DAVサービスのように、リモートURLの一部でもあります。この設定により、デフォルトの振る舞いを再定義します。ownCloud 5 以前と同じような振る舞いにするためには、以下のフィールドにユーザー表示名の属性を入力します。空にするとデフォルトの振る舞いとなります。変更は新しくマッピング(追加)されたLDAPユーザーにおいてのみ有効となります。", "Internal Username Attribute:" : "内部ユーザー名属性:", @@ -181,13 +181,13 @@ OC.L10N.register( "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "デフォルトでは、UUID 属性は自動的に検出されます。UUID属性は、LDAPユーザーとLDAPグループを間違いなく識別するために利用されます。また、もしこれを指定しない場合は、内部ユーザー名はUUIDに基づいて作成されます。この設定は再定義することができ、あなたの選択した属性を用いることができます。選択した属性がユーザーとグループの両方に対して適用でき、かつユニークであることを確認してください。空であればデフォルトの振る舞いとなります。変更は、新しくマッピング(追加)されたLDAPユーザーとLDAPグループに対してのみ有効となります。", "UUID Attribute for Users:" : "ユーザーのUUID属性:", "UUID Attribute for Groups:" : "グループの UUID 属性:", - "Username-LDAP User Mapping" : "ユーザー名とLDAPユーザのマッピング", + "Username-LDAP User Mapping" : "ユーザー名とLDAPユーザーのマッピング", "Clear Username-LDAP User Mapping" : "ユーザー名とLDAPユーザーのマッピングをクリアする", "Clear Groupname-LDAP Group Mapping" : "グループ名とLDAPグループのマッピングをクリアする", " entries available within the provided Base DN" : "入力されたベースDNでエントリーが利用可能", "Wrong password. Reset it?" : "パスワードが間違っています。リセットしますか?", "LDAP" : "LDAP", "<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "<b>警告:</b> user_ldap と user_webdavauth のアプリには互換性がありません。予期せぬ動作をする可能性があります。システム管理者にどちらかを無効にするよう問い合わせてください。", - "Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "ユーザー名は(メタ)データの保存と割り当てに使用されます。ユーザーを正確に識別して認識するために、個々のLDAPユーザは内部ユーザ名を持っています。これは、ユーザー名からLDAPユーザーへのマッピングが必要であることを意味しています。この生成されたユーザ名は、LDAPユーザのUUIDにマッピングされます。加えて、DNがLDAPとのインタラクションを削減するためにキャッシュされますが、識別には利用されません。DNが変わった場合は、変更が検出されます。内部ユーザ名は全体に亘って利用されます。マッピングをクリアすると、いたるところに使われないままの物が残るでしょう。マッピングのクリアは設定に敏感ではありませんが、すべてのLDAPの設定に影響を与えます!本番の環境では決してマッピングをクリアしないでください。テストもしくは実験の段階でのみマッピングのクリアを行なってください。" + "Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "ユーザー名は(メタ)データの保存と割り当てに使用されます。ユーザーを正確に識別して認識するために、個々のLDAPユーザーは内部ユーザー名を持っています。これは、ユーザー名からLDAPユーザーへのマッピングが必要であることを意味しています。この生成されたユーザ名は、LDAPユーザのUUIDにマッピングされます。加えて、DNがLDAPとのインタラクションを削減するためにキャッシュされますが、識別には利用されません。DNが変わった場合は、変更が検出されます。内部ユーザー名は全体に亘って利用されます。マッピングをクリアすると、いたるところに使われないままの物が残るでしょう。マッピングのクリアは設定に敏感ではありませんが、すべてのLDAPの設定に影響を与えます!本番の環境では決してマッピングをクリアしないでください。テストまたは実験の段階でのみマッピングのクリアを行なってください。" }, "nplurals=1; plural=0;"); diff --git a/apps/user_ldap/l10n/ja.json b/apps/user_ldap/l10n/ja.json index b872f2805ed..83a176cb794 100644 --- a/apps/user_ldap/l10n/ja.json +++ b/apps/user_ldap/l10n/ja.json @@ -44,13 +44,13 @@ "Select attributes" : "属性を選択", "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "ユーザーは見つかりませんでした。ログインの属性とユーザー名をチェックしてください。適用されているフィルター(コピーペーストしてコマンドラインでの確認できます): <br/>", "User found and settings verified." : "ユーザーが見つかり、設定が検証できました。", - "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "最初のユーザー一人だけがログインできるように、多くのユーザーを網羅しつつ検索を絞るようにしてください。", + "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "最初のユーザーだけがログインできるよう、多くのユーザーを網羅しつつ検索を絞るようにしてください。", "An unspecified error occurred. Please check log and settings." : "不明なエラーが発生しました。設定とログを確認してください。", "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "検索フィルターが不正です。恐らく文法の問題で、開き括弧と閉じ括弧がマッチしていません。修正をお願いします。", "A connection error to LDAP / AD occurred, please check host, port and credentials." : "LDAP / AD の接続エラーが発生しました。ホスト名、ポート、権限をチェックしてください。", "The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "\"%u\" id のプレースフォルダがありません。プレースフォルダは、LDAP /ADで問合せするときにログイン名で置き換えられます。", "Please provide a login name to test against" : "テストの為にログイン名を入力してください。", - "The group box was disabled, because the LDAP / AD server does not support memberOf." : "グループボックスは無効にされました。LDAP/AD サーバーが MemberOf オプションをサポートしていないからです。", + "The group box was disabled, because the LDAP / AD server does not support memberOf." : "LDAP/ADサーバーがMemberOfオプションをサポートしていないため、グループボックスは無効になりました。", "Password change rejected. Hint: " : "パスワード変更が拒否されました。ヒント:", "Please login with the new password" : "新しいパスワードでログインしてください", "Your password will expire tomorrow." : "パスワードが明日期限切れになります。", @@ -162,16 +162,16 @@ "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "LDAPユーザーがLDAPのパスワードを変更できるようにし、スーパー管理者とグループ管理者がLDAPユーザーのパスワードを変更できるようにします。 これは、LDAPサーバーでアクセス制御ポリシーが設定されている場合にのみ動作します。この時パスワードは平文でLDAPサーバーに送信されるため、TCP接続の暗号化を使用する必要があり、LDAPサーバー側でパスワードをハッシュ化する必要があります。", "(New password is sent as plain text to LDAP)" : "(新しいパスワードは平文テキストで LDAP に送信されます)", "Default password policy DN" : "デフォルトのパスワードポリシーの DN", - "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "デフォルトパスワードポリシーのDN はユーザーのパスワード期限切れ動作に利用されます。これは、OpenLDAPでのみ利用でき、ユーザー毎にLDAPパスワード変更が有効になっているときにのみ適用できます。パスワード期限切れを利用しない場合は、空欄のままにしてください。", + "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "デフォルトパスワードポリシーのDN はユーザーのパスワード期限切れ動作に利用されます。これは、OpenLDAPでのみ利用でき、ユーザーごとにLDAPパスワード変更が有効になっているときにのみ適用できます。パスワード期限切れを利用しない場合は、空欄のままにしてください。", "Special Attributes" : "特殊属性", "Quota Field" : "クォータ属性", - "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "ユーザーのデフォルトのクォータを空のままにしてください。 もしくは、LDAP/ADの属性を指定してください。", + "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "ユーザーのデフォルトのクォータを空のままにしてください。 または、LDAP/ADの属性を指定してください。", "Quota Default" : "クォータのデフォルト", - "Override default quota for LDAP users who do not have a quota set in the Quota Field." : "クォータフィールドでクォータが設定されていないLDAPユーザのデフォルトクォータを上書きします。", + "Override default quota for LDAP users who do not have a quota set in the Quota Field." : "クォータフィールドでクォータが設定されていないLDAPユーザーのデフォルトクォータを上書きします。", "Email Field" : "メール属性", "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "LDAP属性からユーザーのメールを設定します。 デフォルト動作では空のままにします。", "User Home Folder Naming Rule" : "ユーザーのホームフォルダー命名規則", - "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "ユーザー名を空のままにしてください(デフォルト)。もしくは、LDAPもしくはADの属性を指定してください。", + "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "ユーザー名を空のままにしてください(デフォルト)。そうでない場合は、LDAPまたはADの属性を指定してください。", "Internal Username" : "内部ユーザー名", "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "デフォルトでは、内部的なユーザー名がUUID属性から作成されます。これにより、ユーザー名がユニークであり、かつ文字の変換が不要であることを保証します。内部ユーザー名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザー名との衝突の回数が増加するでしょう。内部ユーザー名は、内部的にユーザーを識別するために用いられ、また、Nextcloud におけるデフォルトのホームフォルダー名としても用いられます。例えば*DAVサービスのように、リモートURLの一部でもあります。この設定により、デフォルトの振る舞いを再定義します。ownCloud 5 以前と同じような振る舞いにするためには、以下のフィールドにユーザー表示名の属性を入力します。空にするとデフォルトの振る舞いとなります。変更は新しくマッピング(追加)されたLDAPユーザーにおいてのみ有効となります。", "Internal Username Attribute:" : "内部ユーザー名属性:", @@ -179,13 +179,13 @@ "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "デフォルトでは、UUID 属性は自動的に検出されます。UUID属性は、LDAPユーザーとLDAPグループを間違いなく識別するために利用されます。また、もしこれを指定しない場合は、内部ユーザー名はUUIDに基づいて作成されます。この設定は再定義することができ、あなたの選択した属性を用いることができます。選択した属性がユーザーとグループの両方に対して適用でき、かつユニークであることを確認してください。空であればデフォルトの振る舞いとなります。変更は、新しくマッピング(追加)されたLDAPユーザーとLDAPグループに対してのみ有効となります。", "UUID Attribute for Users:" : "ユーザーのUUID属性:", "UUID Attribute for Groups:" : "グループの UUID 属性:", - "Username-LDAP User Mapping" : "ユーザー名とLDAPユーザのマッピング", + "Username-LDAP User Mapping" : "ユーザー名とLDAPユーザーのマッピング", "Clear Username-LDAP User Mapping" : "ユーザー名とLDAPユーザーのマッピングをクリアする", "Clear Groupname-LDAP Group Mapping" : "グループ名とLDAPグループのマッピングをクリアする", " entries available within the provided Base DN" : "入力されたベースDNでエントリーが利用可能", "Wrong password. Reset it?" : "パスワードが間違っています。リセットしますか?", "LDAP" : "LDAP", "<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "<b>警告:</b> user_ldap と user_webdavauth のアプリには互換性がありません。予期せぬ動作をする可能性があります。システム管理者にどちらかを無効にするよう問い合わせてください。", - "Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "ユーザー名は(メタ)データの保存と割り当てに使用されます。ユーザーを正確に識別して認識するために、個々のLDAPユーザは内部ユーザ名を持っています。これは、ユーザー名からLDAPユーザーへのマッピングが必要であることを意味しています。この生成されたユーザ名は、LDAPユーザのUUIDにマッピングされます。加えて、DNがLDAPとのインタラクションを削減するためにキャッシュされますが、識別には利用されません。DNが変わった場合は、変更が検出されます。内部ユーザ名は全体に亘って利用されます。マッピングをクリアすると、いたるところに使われないままの物が残るでしょう。マッピングのクリアは設定に敏感ではありませんが、すべてのLDAPの設定に影響を与えます!本番の環境では決してマッピングをクリアしないでください。テストもしくは実験の段階でのみマッピングのクリアを行なってください。" + "Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "ユーザー名は(メタ)データの保存と割り当てに使用されます。ユーザーを正確に識別して認識するために、個々のLDAPユーザーは内部ユーザー名を持っています。これは、ユーザー名からLDAPユーザーへのマッピングが必要であることを意味しています。この生成されたユーザ名は、LDAPユーザのUUIDにマッピングされます。加えて、DNがLDAPとのインタラクションを削減するためにキャッシュされますが、識別には利用されません。DNが変わった場合は、変更が検出されます。内部ユーザー名は全体に亘って利用されます。マッピングをクリアすると、いたるところに使われないままの物が残るでしょう。マッピングのクリアは設定に敏感ではありませんが、すべてのLDAPの設定に影響を与えます!本番の環境では決してマッピングをクリアしないでください。テストまたは実験の段階でのみマッピングのクリアを行なってください。" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/user_ldap/l10n/sr.js b/apps/user_ldap/l10n/sr.js index 390f07a9346..15b0d19fabb 100644 --- a/apps/user_ldap/l10n/sr.js +++ b/apps/user_ldap/l10n/sr.js @@ -65,6 +65,8 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "Не могу да пронађем атрибут имена за приказ корисника. Молимо сами га наведите у LDAP напредним подешавањима.", "Could not find the desired feature" : "Не могу да пронађем жељену особину", "Invalid Host" : "Неисправан домаћин", + "This application enables administrators to connect Nextcloud to an LDAP-based user directory." : "Ова апликација омогућава администраторима да повежу Некстклауд на LDAP-базирани кориснички директоријум", + "This application enables administrators to connect Nextcloud to an LDAP-based user directory for authentication and provisioning users, groups and user attributes. Admins can configure this application to connect to one or more LDAP directories or Active Directories via an LDAP interface. Attributes such as user quota, email, avatar pictures, group memberships and more can be pulled into Nextcloud from a directory with the appropriate queries and filters.\n\nA user logs into Nextcloud with their LDAP or AD credentials, and is granted access based on an authentication request handled by the LDAP or AD server. Nextcloud does not store LDAP or AD passwords, rather these credentials are used to authenticate a user and then Nextcloud uses a session for the user ID. More information is available in the LDAP User and Group Backend documentation." : "Ова апликација омогућава администраторима да повежу Некстклауд на LDAP-базирани кориснички директоријум за проверу идентитета и прављење корисника, група и корисничких атрибута. Администратори могу да подесе повезивање ове апликације са једним или више LDAP директоријума или Active Directories преко LDAP интерфејса. Атрибути, као што су корисничка квота, адреса е-поште, аватар слика, припадност групама и остало се могу повући у Некстклауд из директоријума преко одговарајућих упита и филтера.\n\nКорисник се пријављује у Некстклауд преко својих LDAP или AD акредитива и одобрава му се приступ према захтеву за проверу идентитета којима управљају LDAP или AD сервери. Некстклауд не складишти LDAP и AD лозинке, него се само ови акредитиви користе за проверу идентитета корисника и на даље Некстклауд користи сесију као ID корисника. Више информација је доступно у документацији LDAP кориснички и групни позадински мотор.", "Test Configuration" : "Испробај поставку", "Help" : "Помоћ", "Groups meeting these criteria are available in %s:" : "Групе које испуњавају ове критеријуме су доступне у %s:", diff --git a/apps/user_ldap/l10n/sr.json b/apps/user_ldap/l10n/sr.json index 9423ba4424a..dd6600a95ef 100644 --- a/apps/user_ldap/l10n/sr.json +++ b/apps/user_ldap/l10n/sr.json @@ -63,6 +63,8 @@ "Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "Не могу да пронађем атрибут имена за приказ корисника. Молимо сами га наведите у LDAP напредним подешавањима.", "Could not find the desired feature" : "Не могу да пронађем жељену особину", "Invalid Host" : "Неисправан домаћин", + "This application enables administrators to connect Nextcloud to an LDAP-based user directory." : "Ова апликација омогућава администраторима да повежу Некстклауд на LDAP-базирани кориснички директоријум", + "This application enables administrators to connect Nextcloud to an LDAP-based user directory for authentication and provisioning users, groups and user attributes. Admins can configure this application to connect to one or more LDAP directories or Active Directories via an LDAP interface. Attributes such as user quota, email, avatar pictures, group memberships and more can be pulled into Nextcloud from a directory with the appropriate queries and filters.\n\nA user logs into Nextcloud with their LDAP or AD credentials, and is granted access based on an authentication request handled by the LDAP or AD server. Nextcloud does not store LDAP or AD passwords, rather these credentials are used to authenticate a user and then Nextcloud uses a session for the user ID. More information is available in the LDAP User and Group Backend documentation." : "Ова апликација омогућава администраторима да повежу Некстклауд на LDAP-базирани кориснички директоријум за проверу идентитета и прављење корисника, група и корисничких атрибута. Администратори могу да подесе повезивање ове апликације са једним или више LDAP директоријума или Active Directories преко LDAP интерфејса. Атрибути, као што су корисничка квота, адреса е-поште, аватар слика, припадност групама и остало се могу повући у Некстклауд из директоријума преко одговарајућих упита и филтера.\n\nКорисник се пријављује у Некстклауд преко својих LDAP или AD акредитива и одобрава му се приступ према захтеву за проверу идентитета којима управљају LDAP или AD сервери. Некстклауд не складишти LDAP и AD лозинке, него се само ови акредитиви користе за проверу идентитета корисника и на даље Некстклауд користи сесију као ID корисника. Више информација је доступно у документацији LDAP кориснички и групни позадински мотор.", "Test Configuration" : "Испробај поставку", "Help" : "Помоћ", "Groups meeting these criteria are available in %s:" : "Групе које испуњавају ове критеријуме су доступне у %s:", diff --git a/apps/workflowengine/l10n/el.js b/apps/workflowengine/l10n/el.js index 50c5e42e7d9..848c2d0c3be 100644 --- a/apps/workflowengine/l10n/el.js +++ b/apps/workflowengine/l10n/el.js @@ -1,6 +1,7 @@ OC.L10N.register( "workflowengine", { + "Group list is empty" : "Η λίστα της ομάδας είναι κενή", "Unable to retrieve the group list" : "Αδύνατη η ανάκτηση λίστας της ομάδας", "Saved" : "Αποθηκεύτηκε", "Saving failed:" : "Απέτυχε η αποθήκευση:", @@ -60,7 +61,7 @@ OC.L10N.register( "Check %s is invalid" : "Έλεγχος %s δεν είναι έγκυρος", "Check #%s does not exist" : "Έλεγχος #%s δεν υπάρχει", "Workflow" : "Ροή εργασίας", - "Open documentation" : "Άνοιγμ τεκμηρίωσης", + "Open documentation" : "Άνοιγμα τεκμηρίωσης", "Add rule group" : "Προσθέστε κανόνα ομάδας", "Short rule description" : "Μικρή περιγραφή κανόνα", "Add rule" : "Προσθέστε κανόνα", diff --git a/apps/workflowengine/l10n/el.json b/apps/workflowengine/l10n/el.json index c445a8a10d2..3a663a4d08b 100644 --- a/apps/workflowengine/l10n/el.json +++ b/apps/workflowengine/l10n/el.json @@ -1,4 +1,5 @@ { "translations": { + "Group list is empty" : "Η λίστα της ομάδας είναι κενή", "Unable to retrieve the group list" : "Αδύνατη η ανάκτηση λίστας της ομάδας", "Saved" : "Αποθηκεύτηκε", "Saving failed:" : "Απέτυχε η αποθήκευση:", @@ -58,7 +59,7 @@ "Check %s is invalid" : "Έλεγχος %s δεν είναι έγκυρος", "Check #%s does not exist" : "Έλεγχος #%s δεν υπάρχει", "Workflow" : "Ροή εργασίας", - "Open documentation" : "Άνοιγμ τεκμηρίωσης", + "Open documentation" : "Άνοιγμα τεκμηρίωσης", "Add rule group" : "Προσθέστε κανόνα ομάδας", "Short rule description" : "Μικρή περιγραφή κανόνα", "Add rule" : "Προσθέστε κανόνα", diff --git a/apps/workflowengine/l10n/he.js b/apps/workflowengine/l10n/he.js index d92ae3f13fc..b28e80f592d 100644 --- a/apps/workflowengine/l10n/he.js +++ b/apps/workflowengine/l10n/he.js @@ -48,6 +48,18 @@ OC.L10N.register( "The given tag id is invalid" : "התגית שצוינה שגויה", "The given IP range is invalid" : "טווח כתובות ה־IP שצוין שגוי", "The given IP range is not valid for IPv4" : "טווח כתובות ה־IP שצוין אינו תקף ל־IPv4", - "The given IP range is not valid for IPv6" : "טווח כתובות ה־IP שצוין אינו תקף ל־IPv6" + "The given IP range is not valid for IPv6" : "טווח כתובות ה־IP שצוין אינו תקף ל־IPv6", + "The given time span is invalid" : "טווח הזמן שצוין שגוי", + "The given start time is invalid" : "מועד ההתחלה שצוין שגוי", + "The given end time is invalid" : "מועד הסיום שצוין שגוי", + "The given group does not exist" : "הקבוצה שצוינה אינה קיימת", + "Operation #%s does not exist" : "פעולה מס׳ %s לא קיימת", + "Operation %s does not exist" : "הפעולה %s לא קיימת", + "Operation %s is invalid" : "הפעולה %s שגויה", + "Add rule" : "הוספת כלל", + "Reset" : "איפוס", + "Save" : "שמירה", + "Saving…" : "בהליכי שמירה…", + "Loading…" : "בטעינה…" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); diff --git a/apps/workflowengine/l10n/he.json b/apps/workflowengine/l10n/he.json index c5fc82f8e77..970bf69de77 100644 --- a/apps/workflowengine/l10n/he.json +++ b/apps/workflowengine/l10n/he.json @@ -46,6 +46,18 @@ "The given tag id is invalid" : "התגית שצוינה שגויה", "The given IP range is invalid" : "טווח כתובות ה־IP שצוין שגוי", "The given IP range is not valid for IPv4" : "טווח כתובות ה־IP שצוין אינו תקף ל־IPv4", - "The given IP range is not valid for IPv6" : "טווח כתובות ה־IP שצוין אינו תקף ל־IPv6" + "The given IP range is not valid for IPv6" : "טווח כתובות ה־IP שצוין אינו תקף ל־IPv6", + "The given time span is invalid" : "טווח הזמן שצוין שגוי", + "The given start time is invalid" : "מועד ההתחלה שצוין שגוי", + "The given end time is invalid" : "מועד הסיום שצוין שגוי", + "The given group does not exist" : "הקבוצה שצוינה אינה קיימת", + "Operation #%s does not exist" : "פעולה מס׳ %s לא קיימת", + "Operation %s does not exist" : "הפעולה %s לא קיימת", + "Operation %s is invalid" : "הפעולה %s שגויה", + "Add rule" : "הוספת כלל", + "Reset" : "איפוס", + "Save" : "שמירה", + "Saving…" : "בהליכי שמירה…", + "Loading…" : "בטעינה…" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" }
\ No newline at end of file diff --git a/core/BackgroundJobs/BackgroundCleanupUpdaterBackupsJob.php b/core/BackgroundJobs/BackgroundCleanupUpdaterBackupsJob.php new file mode 100644 index 00000000000..2b629861088 --- /dev/null +++ b/core/BackgroundJobs/BackgroundCleanupUpdaterBackupsJob.php @@ -0,0 +1,90 @@ +<?php +/** + * @copyright 2018 Morris Jobke <hey@morrisjobke.de> + * + * @author Morris Jobke <hey@morrisjobke.de> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +namespace OC\Core\BackgroundJobs; + +use OC\BackgroundJob\QueuedJob; +use OCP\IConfig; +use OCP\ILogger; + +class BackgroundCleanupUpdaterBackupsJob extends QueuedJob { + + /** @var IConfig */ + protected $config; + /** @var ILogger */ + protected $log; + + public function __construct(IConfig $config, ILogger $log) { + $this->config = $config; + $this->log = $log; + } + + /** + * This job cleans up all backups except the latest 3 from the updaters backup directory + * + */ + public function run($arguments) { + $dataDir = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data'); + $instanceId = $this->config->getSystemValue('instanceid', null); + + if(!is_string($instanceId) || empty($instanceId)) { + return; + } + + $updaterFolderPath = $dataDir . '/updater-' . $instanceId; + $backupFolderPath = $updaterFolderPath . '/backups'; + if(file_exists($backupFolderPath)) { + $this->log->info("$backupFolderPath exists - start to clean it up"); + + $dirList = []; + $dirs = new \DirectoryIterator($backupFolderPath); + foreach($dirs as $dir) { + // skip files and dot dirs + if ($dir->isFile() || $dir->isDot()) { + continue; + } + + $mtime = $dir->getMTime(); + $realPath = $dir->getRealPath(); + + if ($realPath === false) { + continue; + } + + $dirList[$mtime] = $realPath; + } + + ksort($dirList); + // drop the newest 3 directories + $dirList = array_slice($dirList, 0, -3); + $this->log->info("List of all directories that will be deleted: " . json_encode($dirList)); + + foreach($dirList as $dir) { + $this->log->info("Removing $dir ..."); + \OC_Helper::rmdirr($dir); + } + $this->log->info("Cleanup finished"); + } else { + $this->log->info("Could not find updater directory $backupFolderPath - cleanup step not needed"); + } + } +} diff --git a/core/Controller/AvatarController.php b/core/Controller/AvatarController.php index 11d81ab00b2..0625265dd05 100644 --- a/core/Controller/AvatarController.php +++ b/core/Controller/AvatarController.php @@ -8,6 +8,7 @@ * @author Roeland Jago Douma <roeland@famdouma.nl> * @author Thomas Müller <thomas.mueller@tmit.eu> * @author Vincent Petry <pvince81@owncloud.com> + * @author John Molakvoæ <skjnldsv@protonmail.com> * * @license AGPL-3.0 * @@ -41,6 +42,7 @@ use OCP\IL10N; use OCP\IRequest; use OCP\IUserManager; use OCP\IUserSession; +use OCP\AppFramework\Http\DataResponse; /** * Class AvatarController @@ -111,8 +113,6 @@ class AvatarController extends Controller { } - - /** * @NoAdminRequired * @NoCSRFRequired @@ -124,6 +124,7 @@ class AvatarController extends Controller { * @return JSONResponse|FileDisplayResponse */ public function getAvatar($userId, $size) { + // min/max size if ($size > 2048) { $size = 2048; } elseif ($size <= 0) { @@ -132,9 +133,11 @@ class AvatarController extends Controller { try { $avatar = $this->avatarManager->getAvatar($userId)->getFile($size); - $resp = new FileDisplayResponse($avatar, + $resp = new FileDisplayResponse( + $avatar, Http::STATUS_OK, - ['Content-Type' => $avatar->getMimeType()]); + ['Content-Type' => $avatar->getMimeType() + ]); } catch (\Exception $e) { $resp = new Http\Response(); $resp->setStatus(Http::STATUS_NOT_FOUND); diff --git a/core/Migrations/Version14000Date20180518120534.php b/core/Migrations/Version14000Date20180518120534.php new file mode 100644 index 00000000000..a738c6baa7e --- /dev/null +++ b/core/Migrations/Version14000Date20180518120534.php @@ -0,0 +1,54 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OC\Core\Migrations; + +use OCP\DB\ISchemaWrapper; +use OCP\Migration\SimpleMigrationStep; +use OCP\Migration\IOutput; + +class Version14000Date20180518120534 extends SimpleMigrationStep { + + public function changeSchema(IOutput $output, \Closure $schemaClosure, array $options) { + /** @var ISchemaWrapper $schema */ + $schema = $schemaClosure(); + + $table = $schema->getTable('authtoken'); + $table->addColumn('private_key', 'text', [ + 'notnull' => false, + ]); + $table->addColumn('public_key', 'text', [ + 'notnull' => false, + ]); + $table->addColumn('version', 'smallint', [ + 'notnull' => true, + 'default' => 1, + 'unsigned' => true, + ]); + $table->addIndex(['uid'], 'authtoken_uid_index'); + $table->addIndex(['version'], 'authtoken_version_index'); + + return $schema; + } +} diff --git a/core/css/mobile.scss b/core/css/mobile.scss index cfc8c002e17..239876223d5 100644 --- a/core/css/mobile.scss +++ b/core/css/mobile.scss @@ -67,7 +67,7 @@ #app-navigation-toggle { position: fixed; display: inline-block !important; - top: 45px; + top: 50px; left: 0; width: 44px; height: 44px; diff --git a/core/js/placeholder.js b/core/js/placeholder.js index a0dfe8491d4..81f0b12e61a 100644 --- a/core/js/placeholder.js +++ b/core/js/placeholder.js @@ -62,13 +62,16 @@ (function ($) { String.prototype.toRgb = function() { - var hash = this.toLowerCase().replace(/[^0-9a-f]+/g, ''); + // Normalize hash + var hash = this.toLowerCase(); // Already a md5 hash? - if( !hash.match(/^[0-9a-f]{32}$/g) ) { + if( hash.match(/^([0-9a-f]{4}-?){8}$/) === null ) { hash = md5(hash); } + hash = hash.replace(/[^0-9a-f]/g, ''); + function Color(r,g,b) { this.r = r; this.g = g; @@ -116,7 +119,7 @@ var result = Array(); // Splitting evenly the string - for (var i in hash) { + for (var i=0; i<hash.length; i++) { // chars in md5 goes up to f, hex:16 result.push(parseInt(hash.charAt(i), 16) % 16); } diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js index 6e1c993b3bc..eae0abae50c 100644 --- a/core/js/setupchecks.js +++ b/core/js/setupchecks.js @@ -92,6 +92,85 @@ var afterCall = function(data, statusText, xhr) { var messages = []; if (xhr.status === 200 && data) { + if (!data.isGetenvServerWorking) { + messages.push({ + msg: t('core', 'PHP does not seem to be setup properly to query system environment variables. The test with getenv("PATH") only returns an empty response.') + ' ' + + t( + 'core', + 'Please check the <a target="_blank" rel="noreferrer noopener" href="{docLink}">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.', + { + docLink: oc_defaults.docPlaceholderUrl.replace('PLACEHOLDER', 'admin-php-fpm') + } + ), + type: OC.SetupChecks.MESSAGE_TYPE_WARNING + }); + } + if (data.isReadOnlyConfig) { + messages.push({ + msg: t('core', 'The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.'), + type: OC.SetupChecks.MESSAGE_TYPE_INFO + }); + } + if (!data.hasValidTransactionIsolationLevel) { + messages.push({ + msg: t('core', 'Your database does not run with "READ COMMITTED" transaction isolation level. This can cause problems when multiple actions are executed in parallel.'), + type: OC.SetupChecks.MESSAGE_TYPE_ERROR + }); + } + if(!data.hasFileinfoInstalled) { + messages.push({ + msg: t('core', 'The PHP module "fileinfo" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection.'), + type: OC.SetupChecks.MESSAGE_TYPE_INFO + }); + } + if (data.outdatedCaches.length > 0) { + data.outdatedCaches.forEach(function(element){ + messages.push({ + msg: t( + 'core', + '{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version.', + element + ), + type: OC.SetupChecks.MESSAGE_TYPE_WARNING + }) + }); + } + if(!data.hasWorkingFileLocking) { + messages.push({ + msg: t('core', 'Transactional file locking is disabled, this might lead to issues with race conditions. Enable "filelocking.enabled" in config.php to avoid these problems. See the <a target="_blank" rel="noreferrer noopener" href="{docLink}">documentation ↗</a> for more information.', {docLink: oc_defaults.docPlaceholderUrl.replace('PLACEHOLDER', 'admin-transactional-locking')}), + type: OC.SetupChecks.MESSAGE_TYPE_WARNING + }); + } + if (data.suggestedOverwriteCliURL !== '') { + messages.push({ + msg: t('core', 'If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the "overwrite.cli.url" option in your config.php file to the webroot path of your installation (suggestion: "{suggestedOverwriteCliURL}")', {suggestedOverwriteCliURL: data.suggestedOverwriteCliURL}), + type: OC.SetupChecks.MESSAGE_TYPE_WARNING + }); + } + if (data.cronErrors.length > 0) { + var listOfCronErrors = ""; + data.cronErrors.forEach(function(element){ + listOfCronErrors += "<li>"; + listOfCronErrors += element.error; + listOfCronErrors += ' '; + listOfCronErrors += element.hint; + listOfCronErrors += "</li>"; + }); + messages.push({ + msg: t( + 'core', + 'It was not possible to execute the cron job via CLI. The following technical errors have appeared:' + ) + "<ul>" + listOfCronErrors + "</ul>", + type: OC.SetupChecks.MESSAGE_TYPE_ERROR + }) + } + if (data.cronInfo.diffInSeconds > 3600) { + messages.push({ + msg: t('core', 'Last background job execution ran {relativeTime}. Something seems wrong.', {relativeTime: data.cronInfo.relativeTime}) + + ' <a href="' + data.cronInfo.backgroundJobsUrl + '">' + t('core', 'Check the background job settings') + '</a>', + type: OC.SetupChecks.MESSAGE_TYPE_ERROR + }); + } if (!data.serverHasInternetConnection) { messages.push({ msg: t('core', 'This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features.'), @@ -183,9 +262,9 @@ type: OC.SetupChecks.MESSAGE_TYPE_INFO }) } - if (data.hasMissingIndexes.length > 0) { + if (data.missingIndexes.length > 0) { var listOfMissingIndexes = ""; - data.hasMissingIndexes.forEach(function(element){ + data.missingIndexes.forEach(function(element){ listOfMissingIndexes += "<li>"; listOfMissingIndexes += t('core', 'Missing index "{indexName}" in table "{tableName}".', element); listOfMissingIndexes += "</li>"; diff --git a/core/js/tests/specs/setupchecksSpec.js b/core/js/tests/specs/setupchecksSpec.js index 316b5d4c592..900b9f8fc66 100644 --- a/core/js/tests/specs/setupchecksSpec.js +++ b/core/js/tests/specs/setupchecksSpec.js @@ -149,6 +149,12 @@ describe('OC.SetupChecks tests', function() { 'Content-Type': 'application/json' }, JSON.stringify({ + hasFileinfoInstalled: true, + isGetenvServerWorking: true, + isReadOnlyConfig: false, + hasWorkingFileLocking: true, + hasValidTransactionIsolationLevel: true, + suggestedOverwriteCliURL: '', isUrandomAvailable: true, serverHasInternetConnection: false, memcacheDocs: 'https://docs.nextcloud.com/server/go.php?to=admin-performance', @@ -158,7 +164,12 @@ describe('OC.SetupChecks tests', function() { isOpcacheProperlySetup: true, isSettimelimitAvailable: true, hasFreeTypeSupport: true, - hasMissingIndexes: [] + missingIndexes: [], + outdatedCaches: [], + cronErrors: [], + cronInfo: { + diffInSeconds: 0 + } }) ); @@ -184,6 +195,12 @@ describe('OC.SetupChecks tests', function() { 'Content-Type': 'application/json' }, JSON.stringify({ + hasFileinfoInstalled: true, + isGetenvServerWorking: true, + isReadOnlyConfig: false, + hasWorkingFileLocking: true, + hasValidTransactionIsolationLevel: true, + suggestedOverwriteCliURL: '', isUrandomAvailable: true, serverHasInternetConnection: false, memcacheDocs: 'https://docs.nextcloud.com/server/go.php?to=admin-performance', @@ -193,7 +210,12 @@ describe('OC.SetupChecks tests', function() { isOpcacheProperlySetup: true, isSettimelimitAvailable: true, hasFreeTypeSupport: true, - hasMissingIndexes: [] + missingIndexes: [], + outdatedCaches: [], + cronErrors: [], + cronInfo: { + diffInSeconds: 0 + } }) ); @@ -220,6 +242,12 @@ describe('OC.SetupChecks tests', function() { 'Content-Type': 'application/json', }, JSON.stringify({ + hasFileinfoInstalled: true, + isGetenvServerWorking: true, + isReadOnlyConfig: false, + hasWorkingFileLocking: true, + hasValidTransactionIsolationLevel: true, + suggestedOverwriteCliURL: '', isUrandomAvailable: true, serverHasInternetConnection: false, isMemcacheConfigured: true, @@ -229,7 +257,12 @@ describe('OC.SetupChecks tests', function() { isOpcacheProperlySetup: true, isSettimelimitAvailable: true, hasFreeTypeSupport: true, - hasMissingIndexes: [] + missingIndexes: [], + outdatedCaches: [], + cronErrors: [], + cronInfo: { + diffInSeconds: 0 + } }) ); @@ -253,6 +286,12 @@ describe('OC.SetupChecks tests', function() { 'Content-Type': 'application/json', }, JSON.stringify({ + hasFileinfoInstalled: true, + isGetenvServerWorking: true, + isReadOnlyConfig: false, + hasWorkingFileLocking: true, + hasValidTransactionIsolationLevel: true, + suggestedOverwriteCliURL: '', isUrandomAvailable: false, securityDocs: 'https://docs.owncloud.org/myDocs.html', serverHasInternetConnection: true, @@ -263,7 +302,12 @@ describe('OC.SetupChecks tests', function() { isOpcacheProperlySetup: true, isSettimelimitAvailable: true, hasFreeTypeSupport: true, - hasMissingIndexes: [] + missingIndexes: [], + outdatedCaches: [], + cronErrors: [], + cronInfo: { + diffInSeconds: 0 + } }) ); @@ -285,6 +329,12 @@ describe('OC.SetupChecks tests', function() { 'Content-Type': 'application/json', }, JSON.stringify({ + hasFileinfoInstalled: true, + isGetenvServerWorking: true, + isReadOnlyConfig: false, + hasWorkingFileLocking: true, + hasValidTransactionIsolationLevel: true, + suggestedOverwriteCliURL: '', isUrandomAvailable: true, securityDocs: 'https://docs.owncloud.org/myDocs.html', serverHasInternetConnection: true, @@ -295,7 +345,12 @@ describe('OC.SetupChecks tests', function() { isOpcacheProperlySetup: true, isSettimelimitAvailable: true, hasFreeTypeSupport: true, - hasMissingIndexes: [] + missingIndexes: [], + outdatedCaches: [], + cronErrors: [], + cronInfo: { + diffInSeconds: 0 + } }) ); @@ -317,6 +372,12 @@ describe('OC.SetupChecks tests', function() { 'Content-Type': 'application/json', }, JSON.stringify({ + hasFileinfoInstalled: true, + isGetenvServerWorking: true, + isReadOnlyConfig: false, + hasWorkingFileLocking: true, + hasValidTransactionIsolationLevel: true, + suggestedOverwriteCliURL: '', isUrandomAvailable: true, serverHasInternetConnection: true, isMemcacheConfigured: true, @@ -327,7 +388,12 @@ describe('OC.SetupChecks tests', function() { isOpcacheProperlySetup: true, isSettimelimitAvailable: true, hasFreeTypeSupport: true, - hasMissingIndexes: [] + missingIndexes: [], + outdatedCaches: [], + cronErrors: [], + cronInfo: { + diffInSeconds: 0 + } }) ); @@ -349,6 +415,12 @@ describe('OC.SetupChecks tests', function() { 'Content-Type': 'application/json', }, JSON.stringify({ + hasFileinfoInstalled: true, + isGetenvServerWorking: true, + isReadOnlyConfig: false, + hasWorkingFileLocking: true, + hasValidTransactionIsolationLevel: true, + suggestedOverwriteCliURL: '', isUrandomAvailable: true, serverHasInternetConnection: true, isMemcacheConfigured: true, @@ -359,7 +431,12 @@ describe('OC.SetupChecks tests', function() { isOpcacheProperlySetup: true, isSettimelimitAvailable: false, hasFreeTypeSupport: true, - hasMissingIndexes: [] + missingIndexes: [], + outdatedCaches: [], + cronErrors: [], + cronInfo: { + diffInSeconds: 0 + } }) ); @@ -401,6 +478,12 @@ describe('OC.SetupChecks tests', function() { 'Content-Type': 'application/json', }, JSON.stringify({ + hasFileinfoInstalled: true, + isGetenvServerWorking: true, + isReadOnlyConfig: false, + hasWorkingFileLocking: true, + hasValidTransactionIsolationLevel: true, + suggestedOverwriteCliURL: '', isUrandomAvailable: true, securityDocs: 'https://docs.owncloud.org/myDocs.html', serverHasInternetConnection: true, @@ -412,7 +495,12 @@ describe('OC.SetupChecks tests', function() { isOpcacheProperlySetup: true, isSettimelimitAvailable: true, hasFreeTypeSupport: true, - hasMissingIndexes: [] + missingIndexes: [], + outdatedCaches: [], + cronErrors: [], + cronInfo: { + diffInSeconds: 0 + } }) ); @@ -434,6 +522,12 @@ describe('OC.SetupChecks tests', function() { 'Content-Type': 'application/json' }, JSON.stringify({ + hasFileinfoInstalled: true, + isGetenvServerWorking: true, + isReadOnlyConfig: false, + hasWorkingFileLocking: true, + hasValidTransactionIsolationLevel: true, + suggestedOverwriteCliURL: '', isUrandomAvailable: true, securityDocs: 'https://docs.owncloud.org/myDocs.html', serverHasInternetConnection: true, @@ -445,7 +539,12 @@ describe('OC.SetupChecks tests', function() { phpOpcacheDocumentation: 'https://example.org/link/to/doc', isSettimelimitAvailable: true, hasFreeTypeSupport: true, - hasMissingIndexes: [] + missingIndexes: [], + outdatedCaches: [], + cronErrors: [], + cronInfo: { + diffInSeconds: 0 + } }) ); @@ -467,6 +566,12 @@ describe('OC.SetupChecks tests', function() { 'Content-Type': 'application/json' }, JSON.stringify({ + hasFileinfoInstalled: true, + isGetenvServerWorking: true, + isReadOnlyConfig: false, + hasWorkingFileLocking: true, + hasValidTransactionIsolationLevel: true, + suggestedOverwriteCliURL: '', isUrandomAvailable: true, securityDocs: 'https://docs.owncloud.org/myDocs.html', serverHasInternetConnection: true, @@ -478,7 +583,12 @@ describe('OC.SetupChecks tests', function() { phpOpcacheDocumentation: 'https://example.org/link/to/doc', isSettimelimitAvailable: true, hasFreeTypeSupport: false, - hasMissingIndexes: [] + missingIndexes: [], + outdatedCaches: [], + cronErrors: [], + cronInfo: { + diffInSeconds: 0 + } }) ); diff --git a/core/l10n/ca.js b/core/l10n/ca.js index 9e3ae453fd7..23f3a2b0f5b 100644 --- a/core/l10n/ca.js +++ b/core/l10n/ca.js @@ -110,7 +110,6 @@ OC.L10N.register( "Good password" : "Contrasenya bona", "Strong password" : "Contrasenya forta", "Error occurred while checking server setup" : "Hi ha hagut un error en comprovar la configuració del servidor", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "S'està accedint de manera no segura mitjançant HTTP. Es recomana utilitzar HTTPS, tal i com detallen els <a href=\"{docUrl}\">consells de seguretat</a>.", "Shared" : "Compartit", "Shared with" : "Compartit amb", "Shared by" : "Compartit per", @@ -296,6 +295,7 @@ OC.L10N.register( "Alternative Logins" : "Acreditacions alternatives", "Alternative login using app token" : "Acreditació alternativa utilitzat testimoni d'aplicació", "Add \"%s\" as trusted domain" : "Afegeix \"%s\" com a domini de confiança", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "S'està accedint de manera no segura mitjançant HTTP. Es recomana utilitzar HTTPS, tal i com detallen els <a href=\"{docUrl}\">consells de seguretat</a>.", "Back to log in" : "Torna a l'accés", "Depending on your configuration, this button could also work to trust the domain:" : "Depenent de la teva configuració, aquest botó també podria funcionar per confiar en el domini:" }, diff --git a/core/l10n/ca.json b/core/l10n/ca.json index 957559d5806..899bdcf3bd5 100644 --- a/core/l10n/ca.json +++ b/core/l10n/ca.json @@ -108,7 +108,6 @@ "Good password" : "Contrasenya bona", "Strong password" : "Contrasenya forta", "Error occurred while checking server setup" : "Hi ha hagut un error en comprovar la configuració del servidor", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "S'està accedint de manera no segura mitjançant HTTP. Es recomana utilitzar HTTPS, tal i com detallen els <a href=\"{docUrl}\">consells de seguretat</a>.", "Shared" : "Compartit", "Shared with" : "Compartit amb", "Shared by" : "Compartit per", @@ -294,6 +293,7 @@ "Alternative Logins" : "Acreditacions alternatives", "Alternative login using app token" : "Acreditació alternativa utilitzat testimoni d'aplicació", "Add \"%s\" as trusted domain" : "Afegeix \"%s\" com a domini de confiança", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "S'està accedint de manera no segura mitjançant HTTP. Es recomana utilitzar HTTPS, tal i com detallen els <a href=\"{docUrl}\">consells de seguretat</a>.", "Back to log in" : "Torna a l'accés", "Depending on your configuration, this button could also work to trust the domain:" : "Depenent de la teva configuració, aquest botó també podria funcionar per confiar en el domini:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/cs.js b/core/l10n/cs.js index e289fcbc066..9bd6310fe7b 100644 --- a/core/l10n/cs.js +++ b/core/l10n/cs.js @@ -125,8 +125,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Váš datový adresář a vaše soubory jsou pravděpodobně dostupné z internetu. Soubor .htaccess nefunguje. Je velmi doporučeno zajistit, aby tento adresář již nebyl dostupný z internetu, nebo byl přesunut mimo document root webového serveru.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP hlavička \"{header}\" není nakonfigurována ve shodě s \"{expected}\". To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP hlavička \"{header}\" není nakonfigurována ve shodě s \"{expected}\". To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimum \"{seconds}\" sekund. Pro vylepšení bezpečnosti doporučujeme povolit HSTS dle popisu v našich <a href=\"{docUrl}\" rel=\"noreferrer noopener\">bezpečnostních tipech</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Přistupujete na tuto stránku přes protokol HTTP. Důrazně doporučujeme nakonfigurovat server tak, aby vyžadoval použití HTTPS jak je popsáno v našich <a href=\"{docUrl}\">bezpečnostních tipech</a>.", "Shared" : "Sdílené", "Shared with" : "Sdíleno s", "Shared by" : "Nasdílel", @@ -347,6 +345,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Přidat \"%s\" jako důvěryhodnou doménu", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pro pomoc, nahlédněte do <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentace</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Váš PHP nepodporuje freetype. Následek budou požkozené profilové obrázky a nastavení rozhraní", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimum \"{seconds}\" sekund. Pro vylepšení bezpečnosti doporučujeme povolit HSTS dle popisu v našich <a href=\"{docUrl}\" rel=\"noreferrer noopener\">bezpečnostních tipech</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Přistupujete na tuto stránku přes protokol HTTP. Důrazně doporučujeme nakonfigurovat server tak, aby vyžadoval použití HTTPS jak je popsáno v našich <a href=\"{docUrl}\">bezpečnostních tipech</a>.", "Back to log in" : "Zpět na přihlášení", "Depending on your configuration, this button could also work to trust the domain:" : "V závislosti na vaší konfiguraci by pro označení domény za důvěryhodnou mohlo fungovat i toto tlačítko:" }, diff --git a/core/l10n/cs.json b/core/l10n/cs.json index b8ceb79ca44..7f6a6b01f3f 100644 --- a/core/l10n/cs.json +++ b/core/l10n/cs.json @@ -123,8 +123,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Váš datový adresář a vaše soubory jsou pravděpodobně dostupné z internetu. Soubor .htaccess nefunguje. Je velmi doporučeno zajistit, aby tento adresář již nebyl dostupný z internetu, nebo byl přesunut mimo document root webového serveru.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP hlavička \"{header}\" není nakonfigurována ve shodě s \"{expected}\". To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP hlavička \"{header}\" není nakonfigurována ve shodě s \"{expected}\". To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimum \"{seconds}\" sekund. Pro vylepšení bezpečnosti doporučujeme povolit HSTS dle popisu v našich <a href=\"{docUrl}\" rel=\"noreferrer noopener\">bezpečnostních tipech</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Přistupujete na tuto stránku přes protokol HTTP. Důrazně doporučujeme nakonfigurovat server tak, aby vyžadoval použití HTTPS jak je popsáno v našich <a href=\"{docUrl}\">bezpečnostních tipech</a>.", "Shared" : "Sdílené", "Shared with" : "Sdíleno s", "Shared by" : "Nasdílel", @@ -345,6 +343,8 @@ "Add \"%s\" as trusted domain" : "Přidat \"%s\" jako důvěryhodnou doménu", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pro pomoc, nahlédněte do <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentace</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Váš PHP nepodporuje freetype. Následek budou požkozené profilové obrázky a nastavení rozhraní", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimum \"{seconds}\" sekund. Pro vylepšení bezpečnosti doporučujeme povolit HSTS dle popisu v našich <a href=\"{docUrl}\" rel=\"noreferrer noopener\">bezpečnostních tipech</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Přistupujete na tuto stránku přes protokol HTTP. Důrazně doporučujeme nakonfigurovat server tak, aby vyžadoval použití HTTPS jak je popsáno v našich <a href=\"{docUrl}\">bezpečnostních tipech</a>.", "Back to log in" : "Zpět na přihlášení", "Depending on your configuration, this button could also work to trust the domain:" : "V závislosti na vaší konfiguraci by pro označení domény za důvěryhodnou mohlo fungovat i toto tlačítko:" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;" diff --git a/core/l10n/da.js b/core/l10n/da.js index 202168e8f2a..08f5194c4fa 100644 --- a/core/l10n/da.js +++ b/core/l10n/da.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Din data-mappe og dine filer ser ud til at være tilgængelig på intetnettet. Din .htaccess fungere ikke korrekt. Du anbefales på det kraftigste til at sætte din webserver op så din data-mappe ikke længere er tilgængelig på intetnettet eller flytte data-mappen væk fra webserverens dokumentrod.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP headeren \"Strict-Transport-Security\" er ikke konfigureret til mindst \"{seconds}\" sekunder. For bedre sikkerhed anbefaler vi at aktivere HSTS som beskrevet i vores <a href=\"{docUrl}\" rel=\"noreferrer\">sikkerhedstips</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Du tilgår dette sted gennem HTTP. Vi anbefaler kraftigt at du konfigurerer din server, så der kræves brug af HTTPS i stedet for, som foreskrevet i vores <a href=\"{docUrl}\">sikkerhedstips</a>.", "Shared" : "Delt", "Shared with" : "Delt med", "Shared by" : "Delt af", @@ -347,6 +345,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Tilføj \"%s\" som et troværdigt domæne", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For hjælp se <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentationen</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Din PHP version har ikke FreeType-support, hvilket resulterer i brud på profilbilleder og indstillingerne.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP headeren \"Strict-Transport-Security\" er ikke konfigureret til mindst \"{seconds}\" sekunder. For bedre sikkerhed anbefaler vi at aktivere HSTS som beskrevet i vores <a href=\"{docUrl}\" rel=\"noreferrer\">sikkerhedstips</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Du tilgår dette sted gennem HTTP. Vi anbefaler kraftigt at du konfigurerer din server, så der kræves brug af HTTPS i stedet for, som foreskrevet i vores <a href=\"{docUrl}\">sikkerhedstips</a>.", "Back to log in" : "Tilbage til log in", "Depending on your configuration, this button could also work to trust the domain:" : "Denne knap kan også virke for at godkende domænet, afhængig af din konfiguration." }, diff --git a/core/l10n/da.json b/core/l10n/da.json index 7e3062547b9..343defeae8b 100644 --- a/core/l10n/da.json +++ b/core/l10n/da.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Din data-mappe og dine filer ser ud til at være tilgængelig på intetnettet. Din .htaccess fungere ikke korrekt. Du anbefales på det kraftigste til at sætte din webserver op så din data-mappe ikke længere er tilgængelig på intetnettet eller flytte data-mappen væk fra webserverens dokumentrod.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP headeren \"Strict-Transport-Security\" er ikke konfigureret til mindst \"{seconds}\" sekunder. For bedre sikkerhed anbefaler vi at aktivere HSTS som beskrevet i vores <a href=\"{docUrl}\" rel=\"noreferrer\">sikkerhedstips</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Du tilgår dette sted gennem HTTP. Vi anbefaler kraftigt at du konfigurerer din server, så der kræves brug af HTTPS i stedet for, som foreskrevet i vores <a href=\"{docUrl}\">sikkerhedstips</a>.", "Shared" : "Delt", "Shared with" : "Delt med", "Shared by" : "Delt af", @@ -345,6 +343,8 @@ "Add \"%s\" as trusted domain" : "Tilføj \"%s\" som et troværdigt domæne", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For hjælp se <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentationen</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Din PHP version har ikke FreeType-support, hvilket resulterer i brud på profilbilleder og indstillingerne.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP headeren \"Strict-Transport-Security\" er ikke konfigureret til mindst \"{seconds}\" sekunder. For bedre sikkerhed anbefaler vi at aktivere HSTS som beskrevet i vores <a href=\"{docUrl}\" rel=\"noreferrer\">sikkerhedstips</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Du tilgår dette sted gennem HTTP. Vi anbefaler kraftigt at du konfigurerer din server, så der kræves brug af HTTPS i stedet for, som foreskrevet i vores <a href=\"{docUrl}\">sikkerhedstips</a>.", "Back to log in" : "Tilbage til log in", "Depending on your configuration, this button could also work to trust the domain:" : "Denne knap kan også virke for at godkende domænet, afhængig af din konfiguration." },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/de.js b/core/l10n/de.js index 19dea7977ae..cd6b13cdc9d 100644 --- a/core/l10n/de.js +++ b/core/l10n/de.js @@ -111,11 +111,22 @@ OC.L10N.register( "Strong password" : "Starkes Passwort", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Dein Webserver ist noch nicht hinreichend für Datei-Synchronisation konfiguriert, da die WebDAV-Schnittstelle vermutlich nicht funktioniert.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Dein Web-Server ist nicht richtig eingerichtet um \"{url}\" aufzulösen. Weitere Informationen findest du in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Installationsdokumentation ↗</a> auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Deines Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Deine Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Das PHP-Modul 'fileinfo' fehlt. Es empfiehlt sich dringend, das Modul zu aktivieren, um bestmögliche Ergebnisse bei der MIME-Datei-Typ-Erkennung zu erhalten. ", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name} ist in einer älteren Version als {version} installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere {name}-Version", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. 'filelocking.enabled' in der config.php aktivieren, um diese Probleme zu vermeiden. Weitere Informationen findest du in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation ↗</a>.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und Cron des Systems genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die „overwrite.cli.url“-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: ", + "Last background job execution ran {relativeTime}. Something seems wrong." : "Letzte Cron-Job-Ausführung: {relativeTime}. Möglicherweise liegt ein Fehler vor.", + "Check the background job settings" : "Überprüfe Cron-Job Einstellungen", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Dieser Server hat keine funktionierende Internetverbindung: Mehrere Ziele konnten nicht erreicht werden. Dies bedeutet, dass einige Funktionen, wie das Einhängen exernen Speichers, Benachrichtigungen über Updates oder die Installation von Drittanbieter-Apps nicht funktionieren. Der Zugriff auf entfernte Dateien und das Senden von E-Mail-Benachrichtigungen wird wahrscheinlich ebenfalls nicht funktionieren. Um alle Funktionen nutzen zu können, stelle eine Internet-Verbindung für diesen Server her.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erhöhung der Leistungsfähigkeit kann ein Memory-Cache konfiguriert werden. Weitere Informationen finden Sie in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP hat keine Leserechte auf /dev/urandom wovon aus Sicherheitsgründen höchst abzuraten ist. Weitere Informationen sind in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a> zu finden.", "You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Du verwendest derzeit PHP {version}. Upgrade deine PHP-Version, um die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">Geschwindigkeits- und Sicherheitsupdates zu nutzen, welche von der PHP-Gruppe bereitgestellt werden</a>, sobald diese Deine Distribution unterstützt.", - "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Die verwendest PHP 5.6. Die aktuelle Version von Nextcloud ist die letzte Version, die PHP 5.6 unterstützt. Es empfiehlt sich die PHP-Version auf 7.0 oder höher zu aktualisieren, um in der Lage zu sein, auf Nextcloud 14 zu aktualisieren.", + "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Du verwendest PHP 5.6. Die aktuelle Version von Nextcloud ist die letzte Version, die PHP 5.6 unterstützt. Es empfiehlt sich die PHP-Version auf 7.0 oder höher zu aktualisieren, um in der Lage zu sein, auf Nextcloud 14 zu aktualisieren.", "The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Die Reverse-Proxy-Header-Konfiguration ist fehlerhaft oder Sie greifen auf Nextcloud über einen vertrauenswürdigen Proxy zu. Ist dies nicht der Fall, dann besteht ein Sicherheitsproblem, das einem Angreifer erlaubt die IP-Adresse, die für Nextcloud sichtbar ist, auszuspähen. Weitere Informationen hierzu finde sich in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.", "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached ist als verteilter Cache konfiguriert, aber das falsche PHP-Modul \"memcache\" ist installiert. \\OC\\Memcache\\Memcached unterstützt nur \"memcached\" jedoch nicht \"memcache\". Im <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki nach beiden Modulen suchen</a>.", "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Einige Dateien haben die Integritätsprüfung nicht bestanden. Weiterführende Informationen befinden sich in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Liste der ungültigen Dateien…</a> / <a href=\"{rescanEndpoint}\">Erneut analysieren…</a>)", @@ -124,13 +135,16 @@ OC.L10N.register( "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Dein PHP unterstützt Freetype nicht. Dies wird defekte Profilbilder und eine defekte Anzeige der Einstellungen verursachen.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Fehlender Index \"{indexName}\" in der Tabelle \"{tableName}\".", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen wird, wurden diese nicht automatisch erzeugt. Durch das Ausführen von \"ooc db:add-missing-indices\" können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Dies wird insbesondere bei der Benutzung des Desktop-Clients zur Synchronisierung empfohlen.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation ↗</a> schauen.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Dein Datenverzeichnis und deine Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, deinen Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass du es aus dem Dokument-Root-Verzeichnis des Webservers bewegst.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Einige Funktionen funktionieren möglicherweise nicht richtig. Daher wird empfohlen, diese Einstellung zu ändern.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "Der \"{header}\" HTTP-Header ist nicht gesetzt auf \"{val1}\", \"{val2}\", \"{val3}\" oder \"{val4}\". Dadurch können Verweis-Informationen preisgegeben werden. Siehe die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C-Empfehlung</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Der \"Strict-Transport-Security\" HTTP-Header ist nicht auf mindestens \"{seconds}\" Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Der Zugriff auf diese Site erfolgt über HTTP. Es wird dringend geraten, Ihren Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in den <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "Der \"{header}\" HTTP-Header ist nicht gesetzt auf \"{val1}\", \"{val2}\", \"{val3}\" oder \"{val4}\". Dadurch können Verweis-Informationen preisgegeben werden. Siehe die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C-Empfehlung</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "Der \"Strict-Transport-Security\" HTTP-Header ist nicht auf mindestens \"{seconds}\" Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Der Zugriff auf diese Site erfolgt über HTTP. Es wird dringend geraten, Ihren Server so zu konfigurieren, dass stattdessen nur HTTPS akzeptiert wird, wie es in den <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", "Shared" : "Geteilt", "Shared with" : "Geteilt mit", "Shared by" : "Geteilt von", @@ -356,6 +370,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Für weitere Hilfen, schaue bitte in die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Dein PHP unterstützt Freetype nicht. Dies wird defekte Profilbilder und eine defekte Anzeige der Einstellungen verursachen.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Der \"Strict-Transport-Security\" HTTP-Header ist nicht auf mindestens \"{seconds}\" Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Der Zugriff auf diese Site erfolgt über HTTP. Es wird dringend geraten, Ihren Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in den <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", "Back to log in" : "Zur Anmeldung wechseln", "Depending on your configuration, this button could also work to trust the domain:" : "Abhängig von Deiner Konfiguration kann diese Schaltfläche verwandt werden, um die Domain als vertrauenswürdig einzustufen:" }, diff --git a/core/l10n/de.json b/core/l10n/de.json index c659a3115e6..9c36374953d 100644 --- a/core/l10n/de.json +++ b/core/l10n/de.json @@ -109,11 +109,22 @@ "Strong password" : "Starkes Passwort", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Dein Webserver ist noch nicht hinreichend für Datei-Synchronisation konfiguriert, da die WebDAV-Schnittstelle vermutlich nicht funktioniert.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Dein Web-Server ist nicht richtig eingerichtet um \"{url}\" aufzulösen. Weitere Informationen findest du in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Installationsdokumentation ↗</a> auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Deines Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Deine Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Das PHP-Modul 'fileinfo' fehlt. Es empfiehlt sich dringend, das Modul zu aktivieren, um bestmögliche Ergebnisse bei der MIME-Datei-Typ-Erkennung zu erhalten. ", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name} ist in einer älteren Version als {version} installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere {name}-Version", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. 'filelocking.enabled' in der config.php aktivieren, um diese Probleme zu vermeiden. Weitere Informationen findest du in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation ↗</a>.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und Cron des Systems genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die „overwrite.cli.url“-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: ", + "Last background job execution ran {relativeTime}. Something seems wrong." : "Letzte Cron-Job-Ausführung: {relativeTime}. Möglicherweise liegt ein Fehler vor.", + "Check the background job settings" : "Überprüfe Cron-Job Einstellungen", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Dieser Server hat keine funktionierende Internetverbindung: Mehrere Ziele konnten nicht erreicht werden. Dies bedeutet, dass einige Funktionen, wie das Einhängen exernen Speichers, Benachrichtigungen über Updates oder die Installation von Drittanbieter-Apps nicht funktionieren. Der Zugriff auf entfernte Dateien und das Senden von E-Mail-Benachrichtigungen wird wahrscheinlich ebenfalls nicht funktionieren. Um alle Funktionen nutzen zu können, stelle eine Internet-Verbindung für diesen Server her.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erhöhung der Leistungsfähigkeit kann ein Memory-Cache konfiguriert werden. Weitere Informationen finden Sie in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP hat keine Leserechte auf /dev/urandom wovon aus Sicherheitsgründen höchst abzuraten ist. Weitere Informationen sind in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a> zu finden.", "You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Du verwendest derzeit PHP {version}. Upgrade deine PHP-Version, um die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">Geschwindigkeits- und Sicherheitsupdates zu nutzen, welche von der PHP-Gruppe bereitgestellt werden</a>, sobald diese Deine Distribution unterstützt.", - "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Die verwendest PHP 5.6. Die aktuelle Version von Nextcloud ist die letzte Version, die PHP 5.6 unterstützt. Es empfiehlt sich die PHP-Version auf 7.0 oder höher zu aktualisieren, um in der Lage zu sein, auf Nextcloud 14 zu aktualisieren.", + "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Du verwendest PHP 5.6. Die aktuelle Version von Nextcloud ist die letzte Version, die PHP 5.6 unterstützt. Es empfiehlt sich die PHP-Version auf 7.0 oder höher zu aktualisieren, um in der Lage zu sein, auf Nextcloud 14 zu aktualisieren.", "The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Die Reverse-Proxy-Header-Konfiguration ist fehlerhaft oder Sie greifen auf Nextcloud über einen vertrauenswürdigen Proxy zu. Ist dies nicht der Fall, dann besteht ein Sicherheitsproblem, das einem Angreifer erlaubt die IP-Adresse, die für Nextcloud sichtbar ist, auszuspähen. Weitere Informationen hierzu finde sich in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.", "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached ist als verteilter Cache konfiguriert, aber das falsche PHP-Modul \"memcache\" ist installiert. \\OC\\Memcache\\Memcached unterstützt nur \"memcached\" jedoch nicht \"memcache\". Im <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki nach beiden Modulen suchen</a>.", "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Einige Dateien haben die Integritätsprüfung nicht bestanden. Weiterführende Informationen befinden sich in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Liste der ungültigen Dateien…</a> / <a href=\"{rescanEndpoint}\">Erneut analysieren…</a>)", @@ -122,13 +133,16 @@ "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Dein PHP unterstützt Freetype nicht. Dies wird defekte Profilbilder und eine defekte Anzeige der Einstellungen verursachen.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Fehlender Index \"{indexName}\" in der Tabelle \"{tableName}\".", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen wird, wurden diese nicht automatisch erzeugt. Durch das Ausführen von \"ooc db:add-missing-indices\" können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Dies wird insbesondere bei der Benutzung des Desktop-Clients zur Synchronisierung empfohlen.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation ↗</a> schauen.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Dein Datenverzeichnis und deine Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, deinen Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass du es aus dem Dokument-Root-Verzeichnis des Webservers bewegst.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Einige Funktionen funktionieren möglicherweise nicht richtig. Daher wird empfohlen, diese Einstellung zu ändern.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "Der \"{header}\" HTTP-Header ist nicht gesetzt auf \"{val1}\", \"{val2}\", \"{val3}\" oder \"{val4}\". Dadurch können Verweis-Informationen preisgegeben werden. Siehe die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C-Empfehlung</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Der \"Strict-Transport-Security\" HTTP-Header ist nicht auf mindestens \"{seconds}\" Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Der Zugriff auf diese Site erfolgt über HTTP. Es wird dringend geraten, Ihren Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in den <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "Der \"{header}\" HTTP-Header ist nicht gesetzt auf \"{val1}\", \"{val2}\", \"{val3}\" oder \"{val4}\". Dadurch können Verweis-Informationen preisgegeben werden. Siehe die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C-Empfehlung</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "Der \"Strict-Transport-Security\" HTTP-Header ist nicht auf mindestens \"{seconds}\" Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Der Zugriff auf diese Site erfolgt über HTTP. Es wird dringend geraten, Ihren Server so zu konfigurieren, dass stattdessen nur HTTPS akzeptiert wird, wie es in den <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", "Shared" : "Geteilt", "Shared with" : "Geteilt mit", "Shared by" : "Geteilt von", @@ -354,6 +368,8 @@ "Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Für weitere Hilfen, schaue bitte in die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Dein PHP unterstützt Freetype nicht. Dies wird defekte Profilbilder und eine defekte Anzeige der Einstellungen verursachen.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Der \"Strict-Transport-Security\" HTTP-Header ist nicht auf mindestens \"{seconds}\" Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Der Zugriff auf diese Site erfolgt über HTTP. Es wird dringend geraten, Ihren Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in den <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", "Back to log in" : "Zur Anmeldung wechseln", "Depending on your configuration, this button could also work to trust the domain:" : "Abhängig von Deiner Konfiguration kann diese Schaltfläche verwandt werden, um die Domain als vertrauenswürdig einzustufen:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js index 5688e52733f..f3b04618f4e 100644 --- a/core/l10n/de_DE.js +++ b/core/l10n/de_DE.js @@ -111,6 +111,17 @@ OC.L10N.register( "Strong password" : "Starkes Passwort", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ihr Webserver ist noch nicht hinreichend für Datei-Synchronisation konfiguriert. Die WebDAV-Schnittstelle ist vermutlich defekt.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Ihr Webserver ist nicht richtig konfiguriert um \"{url}\" aufzulösen. Weitere Informationen hierzu finden Sie in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Installationsdokumentation ↗</a> auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Ihres Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Ihre Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Das PHP-Modul 'fileinfo' fehlt. Es empfiehlt sich dringend, das Modul zu aktivieren, um bestmögliche Ergebnisse bei der MIME-Datei-Typ-Erkennung zu erhalten. ", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name} ist in einer älteren Version als {version} installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere {name}-Version", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. Aktivieren Sie 'filelocking.enabled' in der config.php diese Probleme zu vermeiden. Weitere Informationen findest Sie in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation ↗</a>.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und Cron des Systems genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setzen Sie bitte die „overwrite.cli.url“-Option in Ihrer config.php auf das Web-Wurzelverzeichnis Ihrer Installation (Vorschlag: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: ", + "Last background job execution ran {relativeTime}. Something seems wrong." : "Letzte Cron-Job-Ausführung: {relativeTime}. Möglicherweise liegt ein Fehler vor.", + "Check the background job settings" : "Überprüfe Cron-Job Einstellungen", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Dieser Server hat keine funktionierende Internetverbindung: Mehrere Ziele konnten nicht erreicht werden. Dies bedeutet, dass einige Funktionen, wie das Einhängen exernen Speichers, Benachrichtigungen über Updates oder die Installation von Drittanbieter-Apps nicht funktionieren. Der Zugriff auf entfernte Dateien und das Senden von E-Mail-Benachrichtigungen wird wahrscheinlich ebenfalls nicht funktionieren. Um alle Funktionen nutzen zu können, stellen Sie bitte eine Internet-Verbindung für diesen Server her.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erhöhung der Leistungsfähigkeit kann ein Memory-Cache konfiguriert werden. Weitere Informationen finden Sie in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP hat keine Leserechte auf /dev/urandom wovon aus Sicherheitsgründen höchst abzuraten ist. Weitere Informationen sind in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a> zu finden.", @@ -123,13 +134,17 @@ OC.L10N.register( "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "Die PHP-Funktion \"set_time_limit\" ist nicht verfügbar. Dies kann in angehaltenen Scripten oder einer fehlerhaften Installation resultieren. Es wird dringend empfohlen, diese Funktion zu aktivieren.", "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Ihr PHP unterstützt Freetype nicht. Dies wird defekte Profilbilder und eine defekte Anzeige der Einstellungen verursachen.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Fehlender Index \"{indexName}\" in der Tabelle \"{tableName}\".", + "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen wird, wurden diese nicht automatisch erzeugt. Durch das Ausführen von \"ooc db:add-missing-indices\" können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Dies wird insbesondere bei der Benutzung des Desktop-Clients zur Synchronisierung empfohlen.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation ↗</a> schauen.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Ihren Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Sie es aus dem Document-Root-Verzeichnis des Webservers herausverschieben.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Einige Funktionen funktionieren möglicherweise nicht richtig. Daher wird empfohlen, diese Einstellung zu ändern.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "Der \"{header}\" HTTP-Header ist nicht gesetzt auf \"{val1}\", \"{val2}\", \"{val3}\" oder \"{val4}\". Dadurch können Verweis-Informationen preisgegeben werden. Siehe die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C-Empfehlung</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Der \"Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens \"{seconds}“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Der Zugriff auf diese Site erfolgt über HTTP. Es wird dringend geraten, den Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in den <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "Der \"{header}\" HTTP-Header ist nicht gesetzt auf \"{val1}\", \"{val2}\", \"{val3}\" oder \"{val4}\". Dadurch können Verweis-Informationen preisgegeben werden. Siehe die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C-Empfehlung</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "Der \"Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens \"{seconds}“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Der Zugriff auf diese Site erfolgt über HTTP. Es wird dringend geraten, den Server so zu konfigurieren, dass stattdessen nur HTTPS akzeptiert wird, wie es in den <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", "Shared" : "Geteilt", "Shared with" : "Geteilt mit", "Shared by" : "Geteilt von", @@ -355,6 +370,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Für weitere Hilfen, schauen Sie bitte in die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Ihr PHP unterstützt Freetype nicht. Dies wird defekte Profilbilder und eine defekte Anzeige der Einstellungen verursachen.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Der \"Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens \"{seconds}“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Der Zugriff auf diese Site erfolgt über HTTP. Es wird dringend geraten, den Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in den <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", "Back to log in" : "Zur Anmeldung wechseln", "Depending on your configuration, this button could also work to trust the domain:" : "Abhängig von Ihrer Konfiguration kann diese Schaltfläche verwandt werden, um die Domain als vertrauenswürdig einzustufen:" }, diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json index 943119099f2..b9a229607c7 100644 --- a/core/l10n/de_DE.json +++ b/core/l10n/de_DE.json @@ -109,6 +109,17 @@ "Strong password" : "Starkes Passwort", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ihr Webserver ist noch nicht hinreichend für Datei-Synchronisation konfiguriert. Die WebDAV-Schnittstelle ist vermutlich defekt.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Ihr Webserver ist nicht richtig konfiguriert um \"{url}\" aufzulösen. Weitere Informationen hierzu finden Sie in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Installationsdokumentation ↗</a> auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Ihres Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Ihre Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Das PHP-Modul 'fileinfo' fehlt. Es empfiehlt sich dringend, das Modul zu aktivieren, um bestmögliche Ergebnisse bei der MIME-Datei-Typ-Erkennung zu erhalten. ", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name} ist in einer älteren Version als {version} installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere {name}-Version", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. Aktivieren Sie 'filelocking.enabled' in der config.php diese Probleme zu vermeiden. Weitere Informationen findest Sie in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation ↗</a>.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und Cron des Systems genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setzen Sie bitte die „overwrite.cli.url“-Option in Ihrer config.php auf das Web-Wurzelverzeichnis Ihrer Installation (Vorschlag: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: ", + "Last background job execution ran {relativeTime}. Something seems wrong." : "Letzte Cron-Job-Ausführung: {relativeTime}. Möglicherweise liegt ein Fehler vor.", + "Check the background job settings" : "Überprüfe Cron-Job Einstellungen", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Dieser Server hat keine funktionierende Internetverbindung: Mehrere Ziele konnten nicht erreicht werden. Dies bedeutet, dass einige Funktionen, wie das Einhängen exernen Speichers, Benachrichtigungen über Updates oder die Installation von Drittanbieter-Apps nicht funktionieren. Der Zugriff auf entfernte Dateien und das Senden von E-Mail-Benachrichtigungen wird wahrscheinlich ebenfalls nicht funktionieren. Um alle Funktionen nutzen zu können, stellen Sie bitte eine Internet-Verbindung für diesen Server her.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erhöhung der Leistungsfähigkeit kann ein Memory-Cache konfiguriert werden. Weitere Informationen finden Sie in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP hat keine Leserechte auf /dev/urandom wovon aus Sicherheitsgründen höchst abzuraten ist. Weitere Informationen sind in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a> zu finden.", @@ -121,13 +132,17 @@ "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "Die PHP-Funktion \"set_time_limit\" ist nicht verfügbar. Dies kann in angehaltenen Scripten oder einer fehlerhaften Installation resultieren. Es wird dringend empfohlen, diese Funktion zu aktivieren.", "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Ihr PHP unterstützt Freetype nicht. Dies wird defekte Profilbilder und eine defekte Anzeige der Einstellungen verursachen.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Fehlender Index \"{indexName}\" in der Tabelle \"{tableName}\".", + "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen wird, wurden diese nicht automatisch erzeugt. Durch das Ausführen von \"ooc db:add-missing-indices\" können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Dies wird insbesondere bei der Benutzung des Desktop-Clients zur Synchronisierung empfohlen.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation ↗</a> schauen.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Ihren Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Sie es aus dem Document-Root-Verzeichnis des Webservers herausverschieben.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Einige Funktionen funktionieren möglicherweise nicht richtig. Daher wird empfohlen, diese Einstellung zu ändern.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "Der \"{header}\" HTTP-Header ist nicht gesetzt auf \"{val1}\", \"{val2}\", \"{val3}\" oder \"{val4}\". Dadurch können Verweis-Informationen preisgegeben werden. Siehe die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C-Empfehlung</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Der \"Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens \"{seconds}“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Der Zugriff auf diese Site erfolgt über HTTP. Es wird dringend geraten, den Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in den <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "Der \"{header}\" HTTP-Header ist nicht gesetzt auf \"{val1}\", \"{val2}\", \"{val3}\" oder \"{val4}\". Dadurch können Verweis-Informationen preisgegeben werden. Siehe die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C-Empfehlung</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "Der \"Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens \"{seconds}“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Der Zugriff auf diese Site erfolgt über HTTP. Es wird dringend geraten, den Server so zu konfigurieren, dass stattdessen nur HTTPS akzeptiert wird, wie es in den <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", "Shared" : "Geteilt", "Shared with" : "Geteilt mit", "Shared by" : "Geteilt von", @@ -353,6 +368,8 @@ "Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Für weitere Hilfen, schauen Sie bitte in die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Ihr PHP unterstützt Freetype nicht. Dies wird defekte Profilbilder und eine defekte Anzeige der Einstellungen verursachen.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Der \"Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens \"{seconds}“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Der Zugriff auf diese Site erfolgt über HTTP. Es wird dringend geraten, den Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in den <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", "Back to log in" : "Zur Anmeldung wechseln", "Depending on your configuration, this button could also work to trust the domain:" : "Abhängig von Ihrer Konfiguration kann diese Schaltfläche verwandt werden, um die Domain als vertrauenswürdig einzustufen:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/el.js b/core/l10n/el.js index 7510eca4611..c91b51ceac8 100644 --- a/core/l10n/el.js +++ b/core/l10n/el.js @@ -242,6 +242,8 @@ OC.L10N.register( "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Αυτή η εφαρμογή απαιτεί JavaScript για σωστή λειτουργία. Παρακαλώ {linkstart}ενεργοποιήστε τη JavaScrip{linkend} και φορτώστε ξανά τη σελίδα.", "More apps" : "Περισσότερες εφαρμογές", "Search" : "Αναζήτηση", + "Contacts" : "Επαφές", + "Contacts menu" : "Μενού επαφών", "Confirm your password" : "Επιβεβαίωση συνθηματικού", "Server side authentication failed!" : "Αποτυχημένη πιστοποίηση από πλευράς διακομιστή!", "Please contact your administrator." : "Παρακαλούμε επικοινωνήστε με τον διαχειριστή.", diff --git a/core/l10n/el.json b/core/l10n/el.json index 05e2af39dcf..8661fec7b2d 100644 --- a/core/l10n/el.json +++ b/core/l10n/el.json @@ -240,6 +240,8 @@ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Αυτή η εφαρμογή απαιτεί JavaScript για σωστή λειτουργία. Παρακαλώ {linkstart}ενεργοποιήστε τη JavaScrip{linkend} και φορτώστε ξανά τη σελίδα.", "More apps" : "Περισσότερες εφαρμογές", "Search" : "Αναζήτηση", + "Contacts" : "Επαφές", + "Contacts menu" : "Μενού επαφών", "Confirm your password" : "Επιβεβαίωση συνθηματικού", "Server side authentication failed!" : "Αποτυχημένη πιστοποίηση από πλευράς διακομιστή!", "Please contact your administrator." : "Παρακαλούμε επικοινωνήστε με τον διαχειριστή.", diff --git a/core/l10n/en_GB.js b/core/l10n/en_GB.js index 6d1bbeee18b..144e44fe620 100644 --- a/core/l10n/en_GB.js +++ b/core/l10n/en_GB.js @@ -128,9 +128,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accessing site insecurely via HTTP. You are strongly advised to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>.", "Shared" : "Shared", "Shared with" : "Shared with", "Shared by" : "Shared by", @@ -356,6 +353,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Add \"%s\" as a trusted domain", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accessing site insecurely via HTTP. You are strongly advised to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>.", "Back to log in" : "Back to log in", "Depending on your configuration, this button could also work to trust the domain:" : "Depending on your configuration, this button could also work to trust the domain:" }, diff --git a/core/l10n/en_GB.json b/core/l10n/en_GB.json index 440166cceb6..3e816229be2 100644 --- a/core/l10n/en_GB.json +++ b/core/l10n/en_GB.json @@ -126,9 +126,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accessing site insecurely via HTTP. You are strongly advised to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>.", "Shared" : "Shared", "Shared with" : "Shared with", "Shared by" : "Shared by", @@ -354,6 +351,8 @@ "Add \"%s\" as trusted domain" : "Add \"%s\" as a trusted domain", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accessing site insecurely via HTTP. You are strongly advised to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>.", "Back to log in" : "Back to log in", "Depending on your configuration, this button could also work to trust the domain:" : "Depending on your configuration, this button could also work to trust the domain:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/eo.js b/core/l10n/eo.js index 8f67f4a8599..429910fddbb 100644 --- a/core/l10n/eo.js +++ b/core/l10n/eo.js @@ -5,27 +5,37 @@ OC.L10N.register( "File is too big" : "Dosiero tro grandas.", "The selected file is not an image." : "La elektita dosiero ne estas bildo", "The selected file cannot be read." : "La elektita dosiero ne eblas legi", + "Invalid file provided" : "Nevalida dosiero donis", "No image or file provided" : "Neniu bildo aŭ dosiero donis", "Unknown filetype" : "Ne konatas dosiertipo", "Invalid image" : "Ne validas bildo", "An error occurred. Please contact your admin." : "Eraro okazis. Bonvolu kontakti vian administranton.", "Crop is not square" : "Sekco ne estas kvardrata", "Password reset is disabled" : "Pasvorto rekomenci malkapablas", + "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Ne eblas sendi retpoŝton ĉar ne estas retpoŝtadreso por ĉu tiu uzantonomo. Bonvolu kontakti vian administranton.", "%s password reset" : "%s pasvorton rekomenci", "Password reset" : "Rekomenci pasvorton", "Reset your password" : "Rekomenci vian pasvorton ", + "Couldn't send reset email. Please contact your administrator." : "Ne eblas sendi rekomencan retpoŝton. Bonvolu kontakti vian administranton.", "[%d / %d]: %s" : "[%d / %d]\\: %s ", "[%d / %d]: Checking table %s" : "[%d / %d]\\: kontrole tabelo %s ", "Updated database" : "Ĝisdatiĝis datumbazo", + "Checking updates of apps" : "Kontrolas ĝisdatigojn de aplikaĵoj", "Updated \"%s\" to %s" : "Ĝisdatiĝis “%s” al %s", + "Reset log level" : "Rekomenci nivelon de la protokolo", "%s (incompatible)" : "%s (nekongrua)", "Following apps have been disabled: %s" : "Jenaj aplikaĵoj malkapablas: %s", "Already up to date" : "Jam aktuala", + "Search contacts …" : "Serĉanti kontaktojn …", "No contacts found" : "Neniu kontakto troviĝis ", "Show all contacts …" : "Montri ĉiujn artikolojn kontaktojn", + "Could not load your contacts" : "Ne ŝargeblis viajn kontaktojn", + "Loading your contacts …" : "Ŝargas viajn kontaktojn …", + "No action available" : "Neniu ago disponebla", "Settings" : "Agordo", "Connection to server lost" : "Konekto al servilo perdita", "Saving..." : "Konservante...", + "Dismiss" : "Forsendi", "Authentication required" : "Aŭtentiĝo nepras", "This action requires you to confirm your password" : "Tiu ĉi ago bezonas ke vi konfirmas vian pasvorton", "Confirm" : "Konfirmi", @@ -76,6 +86,7 @@ OC.L10N.register( "Expiration" : "Eksvalidiĝo", "Expiration date" : "Limdato", "Choose a password for the public link" : "Elektu pasvorton por la publika ligilo", + "Copied!" : "Kopiinta!", "Not supported!" : "Ne subtenite!", "Press ⌘-C to copy." : "Premu ⌘-C por kopii", "Press Ctrl-C to copy." : "Premu Ctrl-C pro kopii.", @@ -87,14 +98,21 @@ OC.L10N.register( "Allow editing" : "Permesi redakton", "Email link to person" : "Retpoŝti la ligilon al ulo", "Send" : "Sendi", + "Allow upload and editing" : "Permesi alŝuton kaj redakton", + "Read only" : "Nurlega", "Shared with you and the group {group} by {owner}" : "Kunhavigita kun vi kaj la grupo {group} de {owner}", "Shared with you by {owner}" : "Kunhavigita kun vi de {owner}", "group" : "grupo", "remote" : "fora", + "email" : "retpoŝto", "shared by {sharer}" : "kunhavigis de {sharer}", "Unshare" : "Malkunhavigi", "Can reshare" : "Eblas rekunhavigi", + "Can edit" : "Povas redakti", + "Can create" : "Povas krei", "Can change" : "Eblas ŝanĝi", + "Can delete" : "Povas forigi", + "Access control" : "Alirkontrolo", "Could not unshare" : "Ne malkunhaveblas", "Error while sharing" : "Eraro dum kunhavigo", "Share details could not be loaded for this item." : "Kunhavaj detaloj ne ŝargeblis por ĉi tiu ero.", @@ -103,8 +121,12 @@ OC.L10N.register( "An error occurred. Please try again" : "Eraro okazis. Bonvolu provi ree", "{sharee} (group)" : "{sharee} (grupo)", "{sharee} (remote)" : "{sharee} (fora)", + "{sharee} (email)" : "{sharee} (email)", + "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Kunhavigi", "Name or email address..." : "Nomo aŭ retpoŝtadreso...", + "Name or federated cloud ID..." : "Namo aŭ federnuba identigilo...", + "Name, federated cloud ID or email address..." : "Nomo, federnuba identigilo aŭ retpoŝtadreso...", "Name..." : "Nomo...", "Error" : "Eraro", "Error removing share" : "Eraris forigo de kunhavigo", @@ -113,14 +135,17 @@ OC.L10N.register( "({scope})" : "({scope})", "Delete" : "Forigi", "Rename" : "Alinomigi", + "No tags found" : "Neniu etikedo troviĝis ", "unknown text" : "nekonata teksto", "Hello world!" : "Saluton, mondo!", "Hello {name}, the weather is {weather}" : "Saluton, {name}, la vetero estas {weather}", "Hello {name}" : "Saluton, {name}", "new" : "nova", "_download %n file_::_download %n files_" : ["elŝuti %n dosieron","elŝuti %n dosierojn"], + "Update to {version}" : "Ĝisdatigi al {version}", "An error occurred." : "Eraro okazis.", "Please reload the page." : "Bonvolu reŝargi la paĝon.", + "Continue to Nextcloud" : "Daŭri al Nextcloud", "Searching other places" : "Serĉante en aliaj lokoj", "Personal" : "Persona", "Users" : "Uzantoj", @@ -139,6 +164,7 @@ OC.L10N.register( "Message: %s" : "Mesaĝo: %s", "File: %s" : "Dosiero: %s", "Line: %s" : "Linio: %s", + "Trace" : "Paŭsi", "Security warning" : "Sekureca averto", "Create an <strong>admin account</strong>" : "Krei <strong>administran konton</strong>", "Username" : "Uzantonomo", @@ -146,11 +172,13 @@ OC.L10N.register( "Data folder" : "Datuma dosierujo", "Configure the database" : "Agordi la datumbazon", "Only %s is available." : "Nur %s disponeblas.", + "For more details check out the documentation." : "Por pli detaloj vidu la dokumentaron.", "Database user" : "Datumbaza uzanto", "Database password" : "Datumbaza pasvorto", "Database name" : "Datumbaza nomo", "Database tablespace" : "Datumbaza tabelospaco", "Database host" : "Datumbaza gastigo", + "Performance warning" : "Rendimenta averto", "SQLite will be used as database." : "SQLite uziĝos kiel datumbazo.", "For larger installations we recommend to choose a different database backend." : "Por pli grandaj instaloj ni rekomendas elekti malsaman datumbazomotoron.", "Finish setup" : "Fini la instalon", @@ -158,9 +186,13 @@ OC.L10N.register( "Need help?" : "Ĉu necesas helpo?", "See the documentation" : "Vidi la dokumentaron", "More apps" : "Pli aplikaĵoj", + "More apps menu" : "Menuo de pli aplikaĵoj", "Search" : "Serĉi", "Contacts" : "Kontaktoj", + "Contacts menu" : "Menuo de kontakto", + "Settings menu" : "Menuo de agordo", "Confirm your password" : "Konfirmas vian pasvorton", + "Server side authentication failed!" : "Servilo flanka aŭtentigo malsukcesis!", "Please contact your administrator." : "Bonvolu kontakti vian administranton.", "An internal error occurred." : "Ena servileraro okazis.", "Please try again or contact your administrator." : "Bonvolu provi ree aŭ kontakti vian administranton.", @@ -172,10 +204,15 @@ OC.L10N.register( "Alternative log in using app token" : "Alia ensaluti per apa ĵetono", "New password" : "Nova pasvorto", "New Password" : "Nova pasvorto", + "Two-factor authentication" : "du factora aŭtentiĝo", + "Cancel log in" : "Nuligi ensaluto", + "Use backup code" : "Uzi rezervan kodon", + "App update required" : "Aplikaĵon ĝisdatigi nepras", "%s will be updated to version %s" : "%s ĝisdatiĝos al eldono %s", "These apps will be updated:" : "Ĉi tiuj aplikaĵoj ĝisdatiĝos:", "These incompatible apps will be disabled:" : "Ĉi tiuj malkongruaj aplikaĵoj malkapabliĝos:", "Start update" : "Ekĝisdatigi", + "Detailed logs" : "Detalaj protokoloj", "Update needed" : "Bezonas ĝisdatigi", "For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Vidu la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumenton</a> por helpo.", "Thank you for your patience." : "Dankon pro via pacienco.", @@ -185,6 +222,8 @@ OC.L10N.register( "Stay logged in" : "Daŭri ensalutinta", "Alternative Logins" : "Alternativaj ensalutoj", "Alternative login using app token" : "Alia ensaluti per apa ĵetono", - "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Vidu la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumenton</a> por helpo." + "Add \"%s\" as trusted domain" : "Aldoni \"%s\" tiel fida retregiono", + "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Vidu la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumenton</a> por helpo.", + "Back to log in" : "Revenu al ensaluto" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/eo.json b/core/l10n/eo.json index 486ce206e69..89c78d4c92e 100644 --- a/core/l10n/eo.json +++ b/core/l10n/eo.json @@ -3,27 +3,37 @@ "File is too big" : "Dosiero tro grandas.", "The selected file is not an image." : "La elektita dosiero ne estas bildo", "The selected file cannot be read." : "La elektita dosiero ne eblas legi", + "Invalid file provided" : "Nevalida dosiero donis", "No image or file provided" : "Neniu bildo aŭ dosiero donis", "Unknown filetype" : "Ne konatas dosiertipo", "Invalid image" : "Ne validas bildo", "An error occurred. Please contact your admin." : "Eraro okazis. Bonvolu kontakti vian administranton.", "Crop is not square" : "Sekco ne estas kvardrata", "Password reset is disabled" : "Pasvorto rekomenci malkapablas", + "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Ne eblas sendi retpoŝton ĉar ne estas retpoŝtadreso por ĉu tiu uzantonomo. Bonvolu kontakti vian administranton.", "%s password reset" : "%s pasvorton rekomenci", "Password reset" : "Rekomenci pasvorton", "Reset your password" : "Rekomenci vian pasvorton ", + "Couldn't send reset email. Please contact your administrator." : "Ne eblas sendi rekomencan retpoŝton. Bonvolu kontakti vian administranton.", "[%d / %d]: %s" : "[%d / %d]\\: %s ", "[%d / %d]: Checking table %s" : "[%d / %d]\\: kontrole tabelo %s ", "Updated database" : "Ĝisdatiĝis datumbazo", + "Checking updates of apps" : "Kontrolas ĝisdatigojn de aplikaĵoj", "Updated \"%s\" to %s" : "Ĝisdatiĝis “%s” al %s", + "Reset log level" : "Rekomenci nivelon de la protokolo", "%s (incompatible)" : "%s (nekongrua)", "Following apps have been disabled: %s" : "Jenaj aplikaĵoj malkapablas: %s", "Already up to date" : "Jam aktuala", + "Search contacts …" : "Serĉanti kontaktojn …", "No contacts found" : "Neniu kontakto troviĝis ", "Show all contacts …" : "Montri ĉiujn artikolojn kontaktojn", + "Could not load your contacts" : "Ne ŝargeblis viajn kontaktojn", + "Loading your contacts …" : "Ŝargas viajn kontaktojn …", + "No action available" : "Neniu ago disponebla", "Settings" : "Agordo", "Connection to server lost" : "Konekto al servilo perdita", "Saving..." : "Konservante...", + "Dismiss" : "Forsendi", "Authentication required" : "Aŭtentiĝo nepras", "This action requires you to confirm your password" : "Tiu ĉi ago bezonas ke vi konfirmas vian pasvorton", "Confirm" : "Konfirmi", @@ -74,6 +84,7 @@ "Expiration" : "Eksvalidiĝo", "Expiration date" : "Limdato", "Choose a password for the public link" : "Elektu pasvorton por la publika ligilo", + "Copied!" : "Kopiinta!", "Not supported!" : "Ne subtenite!", "Press ⌘-C to copy." : "Premu ⌘-C por kopii", "Press Ctrl-C to copy." : "Premu Ctrl-C pro kopii.", @@ -85,14 +96,21 @@ "Allow editing" : "Permesi redakton", "Email link to person" : "Retpoŝti la ligilon al ulo", "Send" : "Sendi", + "Allow upload and editing" : "Permesi alŝuton kaj redakton", + "Read only" : "Nurlega", "Shared with you and the group {group} by {owner}" : "Kunhavigita kun vi kaj la grupo {group} de {owner}", "Shared with you by {owner}" : "Kunhavigita kun vi de {owner}", "group" : "grupo", "remote" : "fora", + "email" : "retpoŝto", "shared by {sharer}" : "kunhavigis de {sharer}", "Unshare" : "Malkunhavigi", "Can reshare" : "Eblas rekunhavigi", + "Can edit" : "Povas redakti", + "Can create" : "Povas krei", "Can change" : "Eblas ŝanĝi", + "Can delete" : "Povas forigi", + "Access control" : "Alirkontrolo", "Could not unshare" : "Ne malkunhaveblas", "Error while sharing" : "Eraro dum kunhavigo", "Share details could not be loaded for this item." : "Kunhavaj detaloj ne ŝargeblis por ĉi tiu ero.", @@ -101,8 +119,12 @@ "An error occurred. Please try again" : "Eraro okazis. Bonvolu provi ree", "{sharee} (group)" : "{sharee} (grupo)", "{sharee} (remote)" : "{sharee} (fora)", + "{sharee} (email)" : "{sharee} (email)", + "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Kunhavigi", "Name or email address..." : "Nomo aŭ retpoŝtadreso...", + "Name or federated cloud ID..." : "Namo aŭ federnuba identigilo...", + "Name, federated cloud ID or email address..." : "Nomo, federnuba identigilo aŭ retpoŝtadreso...", "Name..." : "Nomo...", "Error" : "Eraro", "Error removing share" : "Eraris forigo de kunhavigo", @@ -111,14 +133,17 @@ "({scope})" : "({scope})", "Delete" : "Forigi", "Rename" : "Alinomigi", + "No tags found" : "Neniu etikedo troviĝis ", "unknown text" : "nekonata teksto", "Hello world!" : "Saluton, mondo!", "Hello {name}, the weather is {weather}" : "Saluton, {name}, la vetero estas {weather}", "Hello {name}" : "Saluton, {name}", "new" : "nova", "_download %n file_::_download %n files_" : ["elŝuti %n dosieron","elŝuti %n dosierojn"], + "Update to {version}" : "Ĝisdatigi al {version}", "An error occurred." : "Eraro okazis.", "Please reload the page." : "Bonvolu reŝargi la paĝon.", + "Continue to Nextcloud" : "Daŭri al Nextcloud", "Searching other places" : "Serĉante en aliaj lokoj", "Personal" : "Persona", "Users" : "Uzantoj", @@ -137,6 +162,7 @@ "Message: %s" : "Mesaĝo: %s", "File: %s" : "Dosiero: %s", "Line: %s" : "Linio: %s", + "Trace" : "Paŭsi", "Security warning" : "Sekureca averto", "Create an <strong>admin account</strong>" : "Krei <strong>administran konton</strong>", "Username" : "Uzantonomo", @@ -144,11 +170,13 @@ "Data folder" : "Datuma dosierujo", "Configure the database" : "Agordi la datumbazon", "Only %s is available." : "Nur %s disponeblas.", + "For more details check out the documentation." : "Por pli detaloj vidu la dokumentaron.", "Database user" : "Datumbaza uzanto", "Database password" : "Datumbaza pasvorto", "Database name" : "Datumbaza nomo", "Database tablespace" : "Datumbaza tabelospaco", "Database host" : "Datumbaza gastigo", + "Performance warning" : "Rendimenta averto", "SQLite will be used as database." : "SQLite uziĝos kiel datumbazo.", "For larger installations we recommend to choose a different database backend." : "Por pli grandaj instaloj ni rekomendas elekti malsaman datumbazomotoron.", "Finish setup" : "Fini la instalon", @@ -156,9 +184,13 @@ "Need help?" : "Ĉu necesas helpo?", "See the documentation" : "Vidi la dokumentaron", "More apps" : "Pli aplikaĵoj", + "More apps menu" : "Menuo de pli aplikaĵoj", "Search" : "Serĉi", "Contacts" : "Kontaktoj", + "Contacts menu" : "Menuo de kontakto", + "Settings menu" : "Menuo de agordo", "Confirm your password" : "Konfirmas vian pasvorton", + "Server side authentication failed!" : "Servilo flanka aŭtentigo malsukcesis!", "Please contact your administrator." : "Bonvolu kontakti vian administranton.", "An internal error occurred." : "Ena servileraro okazis.", "Please try again or contact your administrator." : "Bonvolu provi ree aŭ kontakti vian administranton.", @@ -170,10 +202,15 @@ "Alternative log in using app token" : "Alia ensaluti per apa ĵetono", "New password" : "Nova pasvorto", "New Password" : "Nova pasvorto", + "Two-factor authentication" : "du factora aŭtentiĝo", + "Cancel log in" : "Nuligi ensaluto", + "Use backup code" : "Uzi rezervan kodon", + "App update required" : "Aplikaĵon ĝisdatigi nepras", "%s will be updated to version %s" : "%s ĝisdatiĝos al eldono %s", "These apps will be updated:" : "Ĉi tiuj aplikaĵoj ĝisdatiĝos:", "These incompatible apps will be disabled:" : "Ĉi tiuj malkongruaj aplikaĵoj malkapabliĝos:", "Start update" : "Ekĝisdatigi", + "Detailed logs" : "Detalaj protokoloj", "Update needed" : "Bezonas ĝisdatigi", "For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Vidu la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumenton</a> por helpo.", "Thank you for your patience." : "Dankon pro via pacienco.", @@ -183,6 +220,8 @@ "Stay logged in" : "Daŭri ensalutinta", "Alternative Logins" : "Alternativaj ensalutoj", "Alternative login using app token" : "Alia ensaluti per apa ĵetono", - "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Vidu la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumenton</a> por helpo." + "Add \"%s\" as trusted domain" : "Aldoni \"%s\" tiel fida retregiono", + "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Vidu la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumenton</a> por helpo.", + "Back to log in" : "Revenu al ensaluto" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/core/l10n/es.js b/core/l10n/es.js index 62296d4aea2..35d0a9f3ea8 100644 --- a/core/l10n/es.js +++ b/core/l10n/es.js @@ -111,6 +111,17 @@ OC.L10N.register( "Strong password" : "Contraseña muy buena", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Tu servidor web no está configurado correctamente para resolver \"{url}\". Se puede encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP parece no estar correctamente configurado para solicitar las variables de entorno de sistema. La prueba con getenv(\"PATH\") solo devuelve una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación de instalación ↗</a> para notas sobre la configuración de PHP y de tu servidor, especialmente al usar php-fpm.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Se ha activado la configuración de solo lectura. Esto evita cambiar ciertas configuraciones vía la interfaz web. Además, el archivo debe hacerse escribible de manera manual para cada actualización.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no funciona con el nivel de aislamiento de transacciones \"READ COMMITTED\". Esto puede causar problemas cuando se ejecutan en paralelo varias acciones.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Falta el módulo PHP \"fileinfo\". Se recomienda fervientemente activar este módulo para conseguir los mejores resultados con la detección de tipos MIME.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name} anterior a la versión {version} instalado. Por motivos de estabilidad y rendimiento, se recomienda actualizar a una nueva versión de {name}.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "El bloqueo transaccional de archivos está desactivado. Esto puede llevar a problemas con ciertas condiciones. Activa \"filelocking.enabled\" en config.php para evitar estos problemas. Ver la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación ↗</a> para más información.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Si tu instalación no está en la raíz del dominio y usa el cron del sistema, puede haber problemas con la generación de URL. PAra evitar estos problemas, por favor, configura la opción \"overwriter.cli.url\" en tu archivo config.php a la ruta de la raíz web de tu instalación (sugerencia: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No se ha podido ejecutar el trabajo cron vía CLI. Han aparecido los siguientes errores técnicos:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "La última ejecución del trabajo en segundo plano tuvo lugar en {relativeTime}. Algo parece estar mal.", + "Check the background job settings" : "Comprueba la configuración del trabajo en segundo plano", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "El servidor no tiene conexión a internet: no se ha podido alcanzar múltiples puntos finales. Esto significa que algunas de las características, como montar almacenamientos externos, notificaciones sobre actualizaciones o instalación de apps de terceras partes no funcionarán. Acceder remotamente a los archivos y enviar correos de notificación tampoco funcionará. Debes establecer una conexión del servidor a internet para disfrutar todas las características.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "No se ha configurado ninguna memoria caché. Para mejorar el rendimiento, por favor, configura memcache, si está disponible. Para más información, ve la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom, lo que está fuertemente desaconsejado por razones de seguridad. Se puede encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.", @@ -124,13 +135,16 @@ OC.L10N.register( "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Tu PHP no tiene soporte FreeType, lo que provoca una rotura en las imágenes de perfil y en la interfaz de los ajustes.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Índice perdido \"{indexName}\" en la tabla \"{tableName}\".", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "A la base de datos le faltan algunos índices. Debido al hecho de que añadir índices en tablas grandes puede llevar cierto tiempo, no se han añadido automáticamente. Se pueden añadir manualmente dichos índices perdidos mientras la instancia sigue funcionando si se ejecuta \"occ db:add-missing-indices\". Una vez se han añadido los índices, las consultas a esas tablas son normalmente mucho más rápidas.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente se está usando SQLite como base de datos. Para instalaciones más largas recomendamos cambiar a un motor de bases de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto está particularmente indicado si se usa el cliente de escritorio para la sincronización.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Para migrara a otra base d edatos, usa la herramienta de línea de comandos 'occ db:convert-type' o comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación ↗</a>.", "Error occurred while checking server setup" : "Ha ocurrido un error al revisar la configuración del servidor", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Tu directorio de datos y tus archivos son probablemente accesibles desde internet. El archivo .htaccess no funciona. Se recomienda encarecidamente que configures tu servidor web de tal manera que el directorio de datos no sea accesible, o que lo muevas fuera de la raíz de documentos del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "La cabecera HTTP \"{header}\" no está configurada como \"{expected}\". Esto es un riesgo potencial de seguridad o privacidad, y se recomienda ajustar esta configuración de forma adecuada.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "La cabecera HTTP \"{header}\" no está configurada como \"{expected}\". Algunas características podrían no funcionar correctamente, por lo que se recomienda ajustar esta configuración.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "La cabecera HTTP \"{header}\" no está configurada como \"{val1}\", \"{val2}\", \"{val3}\" o \"{val4}\". Esto puede filtrar información de referencia. Ver la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">recomendación del W3C</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{seconds}\". Para mejorar la seguridad, se recomienda activar HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accedes al sitio de forma insegura, vía HTTP. Se aconseja fuertemente configurar tu servidor para que requiera HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "La cabecera HTTP {header}\" no está configurada como \"{val1}\", \"{val2}\", \"{val3}\" o \"{val4}\". Esto puede filtrar información de referencia. Ver la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">recomendación del W3C ↗</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{seconds}\" segundos. Para mejorar la seguridad, se recomienda activar HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">trucos de seguridad ↗</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Se está accediendo al sitio de forma insegura vía HTTP. Se recomienda con fuerza configurar que el servidor requiera HTTPS, como se describe en los <a href=\"{docUrl}\">trucos de seguridad ↗</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -356,6 +370,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Añadir \"%s\" como dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, ver la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no tiene sooprte de freetype. Esto dará como resultado imágenes de perfil e interfaz de configuración rotas.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{seconds}\". Para mejorar la seguridad, se recomienda activar HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accedes al sitio de forma insegura, vía HTTP. Se aconseja fuertemente configurar tu servidor para que requiera HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Volver al registro", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón también podría servir para confiar en el dominio:" }, diff --git a/core/l10n/es.json b/core/l10n/es.json index 0ed53de2810..e384a8e5b63 100644 --- a/core/l10n/es.json +++ b/core/l10n/es.json @@ -109,6 +109,17 @@ "Strong password" : "Contraseña muy buena", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Tu servidor web no está configurado correctamente para resolver \"{url}\". Se puede encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP parece no estar correctamente configurado para solicitar las variables de entorno de sistema. La prueba con getenv(\"PATH\") solo devuelve una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación de instalación ↗</a> para notas sobre la configuración de PHP y de tu servidor, especialmente al usar php-fpm.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Se ha activado la configuración de solo lectura. Esto evita cambiar ciertas configuraciones vía la interfaz web. Además, el archivo debe hacerse escribible de manera manual para cada actualización.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no funciona con el nivel de aislamiento de transacciones \"READ COMMITTED\". Esto puede causar problemas cuando se ejecutan en paralelo varias acciones.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Falta el módulo PHP \"fileinfo\". Se recomienda fervientemente activar este módulo para conseguir los mejores resultados con la detección de tipos MIME.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name} anterior a la versión {version} instalado. Por motivos de estabilidad y rendimiento, se recomienda actualizar a una nueva versión de {name}.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "El bloqueo transaccional de archivos está desactivado. Esto puede llevar a problemas con ciertas condiciones. Activa \"filelocking.enabled\" en config.php para evitar estos problemas. Ver la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación ↗</a> para más información.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Si tu instalación no está en la raíz del dominio y usa el cron del sistema, puede haber problemas con la generación de URL. PAra evitar estos problemas, por favor, configura la opción \"overwriter.cli.url\" en tu archivo config.php a la ruta de la raíz web de tu instalación (sugerencia: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No se ha podido ejecutar el trabajo cron vía CLI. Han aparecido los siguientes errores técnicos:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "La última ejecución del trabajo en segundo plano tuvo lugar en {relativeTime}. Algo parece estar mal.", + "Check the background job settings" : "Comprueba la configuración del trabajo en segundo plano", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "El servidor no tiene conexión a internet: no se ha podido alcanzar múltiples puntos finales. Esto significa que algunas de las características, como montar almacenamientos externos, notificaciones sobre actualizaciones o instalación de apps de terceras partes no funcionarán. Acceder remotamente a los archivos y enviar correos de notificación tampoco funcionará. Debes establecer una conexión del servidor a internet para disfrutar todas las características.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "No se ha configurado ninguna memoria caché. Para mejorar el rendimiento, por favor, configura memcache, si está disponible. Para más información, ve la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom, lo que está fuertemente desaconsejado por razones de seguridad. Se puede encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.", @@ -122,13 +133,16 @@ "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Tu PHP no tiene soporte FreeType, lo que provoca una rotura en las imágenes de perfil y en la interfaz de los ajustes.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Índice perdido \"{indexName}\" en la tabla \"{tableName}\".", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "A la base de datos le faltan algunos índices. Debido al hecho de que añadir índices en tablas grandes puede llevar cierto tiempo, no se han añadido automáticamente. Se pueden añadir manualmente dichos índices perdidos mientras la instancia sigue funcionando si se ejecuta \"occ db:add-missing-indices\". Una vez se han añadido los índices, las consultas a esas tablas son normalmente mucho más rápidas.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente se está usando SQLite como base de datos. Para instalaciones más largas recomendamos cambiar a un motor de bases de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto está particularmente indicado si se usa el cliente de escritorio para la sincronización.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Para migrara a otra base d edatos, usa la herramienta de línea de comandos 'occ db:convert-type' o comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación ↗</a>.", "Error occurred while checking server setup" : "Ha ocurrido un error al revisar la configuración del servidor", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Tu directorio de datos y tus archivos son probablemente accesibles desde internet. El archivo .htaccess no funciona. Se recomienda encarecidamente que configures tu servidor web de tal manera que el directorio de datos no sea accesible, o que lo muevas fuera de la raíz de documentos del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "La cabecera HTTP \"{header}\" no está configurada como \"{expected}\". Esto es un riesgo potencial de seguridad o privacidad, y se recomienda ajustar esta configuración de forma adecuada.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "La cabecera HTTP \"{header}\" no está configurada como \"{expected}\". Algunas características podrían no funcionar correctamente, por lo que se recomienda ajustar esta configuración.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "La cabecera HTTP \"{header}\" no está configurada como \"{val1}\", \"{val2}\", \"{val3}\" o \"{val4}\". Esto puede filtrar información de referencia. Ver la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">recomendación del W3C</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{seconds}\". Para mejorar la seguridad, se recomienda activar HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accedes al sitio de forma insegura, vía HTTP. Se aconseja fuertemente configurar tu servidor para que requiera HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "La cabecera HTTP {header}\" no está configurada como \"{val1}\", \"{val2}\", \"{val3}\" o \"{val4}\". Esto puede filtrar información de referencia. Ver la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">recomendación del W3C ↗</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{seconds}\" segundos. Para mejorar la seguridad, se recomienda activar HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">trucos de seguridad ↗</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Se está accediendo al sitio de forma insegura vía HTTP. Se recomienda con fuerza configurar que el servidor requiera HTTPS, como se describe en los <a href=\"{docUrl}\">trucos de seguridad ↗</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -354,6 +368,8 @@ "Add \"%s\" as trusted domain" : "Añadir \"%s\" como dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, ver la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no tiene sooprte de freetype. Esto dará como resultado imágenes de perfil e interfaz de configuración rotas.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{seconds}\". Para mejorar la seguridad, se recomienda activar HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accedes al sitio de forma insegura, vía HTTP. Se aconseja fuertemente configurar tu servidor para que requiera HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Volver al registro", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón también podría servir para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_419.js b/core/l10n/es_419.js index 0afd27228ac..edc5bee456b 100644 --- a/core/l10n/es_419.js +++ b/core/l10n/es_419.js @@ -124,8 +124,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -311,6 +309,8 @@ OC.L10N.register( "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_419.json b/core/l10n/es_419.json index 4b39fd43049..b485aaece49 100644 --- a/core/l10n/es_419.json +++ b/core/l10n/es_419.json @@ -122,8 +122,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -309,6 +307,8 @@ "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_CL.js b/core/l10n/es_CL.js index 3f78d019e1c..18e9e8114c5 100644 --- a/core/l10n/es_CL.js +++ b/core/l10n/es_CL.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -353,6 +351,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_CL.json b/core/l10n/es_CL.json index 01cd376d844..e997025835c 100644 --- a/core/l10n/es_CL.json +++ b/core/l10n/es_CL.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -351,6 +349,8 @@ "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_CO.js b/core/l10n/es_CO.js index 3f78d019e1c..18e9e8114c5 100644 --- a/core/l10n/es_CO.js +++ b/core/l10n/es_CO.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -353,6 +351,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_CO.json b/core/l10n/es_CO.json index 01cd376d844..e997025835c 100644 --- a/core/l10n/es_CO.json +++ b/core/l10n/es_CO.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -351,6 +349,8 @@ "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_CR.js b/core/l10n/es_CR.js index 3f78d019e1c..18e9e8114c5 100644 --- a/core/l10n/es_CR.js +++ b/core/l10n/es_CR.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -353,6 +351,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_CR.json b/core/l10n/es_CR.json index 01cd376d844..e997025835c 100644 --- a/core/l10n/es_CR.json +++ b/core/l10n/es_CR.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -351,6 +349,8 @@ "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_DO.js b/core/l10n/es_DO.js index 3f78d019e1c..18e9e8114c5 100644 --- a/core/l10n/es_DO.js +++ b/core/l10n/es_DO.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -353,6 +351,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_DO.json b/core/l10n/es_DO.json index 01cd376d844..e997025835c 100644 --- a/core/l10n/es_DO.json +++ b/core/l10n/es_DO.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -351,6 +349,8 @@ "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_EC.js b/core/l10n/es_EC.js index 3f78d019e1c..18e9e8114c5 100644 --- a/core/l10n/es_EC.js +++ b/core/l10n/es_EC.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -353,6 +351,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_EC.json b/core/l10n/es_EC.json index 01cd376d844..e997025835c 100644 --- a/core/l10n/es_EC.json +++ b/core/l10n/es_EC.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -351,6 +349,8 @@ "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_GT.js b/core/l10n/es_GT.js index 3f78d019e1c..18e9e8114c5 100644 --- a/core/l10n/es_GT.js +++ b/core/l10n/es_GT.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -353,6 +351,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_GT.json b/core/l10n/es_GT.json index 01cd376d844..e997025835c 100644 --- a/core/l10n/es_GT.json +++ b/core/l10n/es_GT.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -351,6 +349,8 @@ "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_HN.js b/core/l10n/es_HN.js index 0afd27228ac..edc5bee456b 100644 --- a/core/l10n/es_HN.js +++ b/core/l10n/es_HN.js @@ -124,8 +124,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -311,6 +309,8 @@ OC.L10N.register( "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_HN.json b/core/l10n/es_HN.json index 4b39fd43049..b485aaece49 100644 --- a/core/l10n/es_HN.json +++ b/core/l10n/es_HN.json @@ -122,8 +122,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -309,6 +307,8 @@ "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_MX.js b/core/l10n/es_MX.js index 4c1bc3acfaa..25fa5d69167 100644 --- a/core/l10n/es_MX.js +++ b/core/l10n/es_MX.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -353,6 +351,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_MX.json b/core/l10n/es_MX.json index 7c9282d5c66..57816660ce6 100644 --- a/core/l10n/es_MX.json +++ b/core/l10n/es_MX.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -351,6 +349,8 @@ "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_NI.js b/core/l10n/es_NI.js index 0afd27228ac..edc5bee456b 100644 --- a/core/l10n/es_NI.js +++ b/core/l10n/es_NI.js @@ -124,8 +124,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -311,6 +309,8 @@ OC.L10N.register( "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_NI.json b/core/l10n/es_NI.json index 4b39fd43049..b485aaece49 100644 --- a/core/l10n/es_NI.json +++ b/core/l10n/es_NI.json @@ -122,8 +122,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -309,6 +307,8 @@ "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_PA.js b/core/l10n/es_PA.js index 0afd27228ac..edc5bee456b 100644 --- a/core/l10n/es_PA.js +++ b/core/l10n/es_PA.js @@ -124,8 +124,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -311,6 +309,8 @@ OC.L10N.register( "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_PA.json b/core/l10n/es_PA.json index 4b39fd43049..b485aaece49 100644 --- a/core/l10n/es_PA.json +++ b/core/l10n/es_PA.json @@ -122,8 +122,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -309,6 +307,8 @@ "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_PE.js b/core/l10n/es_PE.js index 0afd27228ac..edc5bee456b 100644 --- a/core/l10n/es_PE.js +++ b/core/l10n/es_PE.js @@ -124,8 +124,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -311,6 +309,8 @@ OC.L10N.register( "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_PE.json b/core/l10n/es_PE.json index 4b39fd43049..b485aaece49 100644 --- a/core/l10n/es_PE.json +++ b/core/l10n/es_PE.json @@ -122,8 +122,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -309,6 +307,8 @@ "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_PR.js b/core/l10n/es_PR.js index 0afd27228ac..edc5bee456b 100644 --- a/core/l10n/es_PR.js +++ b/core/l10n/es_PR.js @@ -124,8 +124,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -311,6 +309,8 @@ OC.L10N.register( "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_PR.json b/core/l10n/es_PR.json index 4b39fd43049..b485aaece49 100644 --- a/core/l10n/es_PR.json +++ b/core/l10n/es_PR.json @@ -122,8 +122,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -309,6 +307,8 @@ "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_PY.js b/core/l10n/es_PY.js index 0afd27228ac..edc5bee456b 100644 --- a/core/l10n/es_PY.js +++ b/core/l10n/es_PY.js @@ -124,8 +124,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -311,6 +309,8 @@ OC.L10N.register( "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_PY.json b/core/l10n/es_PY.json index 4b39fd43049..b485aaece49 100644 --- a/core/l10n/es_PY.json +++ b/core/l10n/es_PY.json @@ -122,8 +122,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -309,6 +307,8 @@ "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_SV.js b/core/l10n/es_SV.js index 3f78d019e1c..18e9e8114c5 100644 --- a/core/l10n/es_SV.js +++ b/core/l10n/es_SV.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -353,6 +351,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_SV.json b/core/l10n/es_SV.json index 01cd376d844..e997025835c 100644 --- a/core/l10n/es_SV.json +++ b/core/l10n/es_SV.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -351,6 +349,8 @@ "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_UY.js b/core/l10n/es_UY.js index 0afd27228ac..edc5bee456b 100644 --- a/core/l10n/es_UY.js +++ b/core/l10n/es_UY.js @@ -124,8 +124,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -311,6 +309,8 @@ OC.L10N.register( "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" }, diff --git a/core/l10n/es_UY.json b/core/l10n/es_UY.json index 4b39fd43049..b485aaece49 100644 --- a/core/l10n/es_UY.json +++ b/core/l10n/es_UY.json @@ -122,8 +122,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Probablemente tu directorio de datos y archivos sean accesibles desde Internet. El archivo .htaccess no está funcionando. Se recomienda ampliamente que configures tu servidor web para que el directorio de datos no sea accesible, o bien, que muevas el directorio de datos fuera del directorio raíz del servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" está establecido a \"{expected}\". Esto representa un riesgo potencial de seguridad o privacidad, y que se recomienda ajustar esta configuración. ", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "El encabezado HTTP \"{header}\" no está establecido a \"{expected}\". Puede que lgunas características no funcionen correctamente, y se recomienda ajustar esta confirguración. ", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared" : "Compartido", "Shared with" : "Compartido con", "Shared by" : "Compartido por", @@ -309,6 +307,8 @@ "Alternative Logins" : "Accesos Alternativos", "Alternative login using app token" : "Inicio de sesión alternativo usando la ficha de la aplicación", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.", "Back to log in" : "Regresar al inicio de sesión", "Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón podría funcionar también para confiar en el dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/fi.js b/core/l10n/fi.js index ca85d097e99..ca7dca478e9 100644 --- a/core/l10n/fi.js +++ b/core/l10n/fi.js @@ -123,8 +123,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Data-hakemisto ja tiedostot ovat luultavasti käytettävissä suoraan Internetistä. .htaccess-tiedosto ei toimi oikein. Suosittelemme määrittämään HTTP-palvelimen asetukset siten, ettei data-hakemisto ole suoraan käytettävissä Internetistä tai siirtämään data-hakemiston HTTP-palvelimen juurihakemiston ulkopuolelle.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-header \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Kyseessä on mahdollinen tietoturvaan tai -suojaan liittyvä riski, joten on suositeltavaa muuttaa asetuksen arvoa.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP-header \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Jotkin toiminnot eivät vättämättä toimi oikein, joten on suositeltavaa muuttaa asetuksen arvoa.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP-header \"Strict-Transport-Security\" ei ole määritelty vähintään \"{seconds}\" sekuntiin. Paremman tietoturvan vuoksi on suositeltavaa määritellä HSTS:n, kuten <a href=\"{docUrl}\" rel=\"noreferrer noopener\">tietoturvavinkeissä</a> neuvotaan.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Käytät sivustoa HTTP-yhteydellä. On suositeltavaa, että palvelin vaatiii HTTPS-yhteyden, kuten <a href=\"{docUrl}\">tietoturvavinkeissä</a> neuvotaan.", "Shared" : "Jaettu", "Shared with" : "Jaettu", "Shared by" : "Jaettu", @@ -342,6 +340,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Lisää \"%s\" luotetuksi verkkotunnukseksi", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Jos tarvitset apua, katso <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">ohjeista</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP:ssäsi ei ole freetype-tukea. Tämä johtaa rikkinäisiin profiilikuviin ja rikkinäiseen asetuskäyttöliittymään.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP-header \"Strict-Transport-Security\" ei ole määritelty vähintään \"{seconds}\" sekuntiin. Paremman tietoturvan vuoksi on suositeltavaa määritellä HSTS:n, kuten <a href=\"{docUrl}\" rel=\"noreferrer noopener\">tietoturvavinkeissä</a> neuvotaan.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Käytät sivustoa HTTP-yhteydellä. On suositeltavaa, että palvelin vaatiii HTTPS-yhteyden, kuten <a href=\"{docUrl}\">tietoturvavinkeissä</a> neuvotaan.", "Back to log in" : "Palaa kirjautumiseen", "Depending on your configuration, this button could also work to trust the domain:" : "Asetuksista riippuen, ylläpitäjänä saatat pystyä alla olevalla painikkeella lisäämään tämän verkkotunnuksen luotetuksi." }, diff --git a/core/l10n/fi.json b/core/l10n/fi.json index 2f4de1b109a..49666ecd88e 100644 --- a/core/l10n/fi.json +++ b/core/l10n/fi.json @@ -121,8 +121,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Data-hakemisto ja tiedostot ovat luultavasti käytettävissä suoraan Internetistä. .htaccess-tiedosto ei toimi oikein. Suosittelemme määrittämään HTTP-palvelimen asetukset siten, ettei data-hakemisto ole suoraan käytettävissä Internetistä tai siirtämään data-hakemiston HTTP-palvelimen juurihakemiston ulkopuolelle.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-header \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Kyseessä on mahdollinen tietoturvaan tai -suojaan liittyvä riski, joten on suositeltavaa muuttaa asetuksen arvoa.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP-header \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Jotkin toiminnot eivät vättämättä toimi oikein, joten on suositeltavaa muuttaa asetuksen arvoa.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP-header \"Strict-Transport-Security\" ei ole määritelty vähintään \"{seconds}\" sekuntiin. Paremman tietoturvan vuoksi on suositeltavaa määritellä HSTS:n, kuten <a href=\"{docUrl}\" rel=\"noreferrer noopener\">tietoturvavinkeissä</a> neuvotaan.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Käytät sivustoa HTTP-yhteydellä. On suositeltavaa, että palvelin vaatiii HTTPS-yhteyden, kuten <a href=\"{docUrl}\">tietoturvavinkeissä</a> neuvotaan.", "Shared" : "Jaettu", "Shared with" : "Jaettu", "Shared by" : "Jaettu", @@ -340,6 +338,8 @@ "Add \"%s\" as trusted domain" : "Lisää \"%s\" luotetuksi verkkotunnukseksi", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Jos tarvitset apua, katso <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">ohjeista</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP:ssäsi ei ole freetype-tukea. Tämä johtaa rikkinäisiin profiilikuviin ja rikkinäiseen asetuskäyttöliittymään.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP-header \"Strict-Transport-Security\" ei ole määritelty vähintään \"{seconds}\" sekuntiin. Paremman tietoturvan vuoksi on suositeltavaa määritellä HSTS:n, kuten <a href=\"{docUrl}\" rel=\"noreferrer noopener\">tietoturvavinkeissä</a> neuvotaan.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Käytät sivustoa HTTP-yhteydellä. On suositeltavaa, että palvelin vaatiii HTTPS-yhteyden, kuten <a href=\"{docUrl}\">tietoturvavinkeissä</a> neuvotaan.", "Back to log in" : "Palaa kirjautumiseen", "Depending on your configuration, this button could also work to trust the domain:" : "Asetuksista riippuen, ylläpitäjänä saatat pystyä alla olevalla painikkeella lisäämään tämän verkkotunnuksen luotetuksi." },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/fr.js b/core/l10n/fr.js index 9c041511d03..dd15727450c 100644 --- a/core/l10n/fr.js +++ b/core/l10n/fr.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou de le déplacer hors de la racine du serveur web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "L'en-tête HTTP \"{header}\" n'est pas configurée pour être égale à \"{expected}\". Ceci constitue un risque potentiel relatif à la sécurité et à la vie privée étant donné qu'il est recommandé d'ajuster ce paramètre.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "L'en-tête HTTP \"{header}\" n'est pas configurée pour être égale à \"{expected}\". Certaines fonctionnalités peuvent ne pas fonctionner correctement étant donné qu'il est recommandé d'ajuster ce paramètre.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à au moins \"{seconds}\" secondes. Pour renforcer la sécurité, nous recommandons d'activer HSTS comme décrit dans nos <a href=\"{docUrl}\" rel=\"noreferrer noopener\">conseils de sécurisation</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS, comme expliqué dans nos <a href=\"{docUrl}\">conseils de sécurisation</a>.", "Shared" : "Partagé", "Shared with" : "Partagé avec", "Shared by" : "Partagé par", @@ -353,6 +351,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Ajouter \"%s\" à la liste des domaines approuvés", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pour obtenir de l'aide, lisez la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Votre version de PHP n'est pas prise en charge par freetype. Cela se traduira par des images de profil et une interface des paramètres cassées.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à au moins \"{seconds}\" secondes. Pour renforcer la sécurité, nous recommandons d'activer HSTS comme décrit dans nos <a href=\"{docUrl}\" rel=\"noreferrer noopener\">conseils de sécurisation</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS, comme expliqué dans nos <a href=\"{docUrl}\">conseils de sécurisation</a>.", "Back to log in" : "Retour à la page de connexion", "Depending on your configuration, this button could also work to trust the domain:" : "En fonction de votre configuration, ce bouton peut aussi fonctionner pour approuver ce domaine :" }, diff --git a/core/l10n/fr.json b/core/l10n/fr.json index 1eee3687529..642236ee942 100644 --- a/core/l10n/fr.json +++ b/core/l10n/fr.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou de le déplacer hors de la racine du serveur web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "L'en-tête HTTP \"{header}\" n'est pas configurée pour être égale à \"{expected}\". Ceci constitue un risque potentiel relatif à la sécurité et à la vie privée étant donné qu'il est recommandé d'ajuster ce paramètre.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "L'en-tête HTTP \"{header}\" n'est pas configurée pour être égale à \"{expected}\". Certaines fonctionnalités peuvent ne pas fonctionner correctement étant donné qu'il est recommandé d'ajuster ce paramètre.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à au moins \"{seconds}\" secondes. Pour renforcer la sécurité, nous recommandons d'activer HSTS comme décrit dans nos <a href=\"{docUrl}\" rel=\"noreferrer noopener\">conseils de sécurisation</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS, comme expliqué dans nos <a href=\"{docUrl}\">conseils de sécurisation</a>.", "Shared" : "Partagé", "Shared with" : "Partagé avec", "Shared by" : "Partagé par", @@ -351,6 +349,8 @@ "Add \"%s\" as trusted domain" : "Ajouter \"%s\" à la liste des domaines approuvés", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pour obtenir de l'aide, lisez la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Votre version de PHP n'est pas prise en charge par freetype. Cela se traduira par des images de profil et une interface des paramètres cassées.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à au moins \"{seconds}\" secondes. Pour renforcer la sécurité, nous recommandons d'activer HSTS comme décrit dans nos <a href=\"{docUrl}\" rel=\"noreferrer noopener\">conseils de sécurisation</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS, comme expliqué dans nos <a href=\"{docUrl}\">conseils de sécurisation</a>.", "Back to log in" : "Retour à la page de connexion", "Depending on your configuration, this button could also work to trust the domain:" : "En fonction de votre configuration, ce bouton peut aussi fonctionner pour approuver ce domaine :" },"pluralForm" :"nplurals=2; plural=(n > 1);" diff --git a/core/l10n/he.js b/core/l10n/he.js index 70d699426d4..4bdaf174871 100644 --- a/core/l10n/he.js +++ b/core/l10n/he.js @@ -111,6 +111,17 @@ OC.L10N.register( "Strong password" : "ססמה חזקה", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "שרת האינטרנט לא מוגדר עדיין כראוי כדי לאפשר סנכרון קבצים, כיוון שמנשק ה־WebDAV כנראה אינו מתפקד.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "שרת האינטרנט שלך אינו מוגדר כראוי כדי לפתור את „{url}”. ניתן למצוא מידע נוסף ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "מסתבר כי PHP לא מוגדר כראוי כדי לתשאל משתני סביבה. הבדיקה עם getenv(\"PATH\") מחזירה תשובה ריקה בלבד.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "נא לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד למתקינים ↖️</a> להערות בנוגע להגדרות PHP והגדרות ה־PHP לשרת שלך, במיוחד אם נעשה שימוש ב־php-fpm.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "הופעלה תצורה לקריאה בלבד. מצב זה מונע את הגדרת חלק מההגדרות דרך מנשק דפדפן. יתרה מכך, יש להפוך את הקובץ למורשה לכתיבה ידנית בכל עדכון מחדש.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "מסד הנתונים שלך לא עובד עם רמת הפרדת פעולות של „READ COMMITTED” . מצב כזה יכול לגרום לבעיות כאשר מספר פעולות רצות במקביל.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "מודול ה־PHP בשם „fileinfo” חסר. מומלץ בחום להפעיל את המודול הזה כדי לקבל את התוצאות הטובות ביותר בזיהוי סוג MIME.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "ההתקנה של {name} היא בגרסה מתחת ל־{version}, מטעמי יציבות וביצועים מומלץ לעדכן לגרסה עדכנית יותר של {name}.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "נעילת קבצים מושבתת בזמן פעילות, מצב כזה יכול לגרום לתקלות במקרים של תחרות על משאב. יש להפעיל את „filelocking.enabled” ב־config.php כדי להתעלם מתקלות שכאלה. יש לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד ↖️</a> לקבלת מידע נוסף.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "אם המערכת שלך אינה מותקנת בשורש שם המתחם ומשתמשת ב־cron של המערכת, עשויות לצוץ תקלות עם יצירת כתובות. כדי להימנע מהתקלות האלו, נא להגדיר את האפשרות „overwrite.cli.url” בקובץ ה־config.php של נתיב שורש ההתקנה שלך (הצעה: „{suggestedOverwriteCliURL}”)", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "לא ניתן היה להפעיל את משימות ה־cron דרך שורת פקודה. השגיאות הטכניות הבאות התרחשו:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "משימת הרקע האחרונה פעלה במשך {relativeTime}. כנראה שמדובר בתקלה כלשהי.", + "Check the background job settings" : "בדיקת הגדרות משימות רקע", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "לשרת זה אין חיבור לאינטרנט: מגוון נקודות קצה אינן נגישות. משמעות הדבר היא שחלק מהתכונות כגון עיגון אחסון חיצוני, הודעות על עדכונים או התקנות של יישומי צד שלישי לא יעבדו. גישה לקבצים מרחוק ושליחת הודעות בדוא״ל לא יעבדו גם כן. אנו ממליצים להפעיל את החיבור של השרת הזה לאינטרנט כדי שתהיה אפשרות ליהנות מכל התכונות.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "לא הוגדר מטמון זיכרון. כדי לשפר את הביצועים, נא להגדיר מטמון זיכרון (memcache), אם ניתן. ניתן למצוא מידע נוסף ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "ל־PHP אין אפשרות לקרוא את /dev/urandom שזה מצב די מומלץ יחסית מטעמי אבטחה. ניתן למצוא מידע נוסף ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד</a>.", @@ -122,12 +133,18 @@ OC.L10N.register( "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "ה־OPcache של PHP אינו מוגדר כראוי. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">לשיפור הביצועים אנו ממליצים</a> להשתמש בהגדרות הבאות בקובץ <code>php.ini</code>:", "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "פונקציית ה־PHP „set_time_limit” אינה זמינה. מצב זה עשוי לגרום לעצירת סקריפטים באמצע הפעולה ולפגיעה בהתקנה שלך. אנו ממליצים בחום להפעיל את הפונקציה הזאת.", "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "ל־PHP שלך אין תמיכה ב־FreeType. מצב כזה יגרום לתמונות פרופיל משובשות לצד מנשק הגדרות משובש.", + "Missing index \"{indexName}\" in table \"{tableName}\"." : "חסר אינדקס „{indexName}” בטבלה „{tableName}”.", + "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "למסד הנתונים חסרים אינדקסים. כיוון שהוספת אינדקסים על טבלאות גדולות היא פעולה שגוזלת זמן רב הם לא נוספים אוטומטית. על ידי הרצת הפקודה „occ db:add-missing-indices” האינדקסים החסרים נוספים ידנית ללא עצירת פעולת העותק. לאחר הוספת האינדקסים השאילתות על הטבלאות האלה מהירות בהרבה.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite הוא מנגנון מסד הנתונים נכון לעכשיו. במערכות גדולות מוטב להחליף למנגנון מסד נתונים אחר.", + "This is particularly recommended when using the desktop client for file synchronisation." : "מצב זה מומלץ במיוחד כאשר מריצים את לקוח שולחן העבודה לסנכרון קבצים.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "כדי להגר למסד נתונים אחר יש להשתמש בכלי שורת הפקודה: ‚occ db:convert-type’, או לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד ↖️</a>.", "Error occurred while checking server setup" : "שגיאה אירעה בזמן בדיקת התקנת השרת", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "תיקיית הנתונים והקבצים שלך כנראה נגישים דרך האינטרנט. קובץ ה־.htaccess אינו עובד. מומלץ בחום להגדיר את השרת שלך כך שתיקיית הנתונים אינה נגישה עוד או לחלופין להעביר את תיקיית הנתונים אל מחוץ לתיקיית השורש של שירות אירוח האתרים.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "כותרת ה־HTTP „{header}” אינה מוגדרת לערך „{expected}”. מדובר בפרצת אבטחה או פרטיות, מומלץ להתאים את ההגדרה הזאת בהתאם.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "כותרת ה־HTTP „{header}” אינה מוגדרת לערך „{expected}”. יתכן שחלק מהתכונות לא תעבודנה כראוי, מומלץ להתאים את ההגדרה הזאת בהתאם.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "כותרת ה־HTTP בשם „Strict-Transport-Security” אינה מוגדרת עד לפחות „{seconds}” שניות. לטובת אבטחה מוגברת אנו ממליצים להפעיל HSTS כפי שמתואר ב<a href=\"{docUrl}\" rel=\"noreferrer noopener\">עצות האבטחה</a> שלנו.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "גישה לאתר באופן בלתי מאובטח דרך HTTP. המלצתנו היא להגדיר את השרת שלך כדי לדרוש חיבור HTTPS במקום, כפי שמתואר ב<a href=\"{docUrl}\">עצות האבטחה</a>.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "כותרת ה־HTTP „{header}” אינה מוגדרת לערכים „{val1}”, „{val2}”, „{val3}” או \"{val4}”. מצב כזה יכול לגרום לדליפת פרטי הפנייה. נא לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">המלצות ה־W3C ↖️</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "כותרת ה־HTTP בשם „Strict-Transport-Security” אינה מוגדרת עד לפחות „{seconds}” שניות. לטובת אבטחה מוגברת אנו ממליצים להפעיל HSTS כפי שמתואר ב<a href=\"{docUrl}\" rel=\"noreferrer noopener\">עצות האבטחה ↖️</a> שלנו.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "גישה בלתי מאובטחת לאתר עם HTTP. מומלץ בחום להגדיר את השרת שלך כדי לדרוש HTTPS במקום, כפי שמתואר ב<a href=\"{docUrl}\">עצות האבטחה ↖️</a>.", "Shared" : "שותף", "Shared with" : "משותף עם", "Shared by" : "שותף על ידי", @@ -353,6 +370,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "הוספת \"%s\" כשם מתחם / דומיין מהימן", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "לקבלת עזרה, יש לעיין ב<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">תיעוד</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "ל־PHP שלך אין תמיכה ב־freetype. מצב כזה יגרום לתמונות פרופיל משובשות לצד מנשק הגדרות משובש.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "כותרת ה־HTTP בשם „Strict-Transport-Security” אינה מוגדרת עד לפחות „{seconds}” שניות. לטובת אבטחה מוגברת אנו ממליצים להפעיל HSTS כפי שמתואר ב<a href=\"{docUrl}\" rel=\"noreferrer noopener\">עצות האבטחה</a> שלנו.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "גישה לאתר באופן בלתי מאובטח דרך HTTP. המלצתנו היא להגדיר את השרת שלך כדי לדרוש חיבור HTTPS במקום, כפי שמתואר ב<a href=\"{docUrl}\">עצות האבטחה</a>.", "Back to log in" : "חזרה לכניסה", "Depending on your configuration, this button could also work to trust the domain:" : "בהתאם לתצורה שלך, הכפתור הזה יכול לעבוד גם כדי לתת אמון בשם המתחם:" }, diff --git a/core/l10n/he.json b/core/l10n/he.json index d682ec62a03..da5d54cf621 100644 --- a/core/l10n/he.json +++ b/core/l10n/he.json @@ -109,6 +109,17 @@ "Strong password" : "ססמה חזקה", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "שרת האינטרנט לא מוגדר עדיין כראוי כדי לאפשר סנכרון קבצים, כיוון שמנשק ה־WebDAV כנראה אינו מתפקד.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "שרת האינטרנט שלך אינו מוגדר כראוי כדי לפתור את „{url}”. ניתן למצוא מידע נוסף ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "מסתבר כי PHP לא מוגדר כראוי כדי לתשאל משתני סביבה. הבדיקה עם getenv(\"PATH\") מחזירה תשובה ריקה בלבד.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "נא לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד למתקינים ↖️</a> להערות בנוגע להגדרות PHP והגדרות ה־PHP לשרת שלך, במיוחד אם נעשה שימוש ב־php-fpm.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "הופעלה תצורה לקריאה בלבד. מצב זה מונע את הגדרת חלק מההגדרות דרך מנשק דפדפן. יתרה מכך, יש להפוך את הקובץ למורשה לכתיבה ידנית בכל עדכון מחדש.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "מסד הנתונים שלך לא עובד עם רמת הפרדת פעולות של „READ COMMITTED” . מצב כזה יכול לגרום לבעיות כאשר מספר פעולות רצות במקביל.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "מודול ה־PHP בשם „fileinfo” חסר. מומלץ בחום להפעיל את המודול הזה כדי לקבל את התוצאות הטובות ביותר בזיהוי סוג MIME.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "ההתקנה של {name} היא בגרסה מתחת ל־{version}, מטעמי יציבות וביצועים מומלץ לעדכן לגרסה עדכנית יותר של {name}.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "נעילת קבצים מושבתת בזמן פעילות, מצב כזה יכול לגרום לתקלות במקרים של תחרות על משאב. יש להפעיל את „filelocking.enabled” ב־config.php כדי להתעלם מתקלות שכאלה. יש לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד ↖️</a> לקבלת מידע נוסף.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "אם המערכת שלך אינה מותקנת בשורש שם המתחם ומשתמשת ב־cron של המערכת, עשויות לצוץ תקלות עם יצירת כתובות. כדי להימנע מהתקלות האלו, נא להגדיר את האפשרות „overwrite.cli.url” בקובץ ה־config.php של נתיב שורש ההתקנה שלך (הצעה: „{suggestedOverwriteCliURL}”)", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "לא ניתן היה להפעיל את משימות ה־cron דרך שורת פקודה. השגיאות הטכניות הבאות התרחשו:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "משימת הרקע האחרונה פעלה במשך {relativeTime}. כנראה שמדובר בתקלה כלשהי.", + "Check the background job settings" : "בדיקת הגדרות משימות רקע", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "לשרת זה אין חיבור לאינטרנט: מגוון נקודות קצה אינן נגישות. משמעות הדבר היא שחלק מהתכונות כגון עיגון אחסון חיצוני, הודעות על עדכונים או התקנות של יישומי צד שלישי לא יעבדו. גישה לקבצים מרחוק ושליחת הודעות בדוא״ל לא יעבדו גם כן. אנו ממליצים להפעיל את החיבור של השרת הזה לאינטרנט כדי שתהיה אפשרות ליהנות מכל התכונות.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "לא הוגדר מטמון זיכרון. כדי לשפר את הביצועים, נא להגדיר מטמון זיכרון (memcache), אם ניתן. ניתן למצוא מידע נוסף ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "ל־PHP אין אפשרות לקרוא את /dev/urandom שזה מצב די מומלץ יחסית מטעמי אבטחה. ניתן למצוא מידע נוסף ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד</a>.", @@ -120,12 +131,18 @@ "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "ה־OPcache של PHP אינו מוגדר כראוי. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">לשיפור הביצועים אנו ממליצים</a> להשתמש בהגדרות הבאות בקובץ <code>php.ini</code>:", "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "פונקציית ה־PHP „set_time_limit” אינה זמינה. מצב זה עשוי לגרום לעצירת סקריפטים באמצע הפעולה ולפגיעה בהתקנה שלך. אנו ממליצים בחום להפעיל את הפונקציה הזאת.", "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "ל־PHP שלך אין תמיכה ב־FreeType. מצב כזה יגרום לתמונות פרופיל משובשות לצד מנשק הגדרות משובש.", + "Missing index \"{indexName}\" in table \"{tableName}\"." : "חסר אינדקס „{indexName}” בטבלה „{tableName}”.", + "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "למסד הנתונים חסרים אינדקסים. כיוון שהוספת אינדקסים על טבלאות גדולות היא פעולה שגוזלת זמן רב הם לא נוספים אוטומטית. על ידי הרצת הפקודה „occ db:add-missing-indices” האינדקסים החסרים נוספים ידנית ללא עצירת פעולת העותק. לאחר הוספת האינדקסים השאילתות על הטבלאות האלה מהירות בהרבה.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite הוא מנגנון מסד הנתונים נכון לעכשיו. במערכות גדולות מוטב להחליף למנגנון מסד נתונים אחר.", + "This is particularly recommended when using the desktop client for file synchronisation." : "מצב זה מומלץ במיוחד כאשר מריצים את לקוח שולחן העבודה לסנכרון קבצים.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "כדי להגר למסד נתונים אחר יש להשתמש בכלי שורת הפקודה: ‚occ db:convert-type’, או לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד ↖️</a>.", "Error occurred while checking server setup" : "שגיאה אירעה בזמן בדיקת התקנת השרת", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "תיקיית הנתונים והקבצים שלך כנראה נגישים דרך האינטרנט. קובץ ה־.htaccess אינו עובד. מומלץ בחום להגדיר את השרת שלך כך שתיקיית הנתונים אינה נגישה עוד או לחלופין להעביר את תיקיית הנתונים אל מחוץ לתיקיית השורש של שירות אירוח האתרים.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "כותרת ה־HTTP „{header}” אינה מוגדרת לערך „{expected}”. מדובר בפרצת אבטחה או פרטיות, מומלץ להתאים את ההגדרה הזאת בהתאם.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "כותרת ה־HTTP „{header}” אינה מוגדרת לערך „{expected}”. יתכן שחלק מהתכונות לא תעבודנה כראוי, מומלץ להתאים את ההגדרה הזאת בהתאם.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "כותרת ה־HTTP בשם „Strict-Transport-Security” אינה מוגדרת עד לפחות „{seconds}” שניות. לטובת אבטחה מוגברת אנו ממליצים להפעיל HSTS כפי שמתואר ב<a href=\"{docUrl}\" rel=\"noreferrer noopener\">עצות האבטחה</a> שלנו.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "גישה לאתר באופן בלתי מאובטח דרך HTTP. המלצתנו היא להגדיר את השרת שלך כדי לדרוש חיבור HTTPS במקום, כפי שמתואר ב<a href=\"{docUrl}\">עצות האבטחה</a>.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "כותרת ה־HTTP „{header}” אינה מוגדרת לערכים „{val1}”, „{val2}”, „{val3}” או \"{val4}”. מצב כזה יכול לגרום לדליפת פרטי הפנייה. נא לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">המלצות ה־W3C ↖️</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "כותרת ה־HTTP בשם „Strict-Transport-Security” אינה מוגדרת עד לפחות „{seconds}” שניות. לטובת אבטחה מוגברת אנו ממליצים להפעיל HSTS כפי שמתואר ב<a href=\"{docUrl}\" rel=\"noreferrer noopener\">עצות האבטחה ↖️</a> שלנו.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "גישה בלתי מאובטחת לאתר עם HTTP. מומלץ בחום להגדיר את השרת שלך כדי לדרוש HTTPS במקום, כפי שמתואר ב<a href=\"{docUrl}\">עצות האבטחה ↖️</a>.", "Shared" : "שותף", "Shared with" : "משותף עם", "Shared by" : "שותף על ידי", @@ -351,6 +368,8 @@ "Add \"%s\" as trusted domain" : "הוספת \"%s\" כשם מתחם / דומיין מהימן", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "לקבלת עזרה, יש לעיין ב<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">תיעוד</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "ל־PHP שלך אין תמיכה ב־freetype. מצב כזה יגרום לתמונות פרופיל משובשות לצד מנשק הגדרות משובש.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "כותרת ה־HTTP בשם „Strict-Transport-Security” אינה מוגדרת עד לפחות „{seconds}” שניות. לטובת אבטחה מוגברת אנו ממליצים להפעיל HSTS כפי שמתואר ב<a href=\"{docUrl}\" rel=\"noreferrer noopener\">עצות האבטחה</a> שלנו.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "גישה לאתר באופן בלתי מאובטח דרך HTTP. המלצתנו היא להגדיר את השרת שלך כדי לדרוש חיבור HTTPS במקום, כפי שמתואר ב<a href=\"{docUrl}\">עצות האבטחה</a>.", "Back to log in" : "חזרה לכניסה", "Depending on your configuration, this button could also work to trust the domain:" : "בהתאם לתצורה שלך, הכפתור הזה יכול לעבוד גם כדי לתת אמון בשם המתחם:" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" diff --git a/core/l10n/hu.js b/core/l10n/hu.js index 3d305d51a6d..e0872e97f17 100644 --- a/core/l10n/hu.js +++ b/core/l10n/hu.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Az adatmappád és fájljaid elérhetők az interneten. A .htaccess fájlod nem működik. Erősen javasolt, hogy a webszerveredet úgy állítsd be, hogy a mappa tartalma ne legyen közvetlenül elérhető, vagy mozgasd át a mappát a kiszolgálási területen kívülre.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "A \"{header}\" HTTP fejléc nincs beállítva, hogy megegyezzen az elvárttal \"{expected}\". Ez egy potenciális biztonsági és adatvédelmi kockázat. Kérjük, hogy változtassa meg a beállításokat.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "A \"{header}\" HTTP nem ezzel egyenlőre van beállítva \"{expected}\". Egyes szolgáltatások esetleg nem fognak megfelelően működni, javasoljuk az átállítását.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "A \"Strict-Transport-Security\" HTTP fejléc nincs legalább \"{seconds}\" másodpercre állítva. A fejlettebb védelem érdekében javasoljuk a HSTS engedélyezését a <a href=\"{docUrl}\" rel=\"noreferrer noopener\">biztonsági tippekben</a> leírtak szerint.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Jelenleg HTTP-vel éri el a weboldalt. Erősen ajánlott a HTTPS konfiguráció használata ehelyett, ahogyan ezt részleteztük a <a href=\"{docUrl}\">biztonsági tippek</a>ben", "Shared" : "Megosztott", "Shared with" : "Megosztva vele:", "Shared by" : "Megosztotta", @@ -344,6 +342,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Adjuk hozzá „%s”-t a megbízható domain nevekhez!", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Segítségért keresse fel a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentációt</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "A PHP-ból hiányzik a freetype támogatás. Ez a beállítási felület és a profilképek hibás megjelenítését okozhatja.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "A \"Strict-Transport-Security\" HTTP fejléc nincs legalább \"{seconds}\" másodpercre állítva. A fejlettebb védelem érdekében javasoljuk a HSTS engedélyezését a <a href=\"{docUrl}\" rel=\"noreferrer noopener\">biztonsági tippekben</a> leírtak szerint.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Jelenleg HTTP-vel éri el a weboldalt. Erősen ajánlott a HTTPS konfiguráció használata ehelyett, ahogyan ezt részleteztük a <a href=\"{docUrl}\">biztonsági tippek</a>ben", "Back to log in" : "Vissza a bejelentkezéshez", "Depending on your configuration, this button could also work to trust the domain:" : "Beállításoktól függően ez a gomb is működhet a domain megbízhatóvá tételében:" }, diff --git a/core/l10n/hu.json b/core/l10n/hu.json index 19a24fae0c0..1fa31b83524 100644 --- a/core/l10n/hu.json +++ b/core/l10n/hu.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Az adatmappád és fájljaid elérhetők az interneten. A .htaccess fájlod nem működik. Erősen javasolt, hogy a webszerveredet úgy állítsd be, hogy a mappa tartalma ne legyen közvetlenül elérhető, vagy mozgasd át a mappát a kiszolgálási területen kívülre.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "A \"{header}\" HTTP fejléc nincs beállítva, hogy megegyezzen az elvárttal \"{expected}\". Ez egy potenciális biztonsági és adatvédelmi kockázat. Kérjük, hogy változtassa meg a beállításokat.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "A \"{header}\" HTTP nem ezzel egyenlőre van beállítva \"{expected}\". Egyes szolgáltatások esetleg nem fognak megfelelően működni, javasoljuk az átállítását.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "A \"Strict-Transport-Security\" HTTP fejléc nincs legalább \"{seconds}\" másodpercre állítva. A fejlettebb védelem érdekében javasoljuk a HSTS engedélyezését a <a href=\"{docUrl}\" rel=\"noreferrer noopener\">biztonsági tippekben</a> leírtak szerint.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Jelenleg HTTP-vel éri el a weboldalt. Erősen ajánlott a HTTPS konfiguráció használata ehelyett, ahogyan ezt részleteztük a <a href=\"{docUrl}\">biztonsági tippek</a>ben", "Shared" : "Megosztott", "Shared with" : "Megosztva vele:", "Shared by" : "Megosztotta", @@ -342,6 +340,8 @@ "Add \"%s\" as trusted domain" : "Adjuk hozzá „%s”-t a megbízható domain nevekhez!", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Segítségért keresse fel a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentációt</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "A PHP-ból hiányzik a freetype támogatás. Ez a beállítási felület és a profilképek hibás megjelenítését okozhatja.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "A \"Strict-Transport-Security\" HTTP fejléc nincs legalább \"{seconds}\" másodpercre állítva. A fejlettebb védelem érdekében javasoljuk a HSTS engedélyezését a <a href=\"{docUrl}\" rel=\"noreferrer noopener\">biztonsági tippekben</a> leírtak szerint.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Jelenleg HTTP-vel éri el a weboldalt. Erősen ajánlott a HTTPS konfiguráció használata ehelyett, ahogyan ezt részleteztük a <a href=\"{docUrl}\">biztonsági tippek</a>ben", "Back to log in" : "Vissza a bejelentkezéshez", "Depending on your configuration, this button could also work to trust the domain:" : "Beállításoktól függően ez a gomb is működhet a domain megbízhatóvá tételében:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/is.js b/core/l10n/is.js index 2e77a8e3a09..d927d78b3a4 100644 --- a/core/l10n/is.js +++ b/core/l10n/is.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Gagnamappan og skrárnar þínar eru líklega aðgengilegar öllum af internetinu vegna þess að .htaccess skrá er ekki virk. Við mælum eindregið með að þú stillir vefþjóninn þinn á þann hátt að gagnamappa er ekki lengur aðgengileg eða þú færir gagnamöppu út fyrir skjalarót vefþjóns.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP-hausinn er ekki stilltur á \"{expected}\". Þetta er möguleg áhætta varðandi öryggi og gagnaleynd, við mælum með því að laga þessa stillingu.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP-hausinn er ekki stilltur á \"{expected}\". Einhverjir eiginleikar gætu virkað ekki rétt, við mælum með því að laga þessa stillingu.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP-hausinn er ekki stilltur á að minnsa kosti \"{seconds}\" sekúndur. Fyrir aukið öryggi mælum við með því að virkja HSTS eins og lýst er í <a href=\"{docUrl}\" rel=\"noreferrer noopener\">öryggisleiðbeiningum</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : " Þú ert að tengjast þessu vefsvæði með HTTP. Við mælum eindregið með að þú stillir þjóninn á að krefjast HTTPS í staðinn eins og lýst er í <a href=\"{docUrl}\">öryggisleiðbeiningunum</a> okkar.", "Shared" : "Deilt", "Shared with" : "Deilt með", "Shared by" : "Deilt af", @@ -353,6 +351,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Bæta við \"%s\" sem treystu léni", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Til að fá hjálp er best að skoða fyrst <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">hjálparskjölin</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP-uppsetningin er ekki með stuðning við 'freetype'. Þetta mun valda því að notendamyndir og stillingaviðmót virki ekki.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP-hausinn er ekki stilltur á að minnsa kosti \"{seconds}\" sekúndur. Fyrir aukið öryggi mælum við með því að virkja HSTS eins og lýst er í <a href=\"{docUrl}\" rel=\"noreferrer noopener\">öryggisleiðbeiningum</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : " Þú ert að tengjast þessu vefsvæði með HTTP. Við mælum eindregið með að þú stillir þjóninn á að krefjast HTTPS í staðinn eins og lýst er í <a href=\"{docUrl}\">öryggisleiðbeiningunum</a> okkar.", "Back to log in" : "Til baka í innskráningu", "Depending on your configuration, this button could also work to trust the domain:" : "Það fer eftir stillingunum þínum, þessi hnappur gæti einnig virkað til að treysta þessu léni." }, diff --git a/core/l10n/is.json b/core/l10n/is.json index b41cf51d24b..e07ac04f2d0 100644 --- a/core/l10n/is.json +++ b/core/l10n/is.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Gagnamappan og skrárnar þínar eru líklega aðgengilegar öllum af internetinu vegna þess að .htaccess skrá er ekki virk. Við mælum eindregið með að þú stillir vefþjóninn þinn á þann hátt að gagnamappa er ekki lengur aðgengileg eða þú færir gagnamöppu út fyrir skjalarót vefþjóns.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP-hausinn er ekki stilltur á \"{expected}\". Þetta er möguleg áhætta varðandi öryggi og gagnaleynd, við mælum með því að laga þessa stillingu.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP-hausinn er ekki stilltur á \"{expected}\". Einhverjir eiginleikar gætu virkað ekki rétt, við mælum með því að laga þessa stillingu.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP-hausinn er ekki stilltur á að minnsa kosti \"{seconds}\" sekúndur. Fyrir aukið öryggi mælum við með því að virkja HSTS eins og lýst er í <a href=\"{docUrl}\" rel=\"noreferrer noopener\">öryggisleiðbeiningum</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : " Þú ert að tengjast þessu vefsvæði með HTTP. Við mælum eindregið með að þú stillir þjóninn á að krefjast HTTPS í staðinn eins og lýst er í <a href=\"{docUrl}\">öryggisleiðbeiningunum</a> okkar.", "Shared" : "Deilt", "Shared with" : "Deilt með", "Shared by" : "Deilt af", @@ -351,6 +349,8 @@ "Add \"%s\" as trusted domain" : "Bæta við \"%s\" sem treystu léni", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Til að fá hjálp er best að skoða fyrst <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">hjálparskjölin</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP-uppsetningin er ekki með stuðning við 'freetype'. Þetta mun valda því að notendamyndir og stillingaviðmót virki ekki.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP-hausinn er ekki stilltur á að minnsa kosti \"{seconds}\" sekúndur. Fyrir aukið öryggi mælum við með því að virkja HSTS eins og lýst er í <a href=\"{docUrl}\" rel=\"noreferrer noopener\">öryggisleiðbeiningum</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : " Þú ert að tengjast þessu vefsvæði með HTTP. Við mælum eindregið með að þú stillir þjóninn á að krefjast HTTPS í staðinn eins og lýst er í <a href=\"{docUrl}\">öryggisleiðbeiningunum</a> okkar.", "Back to log in" : "Til baka í innskráningu", "Depending on your configuration, this button could also work to trust the domain:" : "Það fer eftir stillingunum þínum, þessi hnappur gæti einnig virkað til að treysta þessu léni." },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" diff --git a/core/l10n/it.js b/core/l10n/it.js index f4ea0e86035..98081eafb3e 100644 --- a/core/l10n/it.js +++ b/core/l10n/it.js @@ -111,6 +111,17 @@ OC.L10N.register( "Strong password" : "Password forte", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Il tuo server web non è configurato correttamente per consentire la sincronizzazione dei file, poiché l'interfaccia WebDAV sembra essere danneggiata.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Il tuo server web non è configurato correttamente per risolvere \"{url}\". Ulteriori informazioni sono disponibili nella <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controlla la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione di installazione ↗</a> per le note di configurazione di PHP e la configurazione PHP del tuo server, in particolare quando utilizzi php-fpm.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configurazione di sola lettura è stata abilitata. Ciò impedisce l'impostazione di alcune configurazioni tramite l'interfaccia web. Inoltre, i file devono essere resi scrivibili manualmente per ogni aggiornamento.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Il tuo database non è in esecuzione con il livello di isolamento delle transazioni \"READ COMMITTED\". Ciò può causare problemi quando diverse azioni sono eseguite in parallelo.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Il modulo PHP 'fileinfo' non è presente. Consigliamo vivamente di abilitare questo modulo per ottenere risultati migliori con il rilevamento dei tipi MIME.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "La versione di {name} installata è anteriore alla {version}, per motivi di stabilità e prestazioni, consigliamo di aggiornare a una versione di {name} più recente.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "Il blocco del file transazionale è disabilitato, ciò potrebbe comportare problemi di race condition. Abilita 'filelocking.enabled' nel config-php per evitare questi problemi. Vedi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione ↗</a> per ulteriori informazioni.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwrite.cli.url\" nel file config.php al percorso della radice del sito della tua installazione (suggerimento: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "L'ultima esecuzione dell'operazione in background è stata eseguita il {relativeTime}. Potrebbe esserci un problema.", + "Check the background job settings" : "Controlla le impostazioni dell'operazione in background", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Questo server non ha una connessione a Internet funzionante: diversi dispositivi finali non sono raggiungibili. Ciò significa che alcune delle funzionalità come il montaggio di archivi esterni, le notifiche degli aggiornamenti o l'installazione di applicazioni di terze parti non funzioneranno. L'accesso remoto ai file e l'invio di email di notifica potrebbero non funzionare. Abilita la connessione a Internet del server se desideri disporre di tutte le funzionalità.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Non è stata configurata alcuna cache di memoria. Per migliorare le prestazioni configura una memcache, se disponibile. Ulteriori informazioni sono disponibili nella <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom non è leggibile da PHP e ciò è vivamente sconsigliato per motivi di sicurezza. Ulteriori informazioni sono disponibili nella <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione</a>.", @@ -124,13 +135,16 @@ OC.L10N.register( "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "La tua versione di PHP non supporta FreeType. Ciò causerà problemi con le immagini dei profili e con l'interfaccia delle impostazioni.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Indice mancante \"{indexName}\" nella tabella \"{tableName}\".", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "Nel database mancano alcuni indici. Poiché l'aggiunta di indici su tabelle grandi può richiedere del tempo, non sono stati aggiunti automaticamente. Eseguendo \"occ db:add-missing-indices\", gli indici mancanti possono essere aggiunti manualmente mentre l'istanza è in esecuzione. Una volta che gli indici sono stati aggiunti, le interrogazioni a tali tabelle sono solitamente più veloci.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite è utilizzato attualmente come database. Per installazioni più grandi consigliamo di passare a un motore di database diverso.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Consigliato particolarmente quando si utilizza il client desktop per la sincronizzazione dei file.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Per migrare a un altro database, usa lo strumento da riga di comando: 'occ db:convert-type', o leggi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione ↗</a>.", "Error occurred while checking server setup" : "Si è verificato un errore durante il controllo della configurazione del server", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "La cartella dei dati e i tuoi file sono probabilmente accessibili da Internet. Il file .htaccess non funziona. Ti consigliamo vivamente di configurare il server web in modo che la cartella dei dati non sia più accessibile o di spostare la cartella fuori dalla radice del server web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "L'intestazione HTTP \"{header}\" non è configurata come \"{expected}\". \nQuesto è un potenziale rischio di sicurezza o di riservatezza, e noi consigliamo di modificare questa impostazione.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "L'intestazione HTTP \"{header}\" non è configurata come \"{expected}\". Alcune funzionalità potrebbero non funzionare correttamente e ti consigliamo di modificare questa impostazione.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "L'intestazione HTTP \"{header}\" non è impostata a \"{val1}\", \"{val2}\", \"{val3}\" o \"{val4}\". Ciò può far trapelare informazioni sul referer. Vedi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore di almeno \"{seconds}\" secondi. Per migliorare la sicurezza, consigliamo di abilitare HSTS come descritto nei <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consigli sulla sicurezza</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Sei connesso a questo sito tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere invece HTTPS, come descritto nei <a href=\"{docUrl}\">consigli sulla sicurezza</a>.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "L'intestazione HTTP \"{header}\" non è impostata a \"{val1}\", \"{val2}\", \"{val3}\" o \"{val4}\". Ciò può far trapelare informazioni sul referer. Vedi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore di almeno \"{seconds}\" secondi. Per migliorare la sicurezza, consigliamo di abilitare HSTS come descritto nei <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consigli sulla sicurezza ↗ </a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Sei connesso a questo sito tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere invece HTTPS, come descritto nei <a href=\"{docUrl}\">consigli sulla sicurezza ↗</a>.", "Shared" : "Condiviso", "Shared with" : "Condiviso con", "Shared by" : "Condiviso da", @@ -356,6 +370,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Aggiungi \"%s\" come dominio attendibile", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Per la guida, vedi la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentazione</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "La tua versione di PHP non ha il supporto freetype. Ciò causera problemi con le immagini dei profili e con l'interfaccia delle impostazioni.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore di almeno \"{seconds}\" secondi. Per migliorare la sicurezza, consigliamo di abilitare HSTS come descritto nei <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consigli sulla sicurezza</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Sei connesso a questo sito tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere invece HTTPS, come descritto nei <a href=\"{docUrl}\">consigli sulla sicurezza</a>.", "Back to log in" : "Torna alla schermata di accesso", "Depending on your configuration, this button could also work to trust the domain:" : "In base alla tua configurazione, questo pulsante può funzionare anche per rendere attendibile il dominio:" }, diff --git a/core/l10n/it.json b/core/l10n/it.json index 459e63c1f66..2b941bbe09b 100644 --- a/core/l10n/it.json +++ b/core/l10n/it.json @@ -109,6 +109,17 @@ "Strong password" : "Password forte", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Il tuo server web non è configurato correttamente per consentire la sincronizzazione dei file, poiché l'interfaccia WebDAV sembra essere danneggiata.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Il tuo server web non è configurato correttamente per risolvere \"{url}\". Ulteriori informazioni sono disponibili nella <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controlla la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione di installazione ↗</a> per le note di configurazione di PHP e la configurazione PHP del tuo server, in particolare quando utilizzi php-fpm.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configurazione di sola lettura è stata abilitata. Ciò impedisce l'impostazione di alcune configurazioni tramite l'interfaccia web. Inoltre, i file devono essere resi scrivibili manualmente per ogni aggiornamento.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Il tuo database non è in esecuzione con il livello di isolamento delle transazioni \"READ COMMITTED\". Ciò può causare problemi quando diverse azioni sono eseguite in parallelo.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Il modulo PHP 'fileinfo' non è presente. Consigliamo vivamente di abilitare questo modulo per ottenere risultati migliori con il rilevamento dei tipi MIME.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "La versione di {name} installata è anteriore alla {version}, per motivi di stabilità e prestazioni, consigliamo di aggiornare a una versione di {name} più recente.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "Il blocco del file transazionale è disabilitato, ciò potrebbe comportare problemi di race condition. Abilita 'filelocking.enabled' nel config-php per evitare questi problemi. Vedi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione ↗</a> per ulteriori informazioni.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwrite.cli.url\" nel file config.php al percorso della radice del sito della tua installazione (suggerimento: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "L'ultima esecuzione dell'operazione in background è stata eseguita il {relativeTime}. Potrebbe esserci un problema.", + "Check the background job settings" : "Controlla le impostazioni dell'operazione in background", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Questo server non ha una connessione a Internet funzionante: diversi dispositivi finali non sono raggiungibili. Ciò significa che alcune delle funzionalità come il montaggio di archivi esterni, le notifiche degli aggiornamenti o l'installazione di applicazioni di terze parti non funzioneranno. L'accesso remoto ai file e l'invio di email di notifica potrebbero non funzionare. Abilita la connessione a Internet del server se desideri disporre di tutte le funzionalità.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Non è stata configurata alcuna cache di memoria. Per migliorare le prestazioni configura una memcache, se disponibile. Ulteriori informazioni sono disponibili nella <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom non è leggibile da PHP e ciò è vivamente sconsigliato per motivi di sicurezza. Ulteriori informazioni sono disponibili nella <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione</a>.", @@ -122,13 +133,16 @@ "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "La tua versione di PHP non supporta FreeType. Ciò causerà problemi con le immagini dei profili e con l'interfaccia delle impostazioni.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Indice mancante \"{indexName}\" nella tabella \"{tableName}\".", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "Nel database mancano alcuni indici. Poiché l'aggiunta di indici su tabelle grandi può richiedere del tempo, non sono stati aggiunti automaticamente. Eseguendo \"occ db:add-missing-indices\", gli indici mancanti possono essere aggiunti manualmente mentre l'istanza è in esecuzione. Una volta che gli indici sono stati aggiunti, le interrogazioni a tali tabelle sono solitamente più veloci.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite è utilizzato attualmente come database. Per installazioni più grandi consigliamo di passare a un motore di database diverso.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Consigliato particolarmente quando si utilizza il client desktop per la sincronizzazione dei file.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Per migrare a un altro database, usa lo strumento da riga di comando: 'occ db:convert-type', o leggi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione ↗</a>.", "Error occurred while checking server setup" : "Si è verificato un errore durante il controllo della configurazione del server", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "La cartella dei dati e i tuoi file sono probabilmente accessibili da Internet. Il file .htaccess non funziona. Ti consigliamo vivamente di configurare il server web in modo che la cartella dei dati non sia più accessibile o di spostare la cartella fuori dalla radice del server web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "L'intestazione HTTP \"{header}\" non è configurata come \"{expected}\". \nQuesto è un potenziale rischio di sicurezza o di riservatezza, e noi consigliamo di modificare questa impostazione.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "L'intestazione HTTP \"{header}\" non è configurata come \"{expected}\". Alcune funzionalità potrebbero non funzionare correttamente e ti consigliamo di modificare questa impostazione.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "L'intestazione HTTP \"{header}\" non è impostata a \"{val1}\", \"{val2}\", \"{val3}\" o \"{val4}\". Ciò può far trapelare informazioni sul referer. Vedi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore di almeno \"{seconds}\" secondi. Per migliorare la sicurezza, consigliamo di abilitare HSTS come descritto nei <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consigli sulla sicurezza</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Sei connesso a questo sito tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere invece HTTPS, come descritto nei <a href=\"{docUrl}\">consigli sulla sicurezza</a>.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "L'intestazione HTTP \"{header}\" non è impostata a \"{val1}\", \"{val2}\", \"{val3}\" o \"{val4}\". Ciò può far trapelare informazioni sul referer. Vedi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore di almeno \"{seconds}\" secondi. Per migliorare la sicurezza, consigliamo di abilitare HSTS come descritto nei <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consigli sulla sicurezza ↗ </a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Sei connesso a questo sito tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere invece HTTPS, come descritto nei <a href=\"{docUrl}\">consigli sulla sicurezza ↗</a>.", "Shared" : "Condiviso", "Shared with" : "Condiviso con", "Shared by" : "Condiviso da", @@ -354,6 +368,8 @@ "Add \"%s\" as trusted domain" : "Aggiungi \"%s\" come dominio attendibile", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Per la guida, vedi la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentazione</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "La tua versione di PHP non ha il supporto freetype. Ciò causera problemi con le immagini dei profili e con l'interfaccia delle impostazioni.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore di almeno \"{seconds}\" secondi. Per migliorare la sicurezza, consigliamo di abilitare HSTS come descritto nei <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consigli sulla sicurezza</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Sei connesso a questo sito tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere invece HTTPS, come descritto nei <a href=\"{docUrl}\">consigli sulla sicurezza</a>.", "Back to log in" : "Torna alla schermata di accesso", "Depending on your configuration, this button could also work to trust the domain:" : "In base alla tua configurazione, questo pulsante può funzionare anche per rendere attendibile il dominio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/ja.js b/core/l10n/ja.js index 06daf85e23d..8dbf33adaab 100644 --- a/core/l10n/ja.js +++ b/core/l10n/ja.js @@ -6,7 +6,7 @@ OC.L10N.register( "The selected file is not an image." : "選択されたファイルは画像ではありません", "The selected file cannot be read." : "選択されたファイルを読込みできませんでした", "Invalid file provided" : "無効なファイルが提供されました", - "No image or file provided" : "画像もしくはファイルが提供されていません", + "No image or file provided" : "画像またはファイルが提供されていません", "Unknown filetype" : "不明なファイルタイプ", "Invalid image" : "無効な画像", "An error occurred. Please contact your admin." : "エラーが発生しました。管理者に連絡してください。", @@ -63,7 +63,7 @@ OC.L10N.register( "No action available" : "操作できません", "Error fetching contact actions" : "連絡先操作取得エラー", "Settings" : "設定", - "Connection to server lost" : "サーバとの接続が切断されました", + "Connection to server lost" : "サーバーとの接続が切断されました", "_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["ページ読込に問題がありました。%n秒後に再読込します"], "Saving..." : "保存中...", "Dismiss" : "閉じる", @@ -128,7 +128,6 @@ OC.L10N.register( "Link" : "リンク", "Password protect" : "パスワード保護を有効化", "Allow editing" : "編集を許可", - "Email link to person" : "メールリンク", "Send" : "送信", "Allow upload and editing" : "アップロードと編集を許可する", "Read only" : "読み取り専用", @@ -246,7 +245,7 @@ OC.L10N.register( "Please contact your administrator." : "管理者に問い合わせてください。", "An internal error occurred." : "内部エラーが発生しました。", "Please try again or contact your administrator." : "もう一度試してみるか、管理者に問い合わせてください。", - "Username or email" : "ユーザ名かメールアドレス", + "Username or email" : "ユーザー名またはメールアドレス", "Log in" : "ログイン", "Wrong password." : "パスワードが間違っています。", "Forgot password?" : "パスワードをお忘れですか?", @@ -276,7 +275,7 @@ OC.L10N.register( "Upgrade via web on my own risk" : "危険性を理解した上でWeb画面からアップグレード", "This %s instance is currently in maintenance mode, which may take a while." : "このサーバー %s は現在メンテナンスモードです。しばらくお待ちください。", "This page will refresh itself when the %s instance is available again." : "この画面は、サーバー %s の再起動後に自動的に更新されます。", - "Contact your system administrator if this message persists or appeared unexpectedly." : "このメッセージが引き続きもしくは予期せず現れる場合は、システム管理者に問い合わせてください。", + "Contact your system administrator if this message persists or appeared unexpectedly." : "このメッセージが引き続き、または予期せず現れる場合は、システム管理者に問い合わせてください。", "Thank you for your patience." : "しばらくお待ちください。", "Share with other people by entering a user or group, a federated cloud ID or an email address." : "ユーザー名、グループ、クラウド統合ID、メールアドレスで共有", "Share with other people by entering a user or group or a federated cloud ID." : "ユーザー名、グループ、クラウド統合IDで共有", diff --git a/core/l10n/ja.json b/core/l10n/ja.json index 3fd72162a1a..ea632623698 100644 --- a/core/l10n/ja.json +++ b/core/l10n/ja.json @@ -4,7 +4,7 @@ "The selected file is not an image." : "選択されたファイルは画像ではありません", "The selected file cannot be read." : "選択されたファイルを読込みできませんでした", "Invalid file provided" : "無効なファイルが提供されました", - "No image or file provided" : "画像もしくはファイルが提供されていません", + "No image or file provided" : "画像またはファイルが提供されていません", "Unknown filetype" : "不明なファイルタイプ", "Invalid image" : "無効な画像", "An error occurred. Please contact your admin." : "エラーが発生しました。管理者に連絡してください。", @@ -61,7 +61,7 @@ "No action available" : "操作できません", "Error fetching contact actions" : "連絡先操作取得エラー", "Settings" : "設定", - "Connection to server lost" : "サーバとの接続が切断されました", + "Connection to server lost" : "サーバーとの接続が切断されました", "_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["ページ読込に問題がありました。%n秒後に再読込します"], "Saving..." : "保存中...", "Dismiss" : "閉じる", @@ -126,7 +126,6 @@ "Link" : "リンク", "Password protect" : "パスワード保護を有効化", "Allow editing" : "編集を許可", - "Email link to person" : "メールリンク", "Send" : "送信", "Allow upload and editing" : "アップロードと編集を許可する", "Read only" : "読み取り専用", @@ -244,7 +243,7 @@ "Please contact your administrator." : "管理者に問い合わせてください。", "An internal error occurred." : "内部エラーが発生しました。", "Please try again or contact your administrator." : "もう一度試してみるか、管理者に問い合わせてください。", - "Username or email" : "ユーザ名かメールアドレス", + "Username or email" : "ユーザー名またはメールアドレス", "Log in" : "ログイン", "Wrong password." : "パスワードが間違っています。", "Forgot password?" : "パスワードをお忘れですか?", @@ -274,7 +273,7 @@ "Upgrade via web on my own risk" : "危険性を理解した上でWeb画面からアップグレード", "This %s instance is currently in maintenance mode, which may take a while." : "このサーバー %s は現在メンテナンスモードです。しばらくお待ちください。", "This page will refresh itself when the %s instance is available again." : "この画面は、サーバー %s の再起動後に自動的に更新されます。", - "Contact your system administrator if this message persists or appeared unexpectedly." : "このメッセージが引き続きもしくは予期せず現れる場合は、システム管理者に問い合わせてください。", + "Contact your system administrator if this message persists or appeared unexpectedly." : "このメッセージが引き続き、または予期せず現れる場合は、システム管理者に問い合わせてください。", "Thank you for your patience." : "しばらくお待ちください。", "Share with other people by entering a user or group, a federated cloud ID or an email address." : "ユーザー名、グループ、クラウド統合ID、メールアドレスで共有", "Share with other people by entering a user or group or a federated cloud ID." : "ユーザー名、グループ、クラウド統合IDで共有", diff --git a/core/l10n/ka_GE.js b/core/l10n/ka_GE.js index c6aeb83b838..566c5d9220c 100644 --- a/core/l10n/ka_GE.js +++ b/core/l10n/ka_GE.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "თქვენი data დირექტორია და ფაილები ალბათ წვდომადია ინტერნეტიდან. .htaccess ფაილი არ მუშაობს. მკაცრად რეკომენდირებულია ისე გაუწიოთ თქვენს ვებ-სერვერს კონფიგურაცია, რომ data დირექტორია აღარ იყოს წვდომადი, ან გაიტანოთ ის ვებ-სერვერის root დირექტორიიდან.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP დასათაურება \"{header}\" არაა კონფიგურირებული უტოლდებოდეს \"{expected}\"-ს. ეს პოტენციური უსაფრთხოების და კონფიდენციალურობის რისკია, რეკომენდირებულია ამ პარამეტრის გამოსწორება.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP დასათაურება \"{header}\" არაა კონფიგურირებული უტოლდებოდეს \"{expected}\"-ს. ზოგიერთმა ფუნქციამ შეიძლება არ იმუშაოს სწორად და რეკომენდირებულია ამ პარამეტრის რეგულაცია.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP დასათაურება არაა კონფიგურირებული \"{seconds}\" წამამდე მაინც. გაუმჯობესებული თავდაცვის მიზნებისთვის რეკომენდირებულია ჩართოთ HSTS როგორც აღწერილია <a href=\"{docUrl}\" rel=\"noreferrer noopener\">თავდაცვის რეკომენდაციებში</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "საიტს უკავშირდებით HTTP-თი. მტკიცედ გირჩევთ გაუწიოთ სერვერს კონფიგურაცია, ისე რომ გამოიყენოთ HTTPS, როგორც აღწერილია<a href=\"{docUrl}\">თავდაცვის რეკომენდაციებში</a>.", "Shared" : "გაზიარებული", "Shared with" : "გაზიარებულია", "Shared by" : "გამზიარებელი", @@ -343,6 +341,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "დაამატეთ \"%s\" როგორც სანდო დომენი", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "დახმარებისთვის იხილეთ <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">დოკუმენტაცია</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "თქვენს PHP-ს არ აქვს freetype-ის მხარდაჭერა. ეს გამოწვევს დარღვეულ პროფილის სურათებს და მომხმარებლის ინტერფეისს.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP დასათაურება არაა კონფიგურირებული \"{seconds}\" წამამდე მაინც. გაუმჯობესებული თავდაცვის მიზნებისთვის რეკომენდირებულია ჩართოთ HSTS როგორც აღწერილია <a href=\"{docUrl}\" rel=\"noreferrer noopener\">თავდაცვის რეკომენდაციებში</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "საიტს უკავშირდებით HTTP-თი. მტკიცედ გირჩევთ გაუწიოთ სერვერს კონფიგურაცია, ისე რომ გამოიყენოთ HTTPS, როგორც აღწერილია<a href=\"{docUrl}\">თავდაცვის რეკომენდაციებში</a>.", "Back to log in" : "უკან ავტორიზაციისკენ", "Depending on your configuration, this button could also work to trust the domain:" : "თქვენი კონფიგურაციიდან გამომდინარე, ეს ღილაკი დომენის ნდობისთვის შეიძლება ასევე მუშაობდეს." }, diff --git a/core/l10n/ka_GE.json b/core/l10n/ka_GE.json index a29d4cd8925..df9f583b497 100644 --- a/core/l10n/ka_GE.json +++ b/core/l10n/ka_GE.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "თქვენი data დირექტორია და ფაილები ალბათ წვდომადია ინტერნეტიდან. .htaccess ფაილი არ მუშაობს. მკაცრად რეკომენდირებულია ისე გაუწიოთ თქვენს ვებ-სერვერს კონფიგურაცია, რომ data დირექტორია აღარ იყოს წვდომადი, ან გაიტანოთ ის ვებ-სერვერის root დირექტორიიდან.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP დასათაურება \"{header}\" არაა კონფიგურირებული უტოლდებოდეს \"{expected}\"-ს. ეს პოტენციური უსაფრთხოების და კონფიდენციალურობის რისკია, რეკომენდირებულია ამ პარამეტრის გამოსწორება.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP დასათაურება \"{header}\" არაა კონფიგურირებული უტოლდებოდეს \"{expected}\"-ს. ზოგიერთმა ფუნქციამ შეიძლება არ იმუშაოს სწორად და რეკომენდირებულია ამ პარამეტრის რეგულაცია.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP დასათაურება არაა კონფიგურირებული \"{seconds}\" წამამდე მაინც. გაუმჯობესებული თავდაცვის მიზნებისთვის რეკომენდირებულია ჩართოთ HSTS როგორც აღწერილია <a href=\"{docUrl}\" rel=\"noreferrer noopener\">თავდაცვის რეკომენდაციებში</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "საიტს უკავშირდებით HTTP-თი. მტკიცედ გირჩევთ გაუწიოთ სერვერს კონფიგურაცია, ისე რომ გამოიყენოთ HTTPS, როგორც აღწერილია<a href=\"{docUrl}\">თავდაცვის რეკომენდაციებში</a>.", "Shared" : "გაზიარებული", "Shared with" : "გაზიარებულია", "Shared by" : "გამზიარებელი", @@ -341,6 +339,8 @@ "Add \"%s\" as trusted domain" : "დაამატეთ \"%s\" როგორც სანდო დომენი", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "დახმარებისთვის იხილეთ <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">დოკუმენტაცია</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "თქვენს PHP-ს არ აქვს freetype-ის მხარდაჭერა. ეს გამოწვევს დარღვეულ პროფილის სურათებს და მომხმარებლის ინტერფეისს.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP დასათაურება არაა კონფიგურირებული \"{seconds}\" წამამდე მაინც. გაუმჯობესებული თავდაცვის მიზნებისთვის რეკომენდირებულია ჩართოთ HSTS როგორც აღწერილია <a href=\"{docUrl}\" rel=\"noreferrer noopener\">თავდაცვის რეკომენდაციებში</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "საიტს უკავშირდებით HTTP-თი. მტკიცედ გირჩევთ გაუწიოთ სერვერს კონფიგურაცია, ისე რომ გამოიყენოთ HTTPS, როგორც აღწერილია<a href=\"{docUrl}\">თავდაცვის რეკომენდაციებში</a>.", "Back to log in" : "უკან ავტორიზაციისკენ", "Depending on your configuration, this button could also work to trust the domain:" : "თქვენი კონფიგურაციიდან გამომდინარე, ეს ღილაკი დომენის ნდობისთვის შეიძლება ასევე მუშაობდეს." },"pluralForm" :"nplurals=2; plural=(n!=1);" diff --git a/core/l10n/ko.js b/core/l10n/ko.js index 51ef44d4cc3..7c975995501 100644 --- a/core/l10n/ko.js +++ b/core/l10n/ko.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "데이터 디렉터리와 파일을 인터넷에서 접근할 수 있는 것 같습니다. .htaccess 파일을 사용할 수 없습니다. 웹 서버 설정을 변경하여 데이터 디렉터리에 접근할 수 없도록 하거나, 데이터 디렉터리를 웹 서버 문서 디렉터리 밖으로 옮기는 것을 추천합니다.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP 헤더가 \"{expected}\"(으)로 설정되어 있지 않습니다. 잠재적인 정보 유출 및 보안 위협이 될 수 있으므로 설정을 변경하는 것을 추천합니다.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP 헤더가 \"{expected}\"(으)로 설정되어 있지 않습니다. 일부 기능이 올바르게 작동하지 않을 수 있으므로 설정을 변경하는 것을 추천합니다.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP 헤더가 \"{seconds}\"초 이상로 설정되어 있지 않습니다. <a href=\"{docUrl}\" rel=\"noreferrer noopener\">보안 팁</a>에서 제안하는 것처럼 HSTS를 활성화하는 것을 추천합니다.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "사이트에 HTTP를 통해서 보안 없이 접근하고 있습니다. <a href=\"{docUrl}\">보안 팁</a>에서 제안하는 것처럼 HTTPS를 설정하는 것을 추천합니다.", "Shared" : "공유됨", "Shared with" : "다음 사용자와 공유함", "Shared by" : "다음 사용자가 공유함", @@ -343,6 +341,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "\"%s\"을(를) 신뢰할 수 있는 도메인으로 추가", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "도움이 필요한 경우 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">문서</a>를 참조하십시오.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP에 freetype 지원이 없습니다. 프로필 사진과 설정 인터페이스가 올바르게 표시되지 않을 수도 있습니다.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP 헤더가 \"{seconds}\"초 이상로 설정되어 있지 않습니다. <a href=\"{docUrl}\" rel=\"noreferrer noopener\">보안 팁</a>에서 제안하는 것처럼 HSTS를 활성화하는 것을 추천합니다.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "사이트에 HTTP를 통해서 보안 없이 접근하고 있습니다. <a href=\"{docUrl}\">보안 팁</a>에서 제안하는 것처럼 HTTPS를 설정하는 것을 추천합니다.", "Back to log in" : "로그인으로 돌아가기", "Depending on your configuration, this button could also work to trust the domain:" : "설정에 따라 아래 단추는 도메인 신뢰를 추가하는 데 사용할 수 있습니다:" }, diff --git a/core/l10n/ko.json b/core/l10n/ko.json index c7c346ee729..aa908a6efdb 100644 --- a/core/l10n/ko.json +++ b/core/l10n/ko.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "데이터 디렉터리와 파일을 인터넷에서 접근할 수 있는 것 같습니다. .htaccess 파일을 사용할 수 없습니다. 웹 서버 설정을 변경하여 데이터 디렉터리에 접근할 수 없도록 하거나, 데이터 디렉터리를 웹 서버 문서 디렉터리 밖으로 옮기는 것을 추천합니다.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP 헤더가 \"{expected}\"(으)로 설정되어 있지 않습니다. 잠재적인 정보 유출 및 보안 위협이 될 수 있으므로 설정을 변경하는 것을 추천합니다.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP 헤더가 \"{expected}\"(으)로 설정되어 있지 않습니다. 일부 기능이 올바르게 작동하지 않을 수 있으므로 설정을 변경하는 것을 추천합니다.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP 헤더가 \"{seconds}\"초 이상로 설정되어 있지 않습니다. <a href=\"{docUrl}\" rel=\"noreferrer noopener\">보안 팁</a>에서 제안하는 것처럼 HSTS를 활성화하는 것을 추천합니다.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "사이트에 HTTP를 통해서 보안 없이 접근하고 있습니다. <a href=\"{docUrl}\">보안 팁</a>에서 제안하는 것처럼 HTTPS를 설정하는 것을 추천합니다.", "Shared" : "공유됨", "Shared with" : "다음 사용자와 공유함", "Shared by" : "다음 사용자가 공유함", @@ -341,6 +339,8 @@ "Add \"%s\" as trusted domain" : "\"%s\"을(를) 신뢰할 수 있는 도메인으로 추가", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "도움이 필요한 경우 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">문서</a>를 참조하십시오.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP에 freetype 지원이 없습니다. 프로필 사진과 설정 인터페이스가 올바르게 표시되지 않을 수도 있습니다.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP 헤더가 \"{seconds}\"초 이상로 설정되어 있지 않습니다. <a href=\"{docUrl}\" rel=\"noreferrer noopener\">보안 팁</a>에서 제안하는 것처럼 HSTS를 활성화하는 것을 추천합니다.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "사이트에 HTTP를 통해서 보안 없이 접근하고 있습니다. <a href=\"{docUrl}\">보안 팁</a>에서 제안하는 것처럼 HTTPS를 설정하는 것을 추천합니다.", "Back to log in" : "로그인으로 돌아가기", "Depending on your configuration, this button could also work to trust the domain:" : "설정에 따라 아래 단추는 도메인 신뢰를 추가하는 데 사용할 수 있습니다:" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/core/l10n/nb.js b/core/l10n/nb.js index 7f7f4961aba..28417ea279c 100644 --- a/core/l10n/nb.js +++ b/core/l10n/nb.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Datamappen og filene dine er sannsynligvis tilgjengelige fra Internett. .htaccess-filen fungerer ikke. Det anbefales sterkt at du setter opp vev-tjeneren slik at datamappen ikke kan nås eller at du flytter datamappen ut av vev-tjenerens dokumentrot.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-hodet \"{header}\" er ikke satt opp likt \"{expected}\". Dette kan være en sikkerhet- eller personvernsrisiko og det anbefales at denne innstillingen endres.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP-hodet \"{header}\" er ikke satt opp til å være likt \"{expected}\". Det kan hende noen funksjoner ikke fungerer rett, og det anbefales å justere denne innstillingen henholdsvis.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\"- (Streng transportsikkerhet) HTTP-hodet er ikke satt opp til minst \"{seconds}\" sekunder. For bedret sikkerhet anbefales det å skru på HSTS som beskrevet i <a href=\"{docUrl}\" rel=\"noreferrer noopener\">sikkerhetstipsene</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Du besøker denne nettsiden via HTTP. Det anbefales sterkt at du setter opp tjeneren til å kreve HTTPS i stedet, som beskrevet i <a href=\"{docUrl}\">sikkerhetstipsene</a>.", "Shared" : "Delt", "Shared with" : "Delt med", "Shared by" : "Delt av", @@ -347,6 +345,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Legg til \"%s\" som et klarert domene", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For hjelp, se i <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentasjonen</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Din PHP-installasjon har ikke FreeType-støtte. Dette fører til knekte profilbilder og skadelidende innstillingsgrensesnitt.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\"- (Streng transportsikkerhet) HTTP-hodet er ikke satt opp til minst \"{seconds}\" sekunder. For bedret sikkerhet anbefales det å skru på HSTS som beskrevet i <a href=\"{docUrl}\" rel=\"noreferrer noopener\">sikkerhetstipsene</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Du besøker denne nettsiden via HTTP. Det anbefales sterkt at du setter opp tjeneren til å kreve HTTPS i stedet, som beskrevet i <a href=\"{docUrl}\">sikkerhetstipsene</a>.", "Back to log in" : "Tilbake til innlogging", "Depending on your configuration, this button could also work to trust the domain:" : "Avhengig av ditt oppsett, kan denne knappen også betro domenet." }, diff --git a/core/l10n/nb.json b/core/l10n/nb.json index 91534a30cec..687bb3bde70 100644 --- a/core/l10n/nb.json +++ b/core/l10n/nb.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Datamappen og filene dine er sannsynligvis tilgjengelige fra Internett. .htaccess-filen fungerer ikke. Det anbefales sterkt at du setter opp vev-tjeneren slik at datamappen ikke kan nås eller at du flytter datamappen ut av vev-tjenerens dokumentrot.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-hodet \"{header}\" er ikke satt opp likt \"{expected}\". Dette kan være en sikkerhet- eller personvernsrisiko og det anbefales at denne innstillingen endres.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP-hodet \"{header}\" er ikke satt opp til å være likt \"{expected}\". Det kan hende noen funksjoner ikke fungerer rett, og det anbefales å justere denne innstillingen henholdsvis.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\"- (Streng transportsikkerhet) HTTP-hodet er ikke satt opp til minst \"{seconds}\" sekunder. For bedret sikkerhet anbefales det å skru på HSTS som beskrevet i <a href=\"{docUrl}\" rel=\"noreferrer noopener\">sikkerhetstipsene</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Du besøker denne nettsiden via HTTP. Det anbefales sterkt at du setter opp tjeneren til å kreve HTTPS i stedet, som beskrevet i <a href=\"{docUrl}\">sikkerhetstipsene</a>.", "Shared" : "Delt", "Shared with" : "Delt med", "Shared by" : "Delt av", @@ -345,6 +343,8 @@ "Add \"%s\" as trusted domain" : "Legg til \"%s\" som et klarert domene", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For hjelp, se i <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentasjonen</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Din PHP-installasjon har ikke FreeType-støtte. Dette fører til knekte profilbilder og skadelidende innstillingsgrensesnitt.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\"- (Streng transportsikkerhet) HTTP-hodet er ikke satt opp til minst \"{seconds}\" sekunder. For bedret sikkerhet anbefales det å skru på HSTS som beskrevet i <a href=\"{docUrl}\" rel=\"noreferrer noopener\">sikkerhetstipsene</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Du besøker denne nettsiden via HTTP. Det anbefales sterkt at du setter opp tjeneren til å kreve HTTPS i stedet, som beskrevet i <a href=\"{docUrl}\">sikkerhetstipsene</a>.", "Back to log in" : "Tilbake til innlogging", "Depending on your configuration, this button could also work to trust the domain:" : "Avhengig av ditt oppsett, kan denne knappen også betro domenet." },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/nl.js b/core/l10n/nl.js index 3a08acbbca3..839ff16c3bb 100644 --- a/core/l10n/nl.js +++ b/core/l10n/nl.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Je datamap en je bestanden zijn waarschijnlijk vanaf het internet bereikbaar. Het .htaccess-bestand werkt niet. We raden ten zeerste aan aan om je webserver zodanig te configureren, dat de datadirectory niet bereikbaar is vanaf het internet of om je datadirectory te verplaatsen naar een locatie buiten de document-root van de webserver.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "De \"{header}\" HTTP header is niet ingesteld als \"{expected}\". Dit is een potentieel security of privacy risico en we adviseren om deze instelling te wijzigen.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "De \"{header}\" HTTP header is ingesteld als \"{expected}\". Sommige functies werken mogelijk niet zoals bedoeld en we adviseren om deze instelling te wijzigen.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "De \"Strict-Transport-Security\" HTTP header is niet ingesteld als minimaal \"{seconds}\" seconden. Voor verbeterde beveiliging adviseren we HSTS in te schakelen zoals beschreven in onze <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "De site is onveilig verbonden over HTTP. We adviseren je dringend om je server zo te configureren dat HTTPS wordt vereist, zoals beschreven in onze <a href=\"{docUrl}\">security tips</a>.", "Shared" : "Gedeeld", "Shared with" : "Gedeeld met", "Shared by" : "Gedeeld door", @@ -350,6 +348,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "\"%s\" toevoegen als vertrouwd domein", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Voor hulp, zie de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Je PHP ondersteunt geen freetype. Daardoor kunnen profielfoto's en de instellingen niet goed weergegeven worden.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "De \"Strict-Transport-Security\" HTTP header is niet ingesteld als minimaal \"{seconds}\" seconden. Voor verbeterde beveiliging adviseren we HSTS in te schakelen zoals beschreven in onze <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "De site is onveilig verbonden over HTTP. We adviseren je dringend om je server zo te configureren dat HTTPS wordt vereist, zoals beschreven in onze <a href=\"{docUrl}\">security tips</a>.", "Back to log in" : "Terug naar inloggen", "Depending on your configuration, this button could also work to trust the domain:" : "Afhankelijk van je configuratie kan deze knop ook werken om het volgende domein te vertrouwen:" }, diff --git a/core/l10n/nl.json b/core/l10n/nl.json index a9cf4b8c790..cfaff9bd7f0 100644 --- a/core/l10n/nl.json +++ b/core/l10n/nl.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Je datamap en je bestanden zijn waarschijnlijk vanaf het internet bereikbaar. Het .htaccess-bestand werkt niet. We raden ten zeerste aan aan om je webserver zodanig te configureren, dat de datadirectory niet bereikbaar is vanaf het internet of om je datadirectory te verplaatsen naar een locatie buiten de document-root van de webserver.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "De \"{header}\" HTTP header is niet ingesteld als \"{expected}\". Dit is een potentieel security of privacy risico en we adviseren om deze instelling te wijzigen.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "De \"{header}\" HTTP header is ingesteld als \"{expected}\". Sommige functies werken mogelijk niet zoals bedoeld en we adviseren om deze instelling te wijzigen.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "De \"Strict-Transport-Security\" HTTP header is niet ingesteld als minimaal \"{seconds}\" seconden. Voor verbeterde beveiliging adviseren we HSTS in te schakelen zoals beschreven in onze <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "De site is onveilig verbonden over HTTP. We adviseren je dringend om je server zo te configureren dat HTTPS wordt vereist, zoals beschreven in onze <a href=\"{docUrl}\">security tips</a>.", "Shared" : "Gedeeld", "Shared with" : "Gedeeld met", "Shared by" : "Gedeeld door", @@ -348,6 +346,8 @@ "Add \"%s\" as trusted domain" : "\"%s\" toevoegen als vertrouwd domein", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Voor hulp, zie de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Je PHP ondersteunt geen freetype. Daardoor kunnen profielfoto's en de instellingen niet goed weergegeven worden.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "De \"Strict-Transport-Security\" HTTP header is niet ingesteld als minimaal \"{seconds}\" seconden. Voor verbeterde beveiliging adviseren we HSTS in te schakelen zoals beschreven in onze <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "De site is onveilig verbonden over HTTP. We adviseren je dringend om je server zo te configureren dat HTTPS wordt vereist, zoals beschreven in onze <a href=\"{docUrl}\">security tips</a>.", "Back to log in" : "Terug naar inloggen", "Depending on your configuration, this button could also work to trust the domain:" : "Afhankelijk van je configuratie kan deze knop ook werken om het volgende domein te vertrouwen:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/pl.js b/core/l10n/pl.js index d7dbcf12165..6da957a91f8 100644 --- a/core/l10n/pl.js +++ b/core/l10n/pl.js @@ -125,8 +125,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Twój katalog z danymi i twoje pliki prawdopodobnie są dostępne przez Internet. Plik .htaccess nie działa. Usilnie zalecamy, żebyś tak skonfigurował swój serwer, żeby katalog z danymi nie był dalej dostępny lub przenieś swój katalog z danymi poza katalog root serwera webowego.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Nagłówek HTTP {header} nie jest skonfigurowany, aby pasował do {expected}. Jest to poterncjalne zagrożenie prywatności oraz bezpieczeństwa i zalecamy poprawienie tego ustawienia.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "Nagłówek HTTP {header} nie jest skonfigurowany, aby pasował do {expected}. Jest to poterncjalne zagrożenie prywatności oraz bezpieczeństwa i zalecamy poprawienie tego ustawienia.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Nagłówek HTTP \"Strict-Transport-Security\" nie jest ustawiony na przynajmniej \"{seconds}\" sekund. Dla zwiększenia bezpieczeństwa zalecamy ustawienie HSTS tak jak opisaliśmy to w naszych <a href=\"{docUrl}\" rel=\"noreferrer noopener\">wskazówkach dotyczących bezpieczeństwa</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Dostęp do tej strony jest za pośrednictwem protokołu HTTP. Zalecamy skonfigurowanie dostępu do serwera za pomocą protokołu HTTPS zamiast HTTP, jak to opisano w naszych <a href=\"{docUrl}\">wskazówkach bezpieczeństwa</a>.", "Shared" : "Udostępniono", "Shared with" : "Współdzielone z", "Shared by" : "Współdzielone przez", @@ -319,6 +317,8 @@ OC.L10N.register( "You are accessing the server from an untrusted domain." : "Uzyskujesz dostęp do serwera z niezaufanej domeny.", "Add \"%s\" as trusted domain" : "Dodaj \"%s\" jako domenę zaufaną", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Aby uzyskać pomoc, zajrzyj do <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentacji</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Nagłówek HTTP \"Strict-Transport-Security\" nie jest ustawiony na przynajmniej \"{seconds}\" sekund. Dla zwiększenia bezpieczeństwa zalecamy ustawienie HSTS tak jak opisaliśmy to w naszych <a href=\"{docUrl}\" rel=\"noreferrer noopener\">wskazówkach dotyczących bezpieczeństwa</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Dostęp do tej strony jest za pośrednictwem protokołu HTTP. Zalecamy skonfigurowanie dostępu do serwera za pomocą protokołu HTTPS zamiast HTTP, jak to opisano w naszych <a href=\"{docUrl}\">wskazówkach bezpieczeństwa</a>.", "Back to log in" : "Powrót do logowania", "Depending on your configuration, this button could also work to trust the domain:" : "W zależności od Twojej konfiguracji, ten przycisk aby zaufać domenie powinien również zadziałać: " }, diff --git a/core/l10n/pl.json b/core/l10n/pl.json index edca941236b..54ab620d4a9 100644 --- a/core/l10n/pl.json +++ b/core/l10n/pl.json @@ -123,8 +123,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Twój katalog z danymi i twoje pliki prawdopodobnie są dostępne przez Internet. Plik .htaccess nie działa. Usilnie zalecamy, żebyś tak skonfigurował swój serwer, żeby katalog z danymi nie był dalej dostępny lub przenieś swój katalog z danymi poza katalog root serwera webowego.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Nagłówek HTTP {header} nie jest skonfigurowany, aby pasował do {expected}. Jest to poterncjalne zagrożenie prywatności oraz bezpieczeństwa i zalecamy poprawienie tego ustawienia.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "Nagłówek HTTP {header} nie jest skonfigurowany, aby pasował do {expected}. Jest to poterncjalne zagrożenie prywatności oraz bezpieczeństwa i zalecamy poprawienie tego ustawienia.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Nagłówek HTTP \"Strict-Transport-Security\" nie jest ustawiony na przynajmniej \"{seconds}\" sekund. Dla zwiększenia bezpieczeństwa zalecamy ustawienie HSTS tak jak opisaliśmy to w naszych <a href=\"{docUrl}\" rel=\"noreferrer noopener\">wskazówkach dotyczących bezpieczeństwa</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Dostęp do tej strony jest za pośrednictwem protokołu HTTP. Zalecamy skonfigurowanie dostępu do serwera za pomocą protokołu HTTPS zamiast HTTP, jak to opisano w naszych <a href=\"{docUrl}\">wskazówkach bezpieczeństwa</a>.", "Shared" : "Udostępniono", "Shared with" : "Współdzielone z", "Shared by" : "Współdzielone przez", @@ -317,6 +315,8 @@ "You are accessing the server from an untrusted domain." : "Uzyskujesz dostęp do serwera z niezaufanej domeny.", "Add \"%s\" as trusted domain" : "Dodaj \"%s\" jako domenę zaufaną", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Aby uzyskać pomoc, zajrzyj do <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentacji</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Nagłówek HTTP \"Strict-Transport-Security\" nie jest ustawiony na przynajmniej \"{seconds}\" sekund. Dla zwiększenia bezpieczeństwa zalecamy ustawienie HSTS tak jak opisaliśmy to w naszych <a href=\"{docUrl}\" rel=\"noreferrer noopener\">wskazówkach dotyczących bezpieczeństwa</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Dostęp do tej strony jest za pośrednictwem protokołu HTTP. Zalecamy skonfigurowanie dostępu do serwera za pomocą protokołu HTTPS zamiast HTTP, jak to opisano w naszych <a href=\"{docUrl}\">wskazówkach bezpieczeństwa</a>.", "Back to log in" : "Powrót do logowania", "Depending on your configuration, this button could also work to trust the domain:" : "W zależności od Twojej konfiguracji, ten przycisk aby zaufać domenie powinien również zadziałać: " },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js index 22041929d59..edc3e1a611d 100644 --- a/core/l10n/pt_BR.js +++ b/core/l10n/pt_BR.js @@ -111,6 +111,17 @@ OC.L10N.register( "Strong password" : "Senha forte", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Seu servidor web ainda não está configurado corretamente para permitir a sincronização de arquivos, porque a interface do WebDAV parece estar quebrada.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Seu servidor web não está configurado corretamente para resolver \"{url}\". Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "O PHP não parece estar configurado corretamente para consultar variáveis de ambiente do sistema. O teste com getenv(\"PATH\") retorna apenas uma resposta vazia.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Verifique a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação de instalação ↗</a> para as notas de configuração do PHP, especialmente ao usar o php-fpm.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração read-only foi ativada. Isso impede a definição de algumas configurações através da interface web. Além disso, o arquivo precisa ser gravado manualmente em cada atualização.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "O banco de dados não está rodando com o nível de isolamento de transação \"READ COMMITTED\". Isso pode causar problemas quando várias ações são executadas em paralelo.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "O módulo PHP \"fileinfo\" está faltando. É recomendado habilitar este módulo para obter os melhores resultados com a detecção de tipos MIME.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name} está abaixo da versão {version}. Por questões de estabilidade e desempenho, é recomendado usar uma versão mais recente de {name}.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "O bloqueio transacional de arquivo está desativado, isso pode levar a problemas com as condições de corrida. Ative \"filelocking.enabled\" no config.php para evitar esses problemas. Veja a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação ↗</a> para mais informações.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Se sua instalação não estiver instalada na raiz do domínio e usar o cron do sistema, pode haver problemas com a geração da URL. Para evitar esses problemas, defina a opção \"overwrite.cli.url\" no arquivo config.php para o caminho webroot da sua instalação (sugestão: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Não foi possível executar a tarefa cron pelo CLI. Os seguintes erros técnicos surgiram:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "A última execução do trabalho em segundo plano foi executada em {relativeTime}. Algo parece errado.", + "Check the background job settings" : "Verifique as configurações do trabalho em segundo plano", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Este servidor não possui conexão com a internet: Vários pontos não puderam ser acessados. Isso significa que alguns dos recursos como montagem de armazenamento externo, notificações sobre atualizações ou instalação de aplicativos de terceiros não funcionarão. Acesso a arquivos remotos e envio de emails de notificação não funcionarão também. Estabeleça uma conexão deste servidor com a Internet para aproveitar todos os recursos.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Nenhum cache de memória foi configurado. Para melhorar o desempenho, configure um memcache, se disponível. Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom não é legível pelo PHP, o que é altamente desencorajado por razões de segurança. Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.", @@ -124,13 +135,16 @@ OC.L10N.register( "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Seu PHP não possui suporte à FreeType, resultando em problemas nas fotos de perfil e interface de configurações.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Falta o índice \"{indexName}\" na tabela \"{tableName}\".", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "Estão faltando alguns índices no banco de dados. Devido ao fato de que adicionar índices em tabelas grandes pode levar algum tempo, eles não foram adicionados automaticamente. Ao executar \"occ db: add-missing-indices\", os índices ausentes podem ser adicionados manualmente enquanto o Nextcloud continua em execução. Depois que os índices são adicionados, as consultas a essas tabelas geralmente são muito mais rápidas.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Atualmente, o SQLite está sendo usado como plataforma de banco de dados. Para instalações maiores, recomendamos que migre para outra.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Isso é recomendado ao usar o cliente da área de trabalho para sincronização de arquivos.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Para migrar o banco de dados, use o comando: 'occ db: convert-type' ou consulte a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação ↗</a>.", "Error occurred while checking server setup" : "Erro ao verificar a configuração do servidor", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Seu diretório de dados e arquivos provavelmente podem ser acessados pela Internet. O arquivo .htaccess não está funcionando. É altamente recomendado que você configure seu servidor web para que o diretório de dados não seja mais acessível ou mova o diretório de dados fora da raiz de documentos do servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "O cabeçalho HTTP \"{header}\" não está definido para \"{expected}\". Este é um potencial risco de segurança ou privacidade e é recomendado ajustar esta configuração de acordo.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "O cabeçalho HTTP \"{header}\" não está definido para \"{expected}\". Alguns recursos podem não funcionar corretamente e é recomendado ajustar esta configuração de acordo.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "O cabeçalho HTTP \"{header}\" não está definido para \"{val1}\", \"{val2}\", \"{val3}\" ou \"{val4}\". Isso pode vazar informações de referência. Veja a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">Recomendação W3C</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{seconds}\" segundos. Para ter uma segurança melhorada, recomenda-se habilitar o HSTS conforme descrito nas <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Acessando o site via HTTP não seguro. É recomendado configurar seu servidor para exigir HTTPS, conforme descrito nas <a href=\"{docUrl}\">dicas de segurança</a>.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "O cabeçalho HTTP \"{header}\" não está definido como \"{val1}\", \"{val2}\", \"{val3}\" ou \"{val4}\". Isso pode vazar informações de referência. Veja a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">Recomendação W3C ↗</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para ao menos \"{seconds}\" segundos. Para maior segurança, é recomendado ativar o HSTS conforme descrito nas <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança ↗</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Acessando o site de forma insegura via HTTP. É recomendado configurar seu servidor para exigir HTTPS, conforme descrito nas <a href=\"{docUrl}\">dicas de segurança ↗</a>.", "Shared" : "Compartilhado", "Shared with" : "Compartilhado com", "Shared by" : "Compartilhado por", @@ -356,6 +370,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Adicionar \"%s\" como um domínio confiável", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para mais ajuda, veja a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Seu PHP não possui suporte a freetype. Isso resultará em imagens erradas no perfil e na interface de configurações.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{seconds}\" segundos. Para ter uma segurança melhorada, recomenda-se habilitar o HSTS conforme descrito nas <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Acessando o site via HTTP não seguro. É recomendado configurar seu servidor para exigir HTTPS, conforme descrito nas <a href=\"{docUrl}\">dicas de segurança</a>.", "Back to log in" : "Voltar ao login", "Depending on your configuration, this button could also work to trust the domain:" : "Dependendo de sua configuração, este botão também pode funcionar para confiar no domínio." }, diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json index 840c7aabbaf..7d72b0ba50b 100644 --- a/core/l10n/pt_BR.json +++ b/core/l10n/pt_BR.json @@ -109,6 +109,17 @@ "Strong password" : "Senha forte", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Seu servidor web ainda não está configurado corretamente para permitir a sincronização de arquivos, porque a interface do WebDAV parece estar quebrada.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Seu servidor web não está configurado corretamente para resolver \"{url}\". Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "O PHP não parece estar configurado corretamente para consultar variáveis de ambiente do sistema. O teste com getenv(\"PATH\") retorna apenas uma resposta vazia.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Verifique a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação de instalação ↗</a> para as notas de configuração do PHP, especialmente ao usar o php-fpm.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração read-only foi ativada. Isso impede a definição de algumas configurações através da interface web. Além disso, o arquivo precisa ser gravado manualmente em cada atualização.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "O banco de dados não está rodando com o nível de isolamento de transação \"READ COMMITTED\". Isso pode causar problemas quando várias ações são executadas em paralelo.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "O módulo PHP \"fileinfo\" está faltando. É recomendado habilitar este módulo para obter os melhores resultados com a detecção de tipos MIME.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name} está abaixo da versão {version}. Por questões de estabilidade e desempenho, é recomendado usar uma versão mais recente de {name}.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "O bloqueio transacional de arquivo está desativado, isso pode levar a problemas com as condições de corrida. Ative \"filelocking.enabled\" no config.php para evitar esses problemas. Veja a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação ↗</a> para mais informações.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Se sua instalação não estiver instalada na raiz do domínio e usar o cron do sistema, pode haver problemas com a geração da URL. Para evitar esses problemas, defina a opção \"overwrite.cli.url\" no arquivo config.php para o caminho webroot da sua instalação (sugestão: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Não foi possível executar a tarefa cron pelo CLI. Os seguintes erros técnicos surgiram:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "A última execução do trabalho em segundo plano foi executada em {relativeTime}. Algo parece errado.", + "Check the background job settings" : "Verifique as configurações do trabalho em segundo plano", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Este servidor não possui conexão com a internet: Vários pontos não puderam ser acessados. Isso significa que alguns dos recursos como montagem de armazenamento externo, notificações sobre atualizações ou instalação de aplicativos de terceiros não funcionarão. Acesso a arquivos remotos e envio de emails de notificação não funcionarão também. Estabeleça uma conexão deste servidor com a Internet para aproveitar todos os recursos.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Nenhum cache de memória foi configurado. Para melhorar o desempenho, configure um memcache, se disponível. Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom não é legível pelo PHP, o que é altamente desencorajado por razões de segurança. Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.", @@ -122,13 +133,16 @@ "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Seu PHP não possui suporte à FreeType, resultando em problemas nas fotos de perfil e interface de configurações.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Falta o índice \"{indexName}\" na tabela \"{tableName}\".", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "Estão faltando alguns índices no banco de dados. Devido ao fato de que adicionar índices em tabelas grandes pode levar algum tempo, eles não foram adicionados automaticamente. Ao executar \"occ db: add-missing-indices\", os índices ausentes podem ser adicionados manualmente enquanto o Nextcloud continua em execução. Depois que os índices são adicionados, as consultas a essas tabelas geralmente são muito mais rápidas.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Atualmente, o SQLite está sendo usado como plataforma de banco de dados. Para instalações maiores, recomendamos que migre para outra.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Isso é recomendado ao usar o cliente da área de trabalho para sincronização de arquivos.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Para migrar o banco de dados, use o comando: 'occ db: convert-type' ou consulte a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação ↗</a>.", "Error occurred while checking server setup" : "Erro ao verificar a configuração do servidor", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Seu diretório de dados e arquivos provavelmente podem ser acessados pela Internet. O arquivo .htaccess não está funcionando. É altamente recomendado que você configure seu servidor web para que o diretório de dados não seja mais acessível ou mova o diretório de dados fora da raiz de documentos do servidor web.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "O cabeçalho HTTP \"{header}\" não está definido para \"{expected}\". Este é um potencial risco de segurança ou privacidade e é recomendado ajustar esta configuração de acordo.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "O cabeçalho HTTP \"{header}\" não está definido para \"{expected}\". Alguns recursos podem não funcionar corretamente e é recomendado ajustar esta configuração de acordo.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "O cabeçalho HTTP \"{header}\" não está definido para \"{val1}\", \"{val2}\", \"{val3}\" ou \"{val4}\". Isso pode vazar informações de referência. Veja a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">Recomendação W3C</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{seconds}\" segundos. Para ter uma segurança melhorada, recomenda-se habilitar o HSTS conforme descrito nas <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Acessando o site via HTTP não seguro. É recomendado configurar seu servidor para exigir HTTPS, conforme descrito nas <a href=\"{docUrl}\">dicas de segurança</a>.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "O cabeçalho HTTP \"{header}\" não está definido como \"{val1}\", \"{val2}\", \"{val3}\" ou \"{val4}\". Isso pode vazar informações de referência. Veja a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">Recomendação W3C ↗</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para ao menos \"{seconds}\" segundos. Para maior segurança, é recomendado ativar o HSTS conforme descrito nas <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança ↗</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Acessando o site de forma insegura via HTTP. É recomendado configurar seu servidor para exigir HTTPS, conforme descrito nas <a href=\"{docUrl}\">dicas de segurança ↗</a>.", "Shared" : "Compartilhado", "Shared with" : "Compartilhado com", "Shared by" : "Compartilhado por", @@ -354,6 +368,8 @@ "Add \"%s\" as trusted domain" : "Adicionar \"%s\" como um domínio confiável", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para mais ajuda, veja a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Seu PHP não possui suporte a freetype. Isso resultará em imagens erradas no perfil e na interface de configurações.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{seconds}\" segundos. Para ter uma segurança melhorada, recomenda-se habilitar o HSTS conforme descrito nas <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Acessando o site via HTTP não seguro. É recomendado configurar seu servidor para exigir HTTPS, conforme descrito nas <a href=\"{docUrl}\">dicas de segurança</a>.", "Back to log in" : "Voltar ao login", "Depending on your configuration, this button could also work to trust the domain:" : "Dependendo de sua configuração, este botão também pode funcionar para confiar no domínio." },"pluralForm" :"nplurals=2; plural=(n > 1);" diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js index 8a593b780c8..6c0faf66d93 100644 --- a/core/l10n/pt_PT.js +++ b/core/l10n/pt_PT.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Os directórios de datos e ficheiros estão provavelmente acessíveis através da Internet. O ficheiro .htaccess não está a funcionar. É altamente recomendado que configure o seu servidor web para que o directório de dados deixa de estar acessível, ou movê-lo para fora da raiz de documentos do servidor web. ", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "O cabeçalho HTTP \"{cabeçalho}\" não está definido como \"{esperado}\". Isto é um potencial risco de segurança ou privacidade, pelo que recomendamos que ajuste esta opção em conformidade.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "O cabeçalho HTTP \"{cabeçalho}\" não está definido como \"{esperado}\". Algumas funcionalidades poderão não funcionar correctamente, pelo que recomendamos que ajuste esta opção em conformidade.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{segundos}\" segundos. Para melhorar a segurança, recomendamos que active o HSTS como descrito em <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Acedendo ao site de forma insegura usando HTTP. Recomendamos vivamente que configure o servidor para requerer HTTPS, tal como descrito em <a href=\"{docUrl}\">dicas de segurança</a>.", "Shared" : "Partilhado", "Shared with" : "Partilhado com ", "Shared by" : "Partilhado por", @@ -343,6 +341,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Adicionar \"%s\" como um domínio de confiança", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para obter ajuda, consulte a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "O seu PHP não suporta freetype. Isto irá resultar em fotos de perfil e interface de definições corrompidas.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{segundos}\" segundos. Para melhorar a segurança, recomendamos que active o HSTS como descrito em <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Acedendo ao site de forma insegura usando HTTP. Recomendamos vivamente que configure o servidor para requerer HTTPS, tal como descrito em <a href=\"{docUrl}\">dicas de segurança</a>.", "Back to log in" : "Voltar à entrada", "Depending on your configuration, this button could also work to trust the domain:" : "Dependendo da sua configuração, este botão poderá servir para confiar no domínio:" }, diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json index 0ed88bbcf3c..73bcfdae697 100644 --- a/core/l10n/pt_PT.json +++ b/core/l10n/pt_PT.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Os directórios de datos e ficheiros estão provavelmente acessíveis através da Internet. O ficheiro .htaccess não está a funcionar. É altamente recomendado que configure o seu servidor web para que o directório de dados deixa de estar acessível, ou movê-lo para fora da raiz de documentos do servidor web. ", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "O cabeçalho HTTP \"{cabeçalho}\" não está definido como \"{esperado}\". Isto é um potencial risco de segurança ou privacidade, pelo que recomendamos que ajuste esta opção em conformidade.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "O cabeçalho HTTP \"{cabeçalho}\" não está definido como \"{esperado}\". Algumas funcionalidades poderão não funcionar correctamente, pelo que recomendamos que ajuste esta opção em conformidade.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{segundos}\" segundos. Para melhorar a segurança, recomendamos que active o HSTS como descrito em <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Acedendo ao site de forma insegura usando HTTP. Recomendamos vivamente que configure o servidor para requerer HTTPS, tal como descrito em <a href=\"{docUrl}\">dicas de segurança</a>.", "Shared" : "Partilhado", "Shared with" : "Partilhado com ", "Shared by" : "Partilhado por", @@ -341,6 +339,8 @@ "Add \"%s\" as trusted domain" : "Adicionar \"%s\" como um domínio de confiança", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para obter ajuda, consulte a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "O seu PHP não suporta freetype. Isto irá resultar em fotos de perfil e interface de definições corrompidas.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{segundos}\" segundos. Para melhorar a segurança, recomendamos que active o HSTS como descrito em <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Acedendo ao site de forma insegura usando HTTP. Recomendamos vivamente que configure o servidor para requerer HTTPS, tal como descrito em <a href=\"{docUrl}\">dicas de segurança</a>.", "Back to log in" : "Voltar à entrada", "Depending on your configuration, this button could also work to trust the domain:" : "Dependendo da sua configuração, este botão poderá servir para confiar no domínio:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/ru.js b/core/l10n/ru.js index f4282cbfadf..9b74d0b7992 100644 --- a/core/l10n/ru.js +++ b/core/l10n/ru.js @@ -111,6 +111,17 @@ OC.L10N.register( "Strong password" : "Надёжный пароль", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ваш веб-сервер ещё не настроен должным образом для синхронизации файлов — интерфейс WebDAV, кажется, испорчен.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Ваш веб-сервер не настроен должным образом для разрешения «{url}». Дополнительная информация может быть найдена в нашей <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документации</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP не настроен правильно для получения переменных системного окружения. Запрос getenv(\"PATH\") возвращает пустые результаты.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Изучите раздел о конфигурации PHP и примечания о конфигурации PHP из <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">руководства по установке</a>. Необходимо уделить внимание настройке PHP, особенно при использовании механизма php-fpm.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Конфигурационный файл находится в режиме «только для чтения». В связи с этим некоторые настройки не могут быть изменены при помощи веб-интерфейса. Учтите, что для установки обновлений потребуется разрешать запись в конфигурационный файл.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "База данных не использует режиме изоляции транзакций «READ COMMITED». Такое поведение может вызвать проблемы при одновременном выполнении нескольких операций.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Отсутствует модуль PHP «fileinfo». Настоятельно рекомендуется включить этот модуль для улучшения определения MIME-типов файлов.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "Установленная версия модуля «{name}» имеет версию, меньшую чем {version}. Из соображений стабильности и производительности рекомендуется обновить используемую версию модуля «{name}».", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "Отключена блокировка передаваемых файлов, что может привести к состоянию гонки. Для предупреждения возможных проблем включите параметр «filelocking.enabled» в файле «config.php». Обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документации ↗</a> для получения дополнительной информации.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "При установке сервера не в корневой каталог домена и использовании системного планировщика сron возможны проблемы, связанные с формированием неверных URL. Решением является присвоение параметру «overwrite.cli.url» в файле «config.php» значения, равного полному интернет-адресу установки сервера (Предполагаемое значение: «{suggestedOverwriteCliURL}».)", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Ошибка запуска задачи планировщика с использованием интерфейса командной строки. Подробное сообщение об ошибке:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "Последняя фоновая задача была выполнена {relativeTime}. Похоже, что-то не в порядке.", + "Check the background job settings" : "Проверьте параметры выполнения фоновых задач", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Этот сервер не подключён к Интернету: множество конечных устройств не могут быть доступны. Это означает, что не будут работать некоторые функции, такие как подключение внешнего хранилища, уведомления об обновлениях или установка сторонних приложений. Так же могут не работать удалённый доступ к файлам и отправка уведомлений по электронной почте. Для использования всех возможностей рекомендуем разрешить серверу доступ в Интернет, ", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация доступна в <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документации</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP не имеет доступа на чтение к /dev/urandom, что крайне нежелательно по соображениям безопасности. Дополнительную информацию можно найти в нашей <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\"> документации </a>.", @@ -122,13 +133,18 @@ OC.L10N.register( "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "PHP OPcache не настроен правильно. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Для обеспечения лучшей производительности рекомендуется </a> задать в файле <code>php.ini</code> следующие параметры настроек:", "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "Функция PHP «set_time_limit» недоступна. В случае остановки скриптов во время работы это может привести к повреждению установки сервера Nextcloud. Настоятельно рекомендуется включить эту функцию. ", "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Установленная версия PHP не поддерживает библиотеку FreeType, что приводит к неверному отображению изображений профиля и интерфейса настроек.", + "Missing index \"{indexName}\" in table \"{tableName}\"." : "В таблице «{tableName}» отсутствует индекс «{indexName}».", + "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "В базе данных отсутствуют некоторые индексы. Так как создание таких индексов может занять достаточно продолжительное время, оно должно быть запущено вручную. Для создания индексов необходимо запустить команду «occ db:add-missing-indices» во время работы сервера Nextcloud. При созданных индексах, как правило, запросы к базе данных выполняются значительно быстрее.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "В настоящее время в качестве механизма БД используется SQLite. Для более крупных развёртываний рекомендуется перейти к использованию других баз данных.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Такой переход рекомендован и при использовании приложений-клиентов для синхронизации файлов.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Для перехода к использованию другого механизма базы данных используйте команду: «occ db:convert-type» или обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации ↗</a>. ", "Error occurred while checking server setup" : "Произошла ошибка при проверке настроек сервера", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Каталог данных и файлы, возможно, доступны из Интернета. Файл .htaccess не работает. Настоятельно рекомендуется настроить веб сервер таким образом, чтобы каталог данных не был доступен из внешней сети, либо переместить каталог данных за пределы корневого каталога веб-сервера.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Заголовок HTTP «{header}» не настроен на значение «{expected}». Это потенциальная проблема безопасности для устранения которой рекомендуется задать этот параметр.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "Заголовок HTTP «{header}» не настроен на значение «{expected}». Это может привести к неработоспособности некоторых из функций и рекомендуется изменить эти настройки.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "HTTP-заголовок \"{header}\" не установлен в значения \"{val1}\", \"{val2}\", \"{val3}\" или \"{val4}\". Это может привести к утечке информации о реферере. Смотрите <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">Рекомендации W3C</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «{seconds}» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим <a href=\"{docUrl}\" rel=\"noreferrer noopener\">подсказкам по безопасности</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Используется небезопасное соподчинение по протоколу HTTP. Настоятельно рекомендуется настроить сервер на использование HTTPS согласно нашим <a href=\"{docUrl}\">подсказкам по безопасности</a>.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "Заголовок HTTP «{header}» не установлен в значения «{val1}», «{val2}», «{val3}» или «{val4}», что может привести к утечке информации об адресе источника перехода по ссылке. Для получения более подробной информации обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">рекомендациии W3C ↗</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «{seconds}» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим <a href=\"{docUrl}\" rel=\"noreferrer noopener\">подсказкам по безопасности ↗</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Используется небезопасное соединение по протоколу HTTP. Настоятельно рекомендуется настроить сервер на использование HTTPS согласно нашим <a href=\"{docUrl}\">подсказкам по безопасности ↗</a>.", "Shared" : "Общий доступ", "Shared with" : "Общий доступ", "Shared by" : "Доступ предоставлен", @@ -351,9 +367,11 @@ OC.L10N.register( "You are accessing the server from an untrusted domain." : "Вы пытаетесь получить доступ к серверу с недоверенного домена.", "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Обратитесь к администратору. Если вы являетесь администратором этого сервера, измените значение параметра «trusted_domains» в файле «config/config.php». Пример настройки можно найти в файле «config/config.sample.php».", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "В зависимости от конфигурации, вы, как администратор, можете также добавить домен в список доверенных при помощи кнопки, расположенной ниже.", - "Add \"%s\" as trusted domain" : "Добавить «%s» как доверенный домен", + "Add \"%s\" as trusted domain" : "Добавить «%s» в список доверенных доменов", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Для получения помощи обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Установленная версия PHP не поддерживает библиотеку FreeType, что приводит к неверному отображению изображений профиля и интерфейса настроек.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «{seconds}» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим <a href=\"{docUrl}\" rel=\"noreferrer noopener\">подсказкам по безопасности</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Используется небезопасное соподчинение по протоколу HTTP. Настоятельно рекомендуется настроить сервер на использование HTTPS согласно нашим <a href=\"{docUrl}\">подсказкам по безопасности</a>.", "Back to log in" : "Авторизоваться повторно", "Depending on your configuration, this button could also work to trust the domain:" : "В зависимости от конфигурации, эта кнопка может сделать доверенным следующий домен:" }, diff --git a/core/l10n/ru.json b/core/l10n/ru.json index f5ad0f854e6..0e8c63ec0e3 100644 --- a/core/l10n/ru.json +++ b/core/l10n/ru.json @@ -109,6 +109,17 @@ "Strong password" : "Надёжный пароль", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ваш веб-сервер ещё не настроен должным образом для синхронизации файлов — интерфейс WebDAV, кажется, испорчен.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Ваш веб-сервер не настроен должным образом для разрешения «{url}». Дополнительная информация может быть найдена в нашей <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документации</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP не настроен правильно для получения переменных системного окружения. Запрос getenv(\"PATH\") возвращает пустые результаты.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Изучите раздел о конфигурации PHP и примечания о конфигурации PHP из <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">руководства по установке</a>. Необходимо уделить внимание настройке PHP, особенно при использовании механизма php-fpm.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Конфигурационный файл находится в режиме «только для чтения». В связи с этим некоторые настройки не могут быть изменены при помощи веб-интерфейса. Учтите, что для установки обновлений потребуется разрешать запись в конфигурационный файл.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "База данных не использует режиме изоляции транзакций «READ COMMITED». Такое поведение может вызвать проблемы при одновременном выполнении нескольких операций.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Отсутствует модуль PHP «fileinfo». Настоятельно рекомендуется включить этот модуль для улучшения определения MIME-типов файлов.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "Установленная версия модуля «{name}» имеет версию, меньшую чем {version}. Из соображений стабильности и производительности рекомендуется обновить используемую версию модуля «{name}».", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "Отключена блокировка передаваемых файлов, что может привести к состоянию гонки. Для предупреждения возможных проблем включите параметр «filelocking.enabled» в файле «config.php». Обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документации ↗</a> для получения дополнительной информации.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "При установке сервера не в корневой каталог домена и использовании системного планировщика сron возможны проблемы, связанные с формированием неверных URL. Решением является присвоение параметру «overwrite.cli.url» в файле «config.php» значения, равного полному интернет-адресу установки сервера (Предполагаемое значение: «{suggestedOverwriteCliURL}».)", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Ошибка запуска задачи планировщика с использованием интерфейса командной строки. Подробное сообщение об ошибке:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "Последняя фоновая задача была выполнена {relativeTime}. Похоже, что-то не в порядке.", + "Check the background job settings" : "Проверьте параметры выполнения фоновых задач", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Этот сервер не подключён к Интернету: множество конечных устройств не могут быть доступны. Это означает, что не будут работать некоторые функции, такие как подключение внешнего хранилища, уведомления об обновлениях или установка сторонних приложений. Так же могут не работать удалённый доступ к файлам и отправка уведомлений по электронной почте. Для использования всех возможностей рекомендуем разрешить серверу доступ в Интернет, ", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация доступна в <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документации</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP не имеет доступа на чтение к /dev/urandom, что крайне нежелательно по соображениям безопасности. Дополнительную информацию можно найти в нашей <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\"> документации </a>.", @@ -120,13 +131,18 @@ "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "PHP OPcache не настроен правильно. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Для обеспечения лучшей производительности рекомендуется </a> задать в файле <code>php.ini</code> следующие параметры настроек:", "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "Функция PHP «set_time_limit» недоступна. В случае остановки скриптов во время работы это может привести к повреждению установки сервера Nextcloud. Настоятельно рекомендуется включить эту функцию. ", "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Установленная версия PHP не поддерживает библиотеку FreeType, что приводит к неверному отображению изображений профиля и интерфейса настроек.", + "Missing index \"{indexName}\" in table \"{tableName}\"." : "В таблице «{tableName}» отсутствует индекс «{indexName}».", + "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "В базе данных отсутствуют некоторые индексы. Так как создание таких индексов может занять достаточно продолжительное время, оно должно быть запущено вручную. Для создания индексов необходимо запустить команду «occ db:add-missing-indices» во время работы сервера Nextcloud. При созданных индексах, как правило, запросы к базе данных выполняются значительно быстрее.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "В настоящее время в качестве механизма БД используется SQLite. Для более крупных развёртываний рекомендуется перейти к использованию других баз данных.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Такой переход рекомендован и при использовании приложений-клиентов для синхронизации файлов.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Для перехода к использованию другого механизма базы данных используйте команду: «occ db:convert-type» или обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации ↗</a>. ", "Error occurred while checking server setup" : "Произошла ошибка при проверке настроек сервера", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Каталог данных и файлы, возможно, доступны из Интернета. Файл .htaccess не работает. Настоятельно рекомендуется настроить веб сервер таким образом, чтобы каталог данных не был доступен из внешней сети, либо переместить каталог данных за пределы корневого каталога веб-сервера.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Заголовок HTTP «{header}» не настроен на значение «{expected}». Это потенциальная проблема безопасности для устранения которой рекомендуется задать этот параметр.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "Заголовок HTTP «{header}» не настроен на значение «{expected}». Это может привести к неработоспособности некоторых из функций и рекомендуется изменить эти настройки.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "HTTP-заголовок \"{header}\" не установлен в значения \"{val1}\", \"{val2}\", \"{val3}\" или \"{val4}\". Это может привести к утечке информации о реферере. Смотрите <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">Рекомендации W3C</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «{seconds}» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим <a href=\"{docUrl}\" rel=\"noreferrer noopener\">подсказкам по безопасности</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Используется небезопасное соподчинение по протоколу HTTP. Настоятельно рекомендуется настроить сервер на использование HTTPS согласно нашим <a href=\"{docUrl}\">подсказкам по безопасности</a>.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "Заголовок HTTP «{header}» не установлен в значения «{val1}», «{val2}», «{val3}» или «{val4}», что может привести к утечке информации об адресе источника перехода по ссылке. Для получения более подробной информации обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">рекомендациии W3C ↗</a>.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «{seconds}» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим <a href=\"{docUrl}\" rel=\"noreferrer noopener\">подсказкам по безопасности ↗</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Используется небезопасное соединение по протоколу HTTP. Настоятельно рекомендуется настроить сервер на использование HTTPS согласно нашим <a href=\"{docUrl}\">подсказкам по безопасности ↗</a>.", "Shared" : "Общий доступ", "Shared with" : "Общий доступ", "Shared by" : "Доступ предоставлен", @@ -349,9 +365,11 @@ "You are accessing the server from an untrusted domain." : "Вы пытаетесь получить доступ к серверу с недоверенного домена.", "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Обратитесь к администратору. Если вы являетесь администратором этого сервера, измените значение параметра «trusted_domains» в файле «config/config.php». Пример настройки можно найти в файле «config/config.sample.php».", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "В зависимости от конфигурации, вы, как администратор, можете также добавить домен в список доверенных при помощи кнопки, расположенной ниже.", - "Add \"%s\" as trusted domain" : "Добавить «%s» как доверенный домен", + "Add \"%s\" as trusted domain" : "Добавить «%s» в список доверенных доменов", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Для получения помощи обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Установленная версия PHP не поддерживает библиотеку FreeType, что приводит к неверному отображению изображений профиля и интерфейса настроек.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «{seconds}» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим <a href=\"{docUrl}\" rel=\"noreferrer noopener\">подсказкам по безопасности</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Используется небезопасное соподчинение по протоколу HTTP. Настоятельно рекомендуется настроить сервер на использование HTTPS согласно нашим <a href=\"{docUrl}\">подсказкам по безопасности</a>.", "Back to log in" : "Авторизоваться повторно", "Depending on your configuration, this button could also work to trust the domain:" : "В зависимости от конфигурации, эта кнопка может сделать доверенным следующий домен:" },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" diff --git a/core/l10n/sk.js b/core/l10n/sk.js index ec1668b3076..3df05f63807 100644 --- a/core/l10n/sk.js +++ b/core/l10n/sk.js @@ -128,9 +128,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Váš priečinok s dátami aj vaše súbory sú pravdepodobne prístupné z internetu. Súbor .htaccess nefunguje. Dôrazne odporúčame nakonfigurovať webový server tak, aby priečinok s dátami nebol naďalej prístupný alebo presunúť priečinok s dátami mimo priestoru, ktorý webový server sprístupňuje.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Hlavička HTTP \"{header}\" nie je nakonfigurovaná tak, aby sa rovnala \"{expected}\". Toto je potenciálne riziko pre bezpečnosť alebo ochranu osobných údajov a preto odporúčame toto nastavenie upraviť.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "Hlavička HTTP \"{header}\" nie je nakonfigurovaná tak, aby sa rovnala \"{expected}\". Toto je potenciálne riziko pre bezpečnosť alebo ochranu osobných údajov a preto odporúčame toto nastavenie upraviť.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "HTTP hlavička \"{header}\" nie je nastavená na \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". Môže to spôsobiť únik referer hodnote. Pozrite si <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C odporúčania</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Hlavička HTTP \"Strict-Transport-Security\" nie je nakonfigurovaná aspoň na \"{seconds}\" sekúnd. Pre zvýšenie bezpečnosti odporúčame povoliť HSTS tak, ako je to popísané v našich bezpečnostných tipoch<a href=\"{docUrl}\" rel=\"noreferrer noopener\">.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Prístup na túto stránku sa uskutočňuje prostredníctvom nezabezpečeného protokolu HTTP. Dôrazne odporúčame, aby ste namiesto toho nakonfigurovali server tak, aby vyžadoval použitie HTTPS, ako je to popísané v našich <a href=\"{docUrl}\">bezpečnostných tipoch</a>.", "Shared" : "Sprístupnené", "Shared with" : "Sprístupnené používateľovi", "Shared by" : "Sprístupnené používateľom", @@ -356,6 +353,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Pridať \"%s\" ako dôveryhodnú doménu", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pomoc nájdete v <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentácii</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Vaše PHP nemá podporu FreeType, čo bude mať za následok poškodenie profilových obrázkov a rozhrania nastavení.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Hlavička HTTP \"Strict-Transport-Security\" nie je nakonfigurovaná aspoň na \"{seconds}\" sekúnd. Pre zvýšenie bezpečnosti odporúčame povoliť HSTS tak, ako je to popísané v našich bezpečnostných tipoch<a href=\"{docUrl}\" rel=\"noreferrer noopener\">.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Prístup na túto stránku sa uskutočňuje prostredníctvom nezabezpečeného protokolu HTTP. Dôrazne odporúčame, aby ste namiesto toho nakonfigurovali server tak, aby vyžadoval použitie HTTPS, ako je to popísané v našich <a href=\"{docUrl}\">bezpečnostných tipoch</a>.", "Back to log in" : "Späť na prihlásenie", "Depending on your configuration, this button could also work to trust the domain:" : "V závislosti od vašej konfigurácie by toto tlačidlo mohlo fungovať tak, že dôverujete doméne:" }, diff --git a/core/l10n/sk.json b/core/l10n/sk.json index 239c647ce00..ebecc67cd48 100644 --- a/core/l10n/sk.json +++ b/core/l10n/sk.json @@ -126,9 +126,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Váš priečinok s dátami aj vaše súbory sú pravdepodobne prístupné z internetu. Súbor .htaccess nefunguje. Dôrazne odporúčame nakonfigurovať webový server tak, aby priečinok s dátami nebol naďalej prístupný alebo presunúť priečinok s dátami mimo priestoru, ktorý webový server sprístupňuje.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Hlavička HTTP \"{header}\" nie je nakonfigurovaná tak, aby sa rovnala \"{expected}\". Toto je potenciálne riziko pre bezpečnosť alebo ochranu osobných údajov a preto odporúčame toto nastavenie upraviť.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "Hlavička HTTP \"{header}\" nie je nakonfigurovaná tak, aby sa rovnala \"{expected}\". Toto je potenciálne riziko pre bezpečnosť alebo ochranu osobných údajov a preto odporúčame toto nastavenie upraviť.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "HTTP hlavička \"{header}\" nie je nastavená na \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". Môže to spôsobiť únik referer hodnote. Pozrite si <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C odporúčania</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Hlavička HTTP \"Strict-Transport-Security\" nie je nakonfigurovaná aspoň na \"{seconds}\" sekúnd. Pre zvýšenie bezpečnosti odporúčame povoliť HSTS tak, ako je to popísané v našich bezpečnostných tipoch<a href=\"{docUrl}\" rel=\"noreferrer noopener\">.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Prístup na túto stránku sa uskutočňuje prostredníctvom nezabezpečeného protokolu HTTP. Dôrazne odporúčame, aby ste namiesto toho nakonfigurovali server tak, aby vyžadoval použitie HTTPS, ako je to popísané v našich <a href=\"{docUrl}\">bezpečnostných tipoch</a>.", "Shared" : "Sprístupnené", "Shared with" : "Sprístupnené používateľovi", "Shared by" : "Sprístupnené používateľom", @@ -354,6 +351,8 @@ "Add \"%s\" as trusted domain" : "Pridať \"%s\" ako dôveryhodnú doménu", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pomoc nájdete v <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentácii</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Vaše PHP nemá podporu FreeType, čo bude mať za následok poškodenie profilových obrázkov a rozhrania nastavení.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Hlavička HTTP \"Strict-Transport-Security\" nie je nakonfigurovaná aspoň na \"{seconds}\" sekúnd. Pre zvýšenie bezpečnosti odporúčame povoliť HSTS tak, ako je to popísané v našich bezpečnostných tipoch<a href=\"{docUrl}\" rel=\"noreferrer noopener\">.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Prístup na túto stránku sa uskutočňuje prostredníctvom nezabezpečeného protokolu HTTP. Dôrazne odporúčame, aby ste namiesto toho nakonfigurovali server tak, aby vyžadoval použitie HTTPS, ako je to popísané v našich <a href=\"{docUrl}\">bezpečnostných tipoch</a>.", "Back to log in" : "Späť na prihlásenie", "Depending on your configuration, this button could also work to trust the domain:" : "V závislosti od vašej konfigurácie by toto tlačidlo mohlo fungovať tak, že dôverujete doméne:" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);" diff --git a/core/l10n/sr.js b/core/l10n/sr.js index 054c0c2674c..b7aca10fda3 100644 --- a/core/l10n/sr.js +++ b/core/l10n/sr.js @@ -111,6 +111,17 @@ OC.L10N.register( "Strong password" : "Јака лозинка", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ваш сервер није правилно подешен да омогући синхронизацију фајлова. Изгледа да је ВебДАВ сучеље покварено.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Ваш сервер није правилно подешен да разлучи \"{url}\". Можете наћи више информација у <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документацији</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP изгледа није исправно подешен да дохвата променљиве окружења. Тест са getenv(\"PATH\") враћа празну листу као одговор.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">инсталациону документацију ↗</a> за белешке око PHP конфигурације и PHP конфигурацију Вашег сервера, поготову ако користите php-fpm.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Омогућена је конфигурација само за читање. То спречава постављање неке конфигурације преко веб-интерфејса. Осим тога, фајлу мора бити ручно омогућено уписивање код сваког освежавања.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "База података није покренута са \"READ COMMITTED\" нивоом изолације трансакција. Ово може изазвати проблеме ако се више различитих акција изврши у паралели.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Недостаје PHP модул „fileinfo“. Препоручујемо да га укључите да бисте добили најбоље резултате с откривањем MIME типова фајлова.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name} испод верзије {version} је инсталиран. Због стабилности и перформанси, препоручује се ажурирање на новију, {name} верзију.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "Трансактивно закључавање фајлова је искључено, што може довести до проблема са утркивањем процеса. Укључите 'filelocking.enabled' у config.php да бисте избегли проблеме овог типа. Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документацију ↗</a> за више информација.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Ако инсталација није инсталирана у основи домена и користи системски крон, може бити проблема са генерисањем веб адреса. Да бисте избегли ове проблеме, молимо вас да подесите \"overwrite.cli.url\" опцију у вашем config.php фајлу у путању веб-основе ваше инсталације (предложено: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Није било могуће да се изврши крон задатак путем интерфејса командне линије. Појавиле су се следеће техничке грешке:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "Последњи извршени посао у позадини: {relativeTime}. Нешто изгледа није у реду.", + "Check the background job settings" : "Проверите поставке послова у позадини", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Овај сервер нема интернет конекцију: немогуће је доћи до више интернет крајњих тачака. Ово значи да неке могућности као што су качење спољних складишта, обавештења о ажурирањима или инсталација апликација треће стране неће радити. Приступање фајловима споља и слање обавештења е-поштом исто тако може да не ради. Омогућите интернет конекцију на овом серверу ако желите да уживате у свим могућностима.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Нисте подесили меморијски кеш. Да побољшате перформансе, подесите меморијски кеш, ако је доступан. Више информација има у <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документацији</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP не може да чита /dev/urandom. Ово се баш не препоручује из сигурносних разлога. Можете наћи више информација у <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документацији</a>.", @@ -124,13 +135,16 @@ OC.L10N.register( "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Ваша PHP инсталација нема подршку за FreeType. Ово ће довести до неисправних профилних слика и неисправног интерфејса за подешавања.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Индекс \"{indexName}\" недостаје у табели \"{tableName}\".", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "У бази недостају поједини индекси. Због тога што додавање индекса на великим табелама може доста да потраје, индекси се не додају аутоматски. Покретањем \"occ db:add-missing-indices\", индекси који недостају ће бити додати ручно док је инстанца покренута. Једном када су индекси додати, упити над тим табелама ће обично бити много бржи.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Тренутно се као база података користи SQLite. За веће инсталације, препоручујемо да промените базу података.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Ово се нарочито порепоручује ако се користи клијент програм у графичком окружењу за синхронизацију.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "За пресељење на другу базу података, користите алат командне линије: 'occ db:convert-type', или погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документацију ↗</a>.", "Error occurred while checking server setup" : "Дошло је до грешке при провери поставки сервера", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Ваша фасцикла са подацима и фајлови су вероватно доступни са интернета. .htaccess фајл не ради. Препоручујемо да подесите Ваш веб сервер тако да је фасцикла са подацима ван фасцикле кореног документа веб сервера.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP заглавље „{header}“ није подешено као „{expected}“. Ово потенцијално угрожава безбедност и приватност и препоручује се да подесите ову поставку.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP заглавље „{header}“ није подешено као „{expected}“. Неке функције можда неће радити исправно, па препоручује се да подесите ову поставку.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "HTTP заглавље \"{header}\" није постављено на \"{val1}\", \"{val2}\", \"{val3}\" или \"{val4}\". Овиме могу процурети информације о рефералу. Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C препоруке</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP заглавље није подешено да буде бар \"{seconds}\" секунди. За додатну сигурност, предлаже се да омогућите HSTS као што је описано у <a href=\"{docUrl}\" rel=\"noreferrer noopener\">сигурносним саветима</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Приступање сајту преко HTTP-а. Препоручује се да подесите Ваш сервер да захтева HTTPS као што је описано у <a href=\"{docUrl}\">безбедоносним саветима</a>.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "HTTP заглавље \"{header}\" није постављено на \"{val1}\", \"{val2}\", \"{val3}\" или \"{val4}\". Овиме могу процурети информације о рефералу. Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C препоруке↗</a>", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "\"Strict-Transport-Security\" HTTP заглавље није подешено да буде бар \"{seconds}\" секунди. За додатну сигурност, предлаже се да омогућите HSTS као што је описано у <a href=\"{docUrl}\" rel=\"noreferrer noopener\">сигурносним саветима↗</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Приступање сајту преко HTTP-а. Препоручује се да подесите Ваш сервер да захтева HTTPS као што је описано у <a href=\"{docUrl}\">безбедоносним саветима↗</a>", "Shared" : "Дељено", "Shared with" : "Дељено са", "Shared by" : "Поделио", @@ -356,6 +370,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "Додај „%s“ као поуздан домен", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "За помоћ, погледајте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацију</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Ваша PHP инсталација нема подршку за freetype. Ово ће довести до неисправних профилних слика и неисправног интерфејса за подешавања.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP заглавље није подешено да буде бар \"{seconds}\" секунди. За додатну сигурност, предлаже се да омогућите HSTS као што је описано у <a href=\"{docUrl}\" rel=\"noreferrer noopener\">сигурносним саветима</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Приступање сајту преко HTTP-а. Препоручује се да подесите Ваш сервер да захтева HTTPS као што је описано у <a href=\"{docUrl}\">безбедоносним саветима</a>.", "Back to log in" : "Назад на пријаву", "Depending on your configuration, this button could also work to trust the domain:" : "У зависности од Ваше конфигурације, овим дугметом може да послужи да почнете да верујете овом домену:" }, diff --git a/core/l10n/sr.json b/core/l10n/sr.json index f97746f9dd4..d884844ae8e 100644 --- a/core/l10n/sr.json +++ b/core/l10n/sr.json @@ -109,6 +109,17 @@ "Strong password" : "Јака лозинка", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ваш сервер није правилно подешен да омогући синхронизацију фајлова. Изгледа да је ВебДАВ сучеље покварено.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Ваш сервер није правилно подешен да разлучи \"{url}\". Можете наћи више информација у <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документацији</a>.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP изгледа није исправно подешен да дохвата променљиве окружења. Тест са getenv(\"PATH\") враћа празну листу као одговор.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">инсталациону документацију ↗</a> за белешке око PHP конфигурације и PHP конфигурацију Вашег сервера, поготову ако користите php-fpm.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Омогућена је конфигурација само за читање. То спречава постављање неке конфигурације преко веб-интерфејса. Осим тога, фајлу мора бити ручно омогућено уписивање код сваког освежавања.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "База података није покренута са \"READ COMMITTED\" нивоом изолације трансакција. Ово може изазвати проблеме ако се више различитих акција изврши у паралели.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Недостаје PHP модул „fileinfo“. Препоручујемо да га укључите да бисте добили најбоље резултате с откривањем MIME типова фајлова.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name} испод верзије {version} је инсталиран. Због стабилности и перформанси, препоручује се ажурирање на новију, {name} верзију.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "Трансактивно закључавање фајлова је искључено, што може довести до проблема са утркивањем процеса. Укључите 'filelocking.enabled' у config.php да бисте избегли проблеме овог типа. Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документацију ↗</a> за више информација.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Ако инсталација није инсталирана у основи домена и користи системски крон, може бити проблема са генерисањем веб адреса. Да бисте избегли ове проблеме, молимо вас да подесите \"overwrite.cli.url\" опцију у вашем config.php фајлу у путању веб-основе ваше инсталације (предложено: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Није било могуће да се изврши крон задатак путем интерфејса командне линије. Појавиле су се следеће техничке грешке:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "Последњи извршени посао у позадини: {relativeTime}. Нешто изгледа није у реду.", + "Check the background job settings" : "Проверите поставке послова у позадини", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Овај сервер нема интернет конекцију: немогуће је доћи до више интернет крајњих тачака. Ово значи да неке могућности као што су качење спољних складишта, обавештења о ажурирањима или инсталација апликација треће стране неће радити. Приступање фајловима споља и слање обавештења е-поштом исто тако може да не ради. Омогућите интернет конекцију на овом серверу ако желите да уживате у свим могућностима.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Нисте подесили меморијски кеш. Да побољшате перформансе, подесите меморијски кеш, ако је доступан. Више информација има у <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документацији</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP не може да чита /dev/urandom. Ово се баш не препоручује из сигурносних разлога. Можете наћи више информација у <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документацији</a>.", @@ -122,13 +133,16 @@ "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Ваша PHP инсталација нема подршку за FreeType. Ово ће довести до неисправних профилних слика и неисправног интерфејса за подешавања.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Индекс \"{indexName}\" недостаје у табели \"{tableName}\".", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "У бази недостају поједини индекси. Због тога што додавање индекса на великим табелама може доста да потраје, индекси се не додају аутоматски. Покретањем \"occ db:add-missing-indices\", индекси који недостају ће бити додати ручно док је инстанца покренута. Једном када су индекси додати, упити над тим табелама ће обично бити много бржи.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Тренутно се као база података користи SQLite. За веће инсталације, препоручујемо да промените базу података.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Ово се нарочито порепоручује ако се користи клијент програм у графичком окружењу за синхронизацију.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "За пресељење на другу базу података, користите алат командне линије: 'occ db:convert-type', или погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документацију ↗</a>.", "Error occurred while checking server setup" : "Дошло је до грешке при провери поставки сервера", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Ваша фасцикла са подацима и фајлови су вероватно доступни са интернета. .htaccess фајл не ради. Препоручујемо да подесите Ваш веб сервер тако да је фасцикла са подацима ван фасцикле кореног документа веб сервера.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP заглавље „{header}“ није подешено као „{expected}“. Ово потенцијално угрожава безбедност и приватност и препоручује се да подесите ову поставку.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP заглавље „{header}“ није подешено као „{expected}“. Неке функције можда неће радити исправно, па препоручује се да подесите ову поставку.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "HTTP заглавље \"{header}\" није постављено на \"{val1}\", \"{val2}\", \"{val3}\" или \"{val4}\". Овиме могу процурети информације о рефералу. Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C препоруке</a>.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP заглавље није подешено да буде бар \"{seconds}\" секунди. За додатну сигурност, предлаже се да омогућите HSTS као што је описано у <a href=\"{docUrl}\" rel=\"noreferrer noopener\">сигурносним саветима</a>.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Приступање сајту преко HTTP-а. Препоручује се да подесите Ваш сервер да захтева HTTPS као што је описано у <a href=\"{docUrl}\">безбедоносним саветима</a>.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "HTTP заглавље \"{header}\" није постављено на \"{val1}\", \"{val2}\", \"{val3}\" или \"{val4}\". Овиме могу процурети информације о рефералу. Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C препоруке↗</a>", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "\"Strict-Transport-Security\" HTTP заглавље није подешено да буде бар \"{seconds}\" секунди. За додатну сигурност, предлаже се да омогућите HSTS као што је описано у <a href=\"{docUrl}\" rel=\"noreferrer noopener\">сигурносним саветима↗</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Приступање сајту преко HTTP-а. Препоручује се да подесите Ваш сервер да захтева HTTPS као што је описано у <a href=\"{docUrl}\">безбедоносним саветима↗</a>", "Shared" : "Дељено", "Shared with" : "Дељено са", "Shared by" : "Поделио", @@ -354,6 +368,8 @@ "Add \"%s\" as trusted domain" : "Додај „%s“ као поуздан домен", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "За помоћ, погледајте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацију</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Ваша PHP инсталација нема подршку за freetype. Ово ће довести до неисправних профилних слика и неисправног интерфејса за подешавања.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP заглавље није подешено да буде бар \"{seconds}\" секунди. За додатну сигурност, предлаже се да омогућите HSTS као што је описано у <a href=\"{docUrl}\" rel=\"noreferrer noopener\">сигурносним саветима</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Приступање сајту преко HTTP-а. Препоручује се да подесите Ваш сервер да захтева HTTPS као што је описано у <a href=\"{docUrl}\">безбедоносним саветима</a>.", "Back to log in" : "Назад на пријаву", "Depending on your configuration, this button could also work to trust the domain:" : "У зависности од Ваше конфигурације, овим дугметом може да послужи да почнете да верујете овом домену:" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" diff --git a/core/l10n/th.js b/core/l10n/th.js deleted file mode 100644 index 0e9683b6787..00000000000 --- a/core/l10n/th.js +++ /dev/null @@ -1,187 +0,0 @@ -OC.L10N.register( - "core", - { - "Please select a file." : "กรุณาเลือกแฟ้ม", - "File is too big" : "ไฟล์มีขนาดใหญ่เกินไป", - "Invalid file provided" : "ระบุไฟล์ไม่ถูกต้อง", - "No image or file provided" : "ไม่มีรูปภาพหรือไฟล์ที่ระบุ", - "Unknown filetype" : "ไม่รู้จักชนิดของไฟล์", - "Invalid image" : "รูปภาพไม่ถูกต้อง", - "An error occurred. Please contact your admin." : "เกิดข้อผิดพลาด กรุณาติดต่อผู้ดูแลระบบของคุณ", - "No temporary profile picture available, try again" : "ไม่มีรูปภาพโปรไฟล์ชั่วคราว กรุณาลองใหม่อีกครั้ง", - "No crop data provided" : "ไม่มีการครอบตัดข้อมูลที่ระบุ", - "No valid crop data provided" : "ไม่ได้ระบุข้อมูลการครอบตัดที่ถูกต้อง", - "Crop is not square" : "การครอบตัดไม่เป็นสี่เหลี่ยม", - "Couldn't reset password because the token is invalid" : "ไม่สามารถตั้งรหัสผ่านใหม่เพราะโทเค็นไม่ถูกต้อง", - "Couldn't reset password because the token is expired" : "ไม่สามารถตั้งค่ารหัสผ่านเพราะโทเค็นหมดอายุ", - "Could not send reset email because there is no email address for this username. Please contact your administrator." : "ไม่สามารถส่งการตั้งค่าไปยังอีเมลเพราะไม่มีที่อยู่อีเมลสำหรับผู้ใช้นี้ กรุณาติดต่อผู้ดูแลระบบ", - "%s password reset" : "%s ตั้งรหัสผ่านใหม่", - "Couldn't send reset email. Please contact your administrator." : "ไม่สามารถส่งข้อมูลการตั้งค่าไปยังอีเมลของคุณ กรุณาติดต่อผู้ดูแลระบบ", - "Couldn't send reset email. Please make sure your username is correct." : "ไม่สามารถส่งข้อมูลการตั้งค่าไปยังอีเมลของคุณ กรุณาตรวจสอบชื่อผู้ใช้ของคุณให้ถูกต้อง", - "Preparing update" : "เตรียมอัพเดท", - "[%d / %d]: %s" : "[%d / %d]: %s", - "Repair warning: " : "เตือนการซ่อมแซม:", - "Repair error: " : "เกิดข้อผิดพลาดในการซ่อมแซม:", - "Please use the command line updater because automatic updating is disabled in the config.php." : "กรุณาใช้คำสั่งการปรับปรุงเพราะการปรับปรุงอัตโนมัติถูกปิดใช้งานใน config.php", - "[%d / %d]: Checking table %s" : "[%d / %d]: กำลังตรวจสอบตาราง %s", - "Turned on maintenance mode" : "เปิดโหมดการบำรุงรักษา", - "Turned off maintenance mode" : "ปิดโหมดการบำรุงรักษา", - "Maintenance mode is kept active" : "โหมดการบำรุงรักษาจะถูกเก็บไว้ใช้งาน", - "Updating database schema" : "กำลังอัพเดทฐานข้อมูล schema", - "Updated database" : "อัพเดทฐานข้อมูลเรียบร้อยแล้ว", - "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "กำลังตรวจสอบว่าฐานข้อมูล schema สามารถอัพเดทได้หรือไม่ (นี้อาจใช้เวลานานขึ้นอยู่กับขนาดของฐานข้อมูล)", - "Checked database schema update" : "Schema อัพเดตของฐานข้อมูลถูกตรวจสอบ", - "Checking updates of apps" : "กำลังตรวจสอบการอัพเดทแอพพลิเคชัน", - "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "กำลังตรวจสอบว่าฐานข้อมูลสำหรับ schema สำหรับ %s ว่าสามารถอัพเดทได้หรือไม่ (นี้จะใช้เวลานานขึ้นอยู่กับขนาดของฐานข้อมูล)", - "Checked database schema update for apps" : "Schema อัพเดตของฐานข้อมูลสำหรับแอพฯ", - "Updated \"%s\" to %s" : "อัพเดท \"%s\" ไปยัง %s", - "Set log level to debug" : "ตั้งค่าระดับบันทึกเพื่อแก้ปัญหา", - "Reset log level" : "ตั้งค่าระดับบันทึกใหม่", - "Starting code integrity check" : "กำลังเริ่มต้นรหัสตรวจสอบความสมบูรณ์", - "Finished code integrity check" : "ตรวจสอบความสมบูรณ์ของรหัสเสร็จสิ้น", - "%s (incompatible)" : "%s (เข้ากันไม่ได้)", - "Following apps have been disabled: %s" : "แอพฯดังต่อไปนี้ถูกปิดการใช้งาน: %s", - "Already up to date" : "มีอยู่แล้วถึงวันที่", - "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">มีปัญหาเกี่ยวกับการตรวจสอบความสมบูรณ์ของรหัส รายละเอียดเพิ่มเติม...</a>", - "Settings" : "ตั้งค่า", - "Saving..." : "กำลังบันทึกข้อมูล...", - "Dismiss" : "ยกเลิก", - "Password" : "รหัสผ่าน", - "seconds ago" : "วินาที ก่อนหน้านี้", - "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "ลิงค์ที่ใช้สำหรับตั้งค่ารหัสผ่านใหม่ ของคุณ ได้ถูกส่งไปยังอีเมลของคุณ หากคุณยังไม่ได้รับอีกเมล ลองไปดูที่โฟลเดอร์ สแปม/ถังขยะ ในอีเมลของคุณ <br>ทั้งนี้หากหาอีเมลไม่พบกรุณาติดต่อผู้ดูแลระบบ", - "I know what I'm doing" : "ฉันรู้ว่าฉันกำลังทำอะไรอยู่", - "Password can not be changed. Please contact your administrator." : "หากคุณไม่สามารถเปลี่ยนแปลงรหัสผ่าน กรุณาติดต่อผู้ดูแลระบบ", - "Reset password" : "เปลี่ยนรหัสผ่านใหม่", - "No" : "ไม่ตกลง", - "Yes" : "ตกลง", - "Choose" : "เลือก", - "Error loading file picker template: {error}" : "เกิดข้อผิดพลาดขณะกำลังโหลดไฟล์เทมเพลต: {error}", - "Error loading message template: {error}" : "เกิดข้อผิดพลาดขณะกำลังโหลดเทมเพลต: {error} ", - "read-only" : "อ่านอย่างเดียว", - "_{count} file conflict_::_{count} file conflicts_" : ["ไฟล์มีปัญหา {count} ไฟล์"], - "One file conflict" : "มีหนึ่งไฟล์ที่มีปัญหา", - "New Files" : "วางทับไฟล์เดิม", - "Already existing files" : "เขียนไฟล์ใหม่", - "Which files do you want to keep?" : "คุณต้องการเก็บไฟล์?", - "If you select both versions, the copied file will have a number added to its name." : "เลือกวางทับไฟล์เดิมหรือ เขียนไฟล์ใหม่จะเพิ่มตัวเลขไปยังชื่อของมัน", - "Cancel" : "ยกเลิก", - "Continue" : "ดำเนินการต่อ", - "(all selected)" : "(เลือกทั้งหมด)", - "({count} selected)" : "(เลือกจำนวน {count})", - "Error loading file exists template" : "เกิดข้อผิดพลาดขณะโหลดไฟล์เทมเพลตที่มีอยู่", - "Very weak password" : "รหัสผ่านระดับต่ำมาก", - "Weak password" : "รหัสผ่านระดับต่ำ", - "So-so password" : "รหัสผ่านระดับปกติ", - "Good password" : "รหัสผ่านระดับดี", - "Strong password" : "รหัสผ่านระดับดีมาก", - "Error occurred while checking server setup" : "เกิดข้อผิดพลาดขณะที่ทำการตรวจสอบการติดตั้งเซิร์ฟเวอร์", - "Shared" : "แชร์แล้ว", - "Error setting expiration date" : "เกิดข้อผิดพลาดในการตั้งค่าวันที่หมดอายุ", - "The public link will expire no later than {days} days after it is created" : "ลิงค์สาธารณะจะหมดอายุภายใน {days} วัน หลังจากที่มันถูกสร้างขึ้น", - "Set expiration date" : "กำหนดวันที่หมดอายุ", - "Expiration" : "การหมดอายุ", - "Expiration date" : "วันที่หมดอายุ", - "Choose a password for the public link" : "เลือกรหัสผ่านสำหรับลิงค์สาธารณะ", - "Resharing is not allowed" : "ไม่อนุญาตให้แชร์ข้อมูลที่ซ้ำกัน", - "Share link" : "แชร์ลิงค์", - "Link" : "ลิงค์", - "Password protect" : "ป้องกันด้วยรหัสผ่าน", - "Allow editing" : "อนุญาตให้แก้ไข", - "Email link to person" : "ส่งลิงก์ให้ทางอีเมล", - "Send" : "ส่ง", - "Shared with you and the group {group} by {owner}" : "ได้แชร์ให้กับคุณ และกลุ่ม {group} โดย {owner}", - "Shared with you by {owner}" : "ถูกแชร์ให้กับคุณโดย {owner}", - "group" : "กลุ่มผู้ใช้งาน", - "remote" : "รีโมท", - "Unshare" : "ยกเลิกการแชร์", - "Could not unshare" : "ไม่สามารถยกเลิกการแชร์ได้", - "Error while sharing" : "เกิดข้อผิดพลาดขณะกำลังแชร์ข้อมูล", - "Share details could not be loaded for this item." : "รายละเอียดการแชร์ไม่สามารถโหลดสำหรับรายการนี้", - "{sharee} (remote)" : "{sharee} (รีโมท)", - "Share" : "แชร์", - "Error" : "ข้อผิดพลาด", - "Error removing share" : "พบข้อผิดพลาดในรายการที่แชร์ออก", - "Non-existing tag #{tag}" : "ไม่มีแท็กนี้อยู่ #{tag}", - "invisible" : "จะมองไม่เห็น", - "({scope})" : "({scope})", - "Delete" : "ลบ", - "Rename" : "เปลี่ยนชื่อ", - "unknown text" : "ข้อความที่ไม่รู้จัก", - "Hello world!" : "สวัสดีทุกคน!", - "sunny" : "แดดมาก", - "Hello {name}, the weather is {weather}" : "สวัสดี {name} สภาพอากาศวันนี้มี {weather}", - "Hello {name}" : "สวัสดี {name}", - "_download %n file_::_download %n files_" : ["ดาวน์โหลด %n ไฟล์"], - "An error occurred." : "เกิดข้อผิดพลาด", - "Please reload the page." : "โปรดโหลดหน้าเว็บใหม่", - "Searching other places" : "กำลังค้นหาสถานที่อื่นๆ", - "_{count} search result in another folder_::_{count} search results in other folders_" : ["ค้นหาพบ {count} ผลลัพธ์ในโฟลเดอร์อื่นๆ"], - "Personal" : "ส่วนตัว", - "Users" : "ผู้ใช้งาน", - "Apps" : "แอปฯ", - "Admin" : "ผู้ดูแล", - "Help" : "ช่วยเหลือ", - "Access forbidden" : "การเข้าถึงถูกหวงห้าม", - "File not found" : "ไม่พบไฟล์", - "The specified document has not been found on the server." : "ไม่พบเอกสารที่ระบุบนเซิร์ฟเวอร์", - "You can click here to return to %s." : "คุณสามารถคลิกที่นี่เพื่อกลับไปยัง %s", - "Internal Server Error" : "เกิดข้อผิดพลาดภายในเซิร์ฟเวอร์", - "More details can be found in the server log." : "รายละเอียดเพิ่มเติมสามารถดูได้ที่บันทึกของระบบเซิร์ฟเวอร์", - "Technical details" : "รายละเอียดทางเทคนิค", - "Remote Address: %s" : "ที่อยู่รีโมท: %s", - "Request ID: %s" : "คำขอ ID: %s", - "Type: %s" : "ชนิด: %s", - "Code: %s" : "โค้ด: %s", - "Message: %s" : "ข้อความ: %s", - "File: %s" : "ไฟล์: %s", - "Line: %s" : "ไลน์: %s", - "Trace" : "ร่องรอย", - "Security warning" : "คำเตือนการรักษาความปลอดภัย", - "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "ข้อมูลไดเรกทอรีและไฟล์ของคุณ อาจไม่สามารถเข้าถึงได้จากอินเทอร์เน็ตเพราะ htaccess ไฟล์ไม่ทำงาน", - "Create an <strong>admin account</strong>" : "สร้าง <strong>บัญชีผู้ดูแลระบบ</strong>", - "Username" : "ชื่อผู้ใช้งาน", - "Storage & database" : "พื้นที่จัดเก็บข้อมูลและฐานข้อมูล", - "Data folder" : "โฟลเดอร์เก็บข้อมูล", - "Configure the database" : "ตั้งค่าฐานข้อมูล", - "Only %s is available." : "เฉพาะ %s สามารถใช้ได้", - "Install and activate additional PHP modules to choose other database types." : "ติดตั้งและเปิดใช้งานโมดูล PHP เพิ่มเติมเพื่อเลือกชนิดฐานข้อมูลอื่นๆ", - "For more details check out the documentation." : "สำหรับรายละเอียดเพิ่มเติมสามารถตรวจสอบได้ที่ <a href=\"%s\" target=\"_blank\">เอกสาร</a>", - "Database user" : "ชื่อผู้ใช้งานฐานข้อมูล", - "Database password" : "รหัสผ่านฐานข้อมูล", - "Database name" : "ชื่อฐานข้อมูล", - "Database tablespace" : "พื้นที่ตารางในฐานข้อมูล", - "Database host" : "Database host", - "Performance warning" : "คำเตือนเรื่องประสิทธิภาพการทำงาน", - "SQLite will be used as database." : "SQLite จะถูกใช้เป็นฐานข้อมูล", - "For larger installations we recommend to choose a different database backend." : "สำหรับการติดตั้งขนาดใหญ่เราขอแนะนำให้เลือกแบ็กเอนด์ฐานข้อมูลที่แตกต่างกัน", - "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการประสานข้อมูลโดย SQLite", - "Finish setup" : "ติดตั้งเลย", - "Finishing …" : "เสร็จสิ้น ...", - "Need help?" : "ต้องการความช่วยเหลือ?", - "See the documentation" : "ดูได้จากเอกสาร", - "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "โปรแกรมนี้ต้องการ JavaScript สำหรับการดำเนินงานที่ถูกต้อง กรุณา {linkstart}เปิดใช้งาน JavaScript{linkend} และโหลดหน้าเว็บ", - "Search" : "ค้นหา", - "Server side authentication failed!" : "การรับรองความถูกต้องจากเซิร์ฟเวอร์ล้มเหลว!", - "Please contact your administrator." : "กรุณาติดต่อผู้ดูแลระบบ", - "Please try again or contact your administrator." : "โปรดลองอีกครั้งหรือติดต่อผู้ดูแลระบบ", - "Log in" : "เข้าสู่ระบบ", - "Wrong password." : "รหัสผ่านผิดพลาด", - "New password" : "รหัสผ่านใหม่", - "New Password" : "รหัสผ่านใหม่", - "App update required" : "จำเป้นต้องอัพเดทแอพฯ", - "%s will be updated to version %s" : "%s จะถูกอัพเดทเป็นเวอร์ชัน %s", - "These apps will be updated:" : "แอพพลิเคชันเหล่านี้จะถูกอัพเดท:", - "These incompatible apps will be disabled:" : "แอพพลิเคชันเหล่านี้เข้ากันไม่ได้จะถูกปิดการใช้งาน:", - "The theme %s has been disabled." : "ธีม %s จะถูกปิดการใช้งาน:", - "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "โปรดตรวจสอบฐานข้อมูล การตั้งค่าโฟลเดอร์และโฟลเดอร์ข้อมูลจะถูกสำรองไว้ก่อนดำเนินการ", - "Start update" : "เริ่มต้นอัพเดท", - "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "เพื่อหลีกเลี่ยงการหมดเวลากับการติดตั้งขนาดใหญ่ คุณสามารถเรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีการติดตั้งของคุณ:", - "This %s instance is currently in maintenance mode, which may take a while." : "%s กำลังอยู่ในโหมดการบำรุงรักษาซึ่งอาจใช้เวลาสักครู่", - "This page will refresh itself when the %s instance is available again." : "หน้านี้จะรีเฟรชตัวเองเมื่อ %s สามารถใช้ได้อีกครั้ง", - "Contact your system administrator if this message persists or appeared unexpectedly." : "ติดต่อผู้ดูแลระบบของคุณหากข้อความนี้ยังคงมีอยู่หรือปรากฏโดยไม่คาดคิด", - "Thank you for your patience." : "ขอบคุณสำหรับความอดทนของคุณ เราจะนำความคิดเห็นของท่านมาปรับปรุงระบบให้ดียิ่งขึ้น", - "Stay logged in" : "จดจำฉัน", - "Alternative Logins" : "ทางเลือกการเข้าสู่ระบบ", - "Add \"%s\" as trusted domain" : "ได้เพิ่ม \"%s\" เป็นโดเมนที่เชื่อถือ" -}, -"nplurals=1; plural=0;"); diff --git a/core/l10n/th.json b/core/l10n/th.json deleted file mode 100644 index 9f75aac1b70..00000000000 --- a/core/l10n/th.json +++ /dev/null @@ -1,185 +0,0 @@ -{ "translations": { - "Please select a file." : "กรุณาเลือกแฟ้ม", - "File is too big" : "ไฟล์มีขนาดใหญ่เกินไป", - "Invalid file provided" : "ระบุไฟล์ไม่ถูกต้อง", - "No image or file provided" : "ไม่มีรูปภาพหรือไฟล์ที่ระบุ", - "Unknown filetype" : "ไม่รู้จักชนิดของไฟล์", - "Invalid image" : "รูปภาพไม่ถูกต้อง", - "An error occurred. Please contact your admin." : "เกิดข้อผิดพลาด กรุณาติดต่อผู้ดูแลระบบของคุณ", - "No temporary profile picture available, try again" : "ไม่มีรูปภาพโปรไฟล์ชั่วคราว กรุณาลองใหม่อีกครั้ง", - "No crop data provided" : "ไม่มีการครอบตัดข้อมูลที่ระบุ", - "No valid crop data provided" : "ไม่ได้ระบุข้อมูลการครอบตัดที่ถูกต้อง", - "Crop is not square" : "การครอบตัดไม่เป็นสี่เหลี่ยม", - "Couldn't reset password because the token is invalid" : "ไม่สามารถตั้งรหัสผ่านใหม่เพราะโทเค็นไม่ถูกต้อง", - "Couldn't reset password because the token is expired" : "ไม่สามารถตั้งค่ารหัสผ่านเพราะโทเค็นหมดอายุ", - "Could not send reset email because there is no email address for this username. Please contact your administrator." : "ไม่สามารถส่งการตั้งค่าไปยังอีเมลเพราะไม่มีที่อยู่อีเมลสำหรับผู้ใช้นี้ กรุณาติดต่อผู้ดูแลระบบ", - "%s password reset" : "%s ตั้งรหัสผ่านใหม่", - "Couldn't send reset email. Please contact your administrator." : "ไม่สามารถส่งข้อมูลการตั้งค่าไปยังอีเมลของคุณ กรุณาติดต่อผู้ดูแลระบบ", - "Couldn't send reset email. Please make sure your username is correct." : "ไม่สามารถส่งข้อมูลการตั้งค่าไปยังอีเมลของคุณ กรุณาตรวจสอบชื่อผู้ใช้ของคุณให้ถูกต้อง", - "Preparing update" : "เตรียมอัพเดท", - "[%d / %d]: %s" : "[%d / %d]: %s", - "Repair warning: " : "เตือนการซ่อมแซม:", - "Repair error: " : "เกิดข้อผิดพลาดในการซ่อมแซม:", - "Please use the command line updater because automatic updating is disabled in the config.php." : "กรุณาใช้คำสั่งการปรับปรุงเพราะการปรับปรุงอัตโนมัติถูกปิดใช้งานใน config.php", - "[%d / %d]: Checking table %s" : "[%d / %d]: กำลังตรวจสอบตาราง %s", - "Turned on maintenance mode" : "เปิดโหมดการบำรุงรักษา", - "Turned off maintenance mode" : "ปิดโหมดการบำรุงรักษา", - "Maintenance mode is kept active" : "โหมดการบำรุงรักษาจะถูกเก็บไว้ใช้งาน", - "Updating database schema" : "กำลังอัพเดทฐานข้อมูล schema", - "Updated database" : "อัพเดทฐานข้อมูลเรียบร้อยแล้ว", - "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "กำลังตรวจสอบว่าฐานข้อมูล schema สามารถอัพเดทได้หรือไม่ (นี้อาจใช้เวลานานขึ้นอยู่กับขนาดของฐานข้อมูล)", - "Checked database schema update" : "Schema อัพเดตของฐานข้อมูลถูกตรวจสอบ", - "Checking updates of apps" : "กำลังตรวจสอบการอัพเดทแอพพลิเคชัน", - "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "กำลังตรวจสอบว่าฐานข้อมูลสำหรับ schema สำหรับ %s ว่าสามารถอัพเดทได้หรือไม่ (นี้จะใช้เวลานานขึ้นอยู่กับขนาดของฐานข้อมูล)", - "Checked database schema update for apps" : "Schema อัพเดตของฐานข้อมูลสำหรับแอพฯ", - "Updated \"%s\" to %s" : "อัพเดท \"%s\" ไปยัง %s", - "Set log level to debug" : "ตั้งค่าระดับบันทึกเพื่อแก้ปัญหา", - "Reset log level" : "ตั้งค่าระดับบันทึกใหม่", - "Starting code integrity check" : "กำลังเริ่มต้นรหัสตรวจสอบความสมบูรณ์", - "Finished code integrity check" : "ตรวจสอบความสมบูรณ์ของรหัสเสร็จสิ้น", - "%s (incompatible)" : "%s (เข้ากันไม่ได้)", - "Following apps have been disabled: %s" : "แอพฯดังต่อไปนี้ถูกปิดการใช้งาน: %s", - "Already up to date" : "มีอยู่แล้วถึงวันที่", - "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">มีปัญหาเกี่ยวกับการตรวจสอบความสมบูรณ์ของรหัส รายละเอียดเพิ่มเติม...</a>", - "Settings" : "ตั้งค่า", - "Saving..." : "กำลังบันทึกข้อมูล...", - "Dismiss" : "ยกเลิก", - "Password" : "รหัสผ่าน", - "seconds ago" : "วินาที ก่อนหน้านี้", - "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "ลิงค์ที่ใช้สำหรับตั้งค่ารหัสผ่านใหม่ ของคุณ ได้ถูกส่งไปยังอีเมลของคุณ หากคุณยังไม่ได้รับอีกเมล ลองไปดูที่โฟลเดอร์ สแปม/ถังขยะ ในอีเมลของคุณ <br>ทั้งนี้หากหาอีเมลไม่พบกรุณาติดต่อผู้ดูแลระบบ", - "I know what I'm doing" : "ฉันรู้ว่าฉันกำลังทำอะไรอยู่", - "Password can not be changed. Please contact your administrator." : "หากคุณไม่สามารถเปลี่ยนแปลงรหัสผ่าน กรุณาติดต่อผู้ดูแลระบบ", - "Reset password" : "เปลี่ยนรหัสผ่านใหม่", - "No" : "ไม่ตกลง", - "Yes" : "ตกลง", - "Choose" : "เลือก", - "Error loading file picker template: {error}" : "เกิดข้อผิดพลาดขณะกำลังโหลดไฟล์เทมเพลต: {error}", - "Error loading message template: {error}" : "เกิดข้อผิดพลาดขณะกำลังโหลดเทมเพลต: {error} ", - "read-only" : "อ่านอย่างเดียว", - "_{count} file conflict_::_{count} file conflicts_" : ["ไฟล์มีปัญหา {count} ไฟล์"], - "One file conflict" : "มีหนึ่งไฟล์ที่มีปัญหา", - "New Files" : "วางทับไฟล์เดิม", - "Already existing files" : "เขียนไฟล์ใหม่", - "Which files do you want to keep?" : "คุณต้องการเก็บไฟล์?", - "If you select both versions, the copied file will have a number added to its name." : "เลือกวางทับไฟล์เดิมหรือ เขียนไฟล์ใหม่จะเพิ่มตัวเลขไปยังชื่อของมัน", - "Cancel" : "ยกเลิก", - "Continue" : "ดำเนินการต่อ", - "(all selected)" : "(เลือกทั้งหมด)", - "({count} selected)" : "(เลือกจำนวน {count})", - "Error loading file exists template" : "เกิดข้อผิดพลาดขณะโหลดไฟล์เทมเพลตที่มีอยู่", - "Very weak password" : "รหัสผ่านระดับต่ำมาก", - "Weak password" : "รหัสผ่านระดับต่ำ", - "So-so password" : "รหัสผ่านระดับปกติ", - "Good password" : "รหัสผ่านระดับดี", - "Strong password" : "รหัสผ่านระดับดีมาก", - "Error occurred while checking server setup" : "เกิดข้อผิดพลาดขณะที่ทำการตรวจสอบการติดตั้งเซิร์ฟเวอร์", - "Shared" : "แชร์แล้ว", - "Error setting expiration date" : "เกิดข้อผิดพลาดในการตั้งค่าวันที่หมดอายุ", - "The public link will expire no later than {days} days after it is created" : "ลิงค์สาธารณะจะหมดอายุภายใน {days} วัน หลังจากที่มันถูกสร้างขึ้น", - "Set expiration date" : "กำหนดวันที่หมดอายุ", - "Expiration" : "การหมดอายุ", - "Expiration date" : "วันที่หมดอายุ", - "Choose a password for the public link" : "เลือกรหัสผ่านสำหรับลิงค์สาธารณะ", - "Resharing is not allowed" : "ไม่อนุญาตให้แชร์ข้อมูลที่ซ้ำกัน", - "Share link" : "แชร์ลิงค์", - "Link" : "ลิงค์", - "Password protect" : "ป้องกันด้วยรหัสผ่าน", - "Allow editing" : "อนุญาตให้แก้ไข", - "Email link to person" : "ส่งลิงก์ให้ทางอีเมล", - "Send" : "ส่ง", - "Shared with you and the group {group} by {owner}" : "ได้แชร์ให้กับคุณ และกลุ่ม {group} โดย {owner}", - "Shared with you by {owner}" : "ถูกแชร์ให้กับคุณโดย {owner}", - "group" : "กลุ่มผู้ใช้งาน", - "remote" : "รีโมท", - "Unshare" : "ยกเลิกการแชร์", - "Could not unshare" : "ไม่สามารถยกเลิกการแชร์ได้", - "Error while sharing" : "เกิดข้อผิดพลาดขณะกำลังแชร์ข้อมูล", - "Share details could not be loaded for this item." : "รายละเอียดการแชร์ไม่สามารถโหลดสำหรับรายการนี้", - "{sharee} (remote)" : "{sharee} (รีโมท)", - "Share" : "แชร์", - "Error" : "ข้อผิดพลาด", - "Error removing share" : "พบข้อผิดพลาดในรายการที่แชร์ออก", - "Non-existing tag #{tag}" : "ไม่มีแท็กนี้อยู่ #{tag}", - "invisible" : "จะมองไม่เห็น", - "({scope})" : "({scope})", - "Delete" : "ลบ", - "Rename" : "เปลี่ยนชื่อ", - "unknown text" : "ข้อความที่ไม่รู้จัก", - "Hello world!" : "สวัสดีทุกคน!", - "sunny" : "แดดมาก", - "Hello {name}, the weather is {weather}" : "สวัสดี {name} สภาพอากาศวันนี้มี {weather}", - "Hello {name}" : "สวัสดี {name}", - "_download %n file_::_download %n files_" : ["ดาวน์โหลด %n ไฟล์"], - "An error occurred." : "เกิดข้อผิดพลาด", - "Please reload the page." : "โปรดโหลดหน้าเว็บใหม่", - "Searching other places" : "กำลังค้นหาสถานที่อื่นๆ", - "_{count} search result in another folder_::_{count} search results in other folders_" : ["ค้นหาพบ {count} ผลลัพธ์ในโฟลเดอร์อื่นๆ"], - "Personal" : "ส่วนตัว", - "Users" : "ผู้ใช้งาน", - "Apps" : "แอปฯ", - "Admin" : "ผู้ดูแล", - "Help" : "ช่วยเหลือ", - "Access forbidden" : "การเข้าถึงถูกหวงห้าม", - "File not found" : "ไม่พบไฟล์", - "The specified document has not been found on the server." : "ไม่พบเอกสารที่ระบุบนเซิร์ฟเวอร์", - "You can click here to return to %s." : "คุณสามารถคลิกที่นี่เพื่อกลับไปยัง %s", - "Internal Server Error" : "เกิดข้อผิดพลาดภายในเซิร์ฟเวอร์", - "More details can be found in the server log." : "รายละเอียดเพิ่มเติมสามารถดูได้ที่บันทึกของระบบเซิร์ฟเวอร์", - "Technical details" : "รายละเอียดทางเทคนิค", - "Remote Address: %s" : "ที่อยู่รีโมท: %s", - "Request ID: %s" : "คำขอ ID: %s", - "Type: %s" : "ชนิด: %s", - "Code: %s" : "โค้ด: %s", - "Message: %s" : "ข้อความ: %s", - "File: %s" : "ไฟล์: %s", - "Line: %s" : "ไลน์: %s", - "Trace" : "ร่องรอย", - "Security warning" : "คำเตือนการรักษาความปลอดภัย", - "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "ข้อมูลไดเรกทอรีและไฟล์ของคุณ อาจไม่สามารถเข้าถึงได้จากอินเทอร์เน็ตเพราะ htaccess ไฟล์ไม่ทำงาน", - "Create an <strong>admin account</strong>" : "สร้าง <strong>บัญชีผู้ดูแลระบบ</strong>", - "Username" : "ชื่อผู้ใช้งาน", - "Storage & database" : "พื้นที่จัดเก็บข้อมูลและฐานข้อมูล", - "Data folder" : "โฟลเดอร์เก็บข้อมูล", - "Configure the database" : "ตั้งค่าฐานข้อมูล", - "Only %s is available." : "เฉพาะ %s สามารถใช้ได้", - "Install and activate additional PHP modules to choose other database types." : "ติดตั้งและเปิดใช้งานโมดูล PHP เพิ่มเติมเพื่อเลือกชนิดฐานข้อมูลอื่นๆ", - "For more details check out the documentation." : "สำหรับรายละเอียดเพิ่มเติมสามารถตรวจสอบได้ที่ <a href=\"%s\" target=\"_blank\">เอกสาร</a>", - "Database user" : "ชื่อผู้ใช้งานฐานข้อมูล", - "Database password" : "รหัสผ่านฐานข้อมูล", - "Database name" : "ชื่อฐานข้อมูล", - "Database tablespace" : "พื้นที่ตารางในฐานข้อมูล", - "Database host" : "Database host", - "Performance warning" : "คำเตือนเรื่องประสิทธิภาพการทำงาน", - "SQLite will be used as database." : "SQLite จะถูกใช้เป็นฐานข้อมูล", - "For larger installations we recommend to choose a different database backend." : "สำหรับการติดตั้งขนาดใหญ่เราขอแนะนำให้เลือกแบ็กเอนด์ฐานข้อมูลที่แตกต่างกัน", - "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการประสานข้อมูลโดย SQLite", - "Finish setup" : "ติดตั้งเลย", - "Finishing …" : "เสร็จสิ้น ...", - "Need help?" : "ต้องการความช่วยเหลือ?", - "See the documentation" : "ดูได้จากเอกสาร", - "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "โปรแกรมนี้ต้องการ JavaScript สำหรับการดำเนินงานที่ถูกต้อง กรุณา {linkstart}เปิดใช้งาน JavaScript{linkend} และโหลดหน้าเว็บ", - "Search" : "ค้นหา", - "Server side authentication failed!" : "การรับรองความถูกต้องจากเซิร์ฟเวอร์ล้มเหลว!", - "Please contact your administrator." : "กรุณาติดต่อผู้ดูแลระบบ", - "Please try again or contact your administrator." : "โปรดลองอีกครั้งหรือติดต่อผู้ดูแลระบบ", - "Log in" : "เข้าสู่ระบบ", - "Wrong password." : "รหัสผ่านผิดพลาด", - "New password" : "รหัสผ่านใหม่", - "New Password" : "รหัสผ่านใหม่", - "App update required" : "จำเป้นต้องอัพเดทแอพฯ", - "%s will be updated to version %s" : "%s จะถูกอัพเดทเป็นเวอร์ชัน %s", - "These apps will be updated:" : "แอพพลิเคชันเหล่านี้จะถูกอัพเดท:", - "These incompatible apps will be disabled:" : "แอพพลิเคชันเหล่านี้เข้ากันไม่ได้จะถูกปิดการใช้งาน:", - "The theme %s has been disabled." : "ธีม %s จะถูกปิดการใช้งาน:", - "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "โปรดตรวจสอบฐานข้อมูล การตั้งค่าโฟลเดอร์และโฟลเดอร์ข้อมูลจะถูกสำรองไว้ก่อนดำเนินการ", - "Start update" : "เริ่มต้นอัพเดท", - "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "เพื่อหลีกเลี่ยงการหมดเวลากับการติดตั้งขนาดใหญ่ คุณสามารถเรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีการติดตั้งของคุณ:", - "This %s instance is currently in maintenance mode, which may take a while." : "%s กำลังอยู่ในโหมดการบำรุงรักษาซึ่งอาจใช้เวลาสักครู่", - "This page will refresh itself when the %s instance is available again." : "หน้านี้จะรีเฟรชตัวเองเมื่อ %s สามารถใช้ได้อีกครั้ง", - "Contact your system administrator if this message persists or appeared unexpectedly." : "ติดต่อผู้ดูแลระบบของคุณหากข้อความนี้ยังคงมีอยู่หรือปรากฏโดยไม่คาดคิด", - "Thank you for your patience." : "ขอบคุณสำหรับความอดทนของคุณ เราจะนำความคิดเห็นของท่านมาปรับปรุงระบบให้ดียิ่งขึ้น", - "Stay logged in" : "จดจำฉัน", - "Alternative Logins" : "ทางเลือกการเข้าสู่ระบบ", - "Add \"%s\" as trusted domain" : "ได้เพิ่ม \"%s\" เป็นโดเมนที่เชื่อถือ" -},"pluralForm" :"nplurals=1; plural=0;" -}
\ No newline at end of file diff --git a/core/l10n/tr.js b/core/l10n/tr.js index 340b6c43d68..d05262f1753 100644 --- a/core/l10n/tr.js +++ b/core/l10n/tr.js @@ -111,6 +111,17 @@ OC.L10N.register( "Strong password" : "Parola güçlü", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Web sunucunuz dosya eşitlemesi için doğru şekilde ayarlanmamış. WebDAV arabirimi sorunlu görünüyor.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Web sunucunuz \"{url}\" adresini çözümleyebilmesi için doğru şekilde ayarlanmamış. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP yanlış kurulmuş ve sistem ortam değişkenlerini okuyamıyor gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir yanıt alındı.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Lütfen PHP yapılandırma notları ve özellikle php-fpm kullanırken sunucunuzdaki PHP yapılandırması için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">kurulum belgelerine ↗</a> bakın.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt okunur yapılandırma etkinleştirilmiş. Bu yapılandırma, bazı ayarların web arayüzünden yapılmasını önler. Ayrıca, bu dosyanın her güncelleme öncesinde el ile yazılabilir yapılması gerekir.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Veritabanınız \"READ COMMITTED\" işlem yalıtma düzeyinde çalışmıyor. Bu durum aynı anda birden çok işlem yapıldığında sorun çıkmasına yol açabilir.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP \"fileinfo\" modülü bulunamadı. MIME türü algılamasında en iyi sonuçları elde etmek için bu modülü etkinleştirmeniz önerilir.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name}, {version} sürümünden daha düşük bir sürüm kurulu. Kararlılık ve başarım için daha yeni bir {name} sürümüne güncellemeniz önerilir.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "İşlemsel dosya kilidi devre dışı. Bu durum yarış koşullarında (race condition) sorun çıkarabilir. Bu sorunlardan kaçınmak için config.php dosyasındaki 'filelocking.enabled' seçeneğini etkinleştirin. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere ↗</a> bakabilirsiniz.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Kurulumunuz etki alanının kök klasörüne yapılmamış ve sistem Zamanlanmış Görevini kullanıyorsa, İnternet adresi oluşturma sorunları oluşabilir. Bu sorunların önüne geçmek için, kurulumunuzun config.php dosyasındaki \"overwrite.cli.url\" seçeneğini web kök klasörü olarak ayarlayın (Önerilen: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Zamanlanmış görev CLI üzerinden çalıştırılamadı. Şu teknik sorunlar çıktı:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "Görevin art alanda son olarak {relativeTime} zamanında yürütülmüş. Bir şeyler yanlış görünüyor.", + "Check the background job settings" : "Art alan görevi ayarlarını denetleyin", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Bu sunucunun çalışan bir İnternet bağlantısı yok. Birden çok uç noktaya erişilemez. Bu durumda dış depolama alanı bağlama, güncelleme bildirimleri ya da üçüncü taraf uygulamalarını kurmak gibi bazı özellikler çalışmaz. Dosyalara uzaktan erişim ve bildirim e-postalarının gönderilmesi işlemleri de yapılamaz. Tüm bu özelliklerin kullanılabilmesi için sunucuyu İnternet üzerine bağlamanız önerilir.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Henüz bir ön bellek yapılandırılmamış. Olabiliyorsa başarımı arttırmak için memcache ön bellek ayarlarını yapın. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Güvenlik nedeniyle kullanılması önerilen /dev/urandom klasörü PHP tarafından okunamıyor. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.", @@ -124,13 +135,16 @@ OC.L10N.register( "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "PHP kurulumunuzda FreeType desteği yok. Bu durum profil görsellerinin ve ayarlar bölümünün bozuk görüntülenmesine neden olur.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "\"{tableName}\" tablosundaki \"{indexName}\" dizini eksik.", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "Veritabanında bazı dizinler eksik. Büyük tablolara dizinlerin eklenmesi uzun sürebildiğinden bu işlem otomatik olarak yapılmaz. Sunucunuz normal çalışırken eksik dizinleri el ile eklemek için \"occ db:add-missing-indices\" komutunu yürütün. Dizinler eklendikten sonra bu tablolar üzerindeki sorgular çok daha hızlı yürütülür.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Şu anda veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneriyoruz.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' ya da <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere ↗</a> bakın.", "Error occurred while checking server setup" : "Sunucu ayarları denetlenirken sorun çıktı", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Veri klasörünüz ve dosyalarınız İnternet üzerinden erişime açık olabilir. .htaccess dosyası çalışmıyor. Web sunucunuzu yapılandırarak veri klasörüne erişimi engellemeniz ya da veri klasörünü web sunucu kök klasörü dışına taşımanız önemle önerilir.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP üst bilgisi \"{expected}\" şeklinde ayarlanmamış. Bu durum olası bir güvenlik ya da gizlilik riski oluşturduğundan bu ayarın belirtildiği gibi yapılması önerilir.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP üst bilgisi \"{expected}\" şeklinde ayarlanmamış. Bu durum bazı özelliklerin düzgün çalışmasını engelleyebileceğinden bu ayarın belirtildiği gibi yapılması önerilir.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "\"{header}\" HTTP üst bilgisi \"{val1}\", \"{val2}\", \"{val3}\" ya da \"{val4}\" olarak ayarlanmamış. Bu durum yönlendiren bilgilerinin sızmasına neden olabilir. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Önerilerine</a> bakabilirsiniz.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP üst bilgisi en azından\"{seconds}\" saniyedir ayarlanmamış. Gelişmiş güvenlik sağlamak için <a href=\"{docUrl}\" rel=\"noreferrer noopener\">güvenlik ipuçlarında</a> anlatıldığı şekilde HSTS özelliğinin etkinleştirilmesi önerilir.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Siteye HTTP üzerinden erişiliyor. Sunucunuzu <a href=\"{docUrl}\">güvenlik ipuçlarında</a> anlatıldığı şekilde HTTPS kullanımı gerekecek şekilde yapılandırmanız önemle önerilir.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "\"{header}\" HTTP üst bilgisi \"{val1}\", \"{val2}\", \"{val3}\" ya da \"{val4}\" olarak ayarlanmamış. Bu durum yönlendiren bilgilerinin sızmasına neden olabilir. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Önerilerine ↗</a> bakabilirsiniz.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "\"Strict-Transport-Security\" HTTP üst bilgisi en azından\"{seconds}\" saniyedir ayarlanmamış. Gelişmiş güvenlik sağlamak için <a href=\"{docUrl}\" rel=\"noreferrer noopener\">güvenlik ipuçlarında ↗</a> anlatıldığı şekilde HSTS özelliğinin etkinleştirilmesi önerilir.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Siteye HTTP üzerinden erişiliyor. Sunucunuzu <a href=\"{docUrl}\">güvenlik ipuçlarında ↗</a> anlatıldığı şekilde HTTPS kullanımı gerekecek şekilde yapılandırmanız önemle önerilir.", "Shared" : "Paylaşılmış", "Shared with" : "Paylaşılanlar", "Shared by" : "Paylaşan", @@ -356,6 +370,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "\"%s\" etki alanını güvenilir olarak ekle", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Yardım almak için, <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">belgelere</a> bakın.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP kurulumunuzda FreeType desteği yok. Bu durum profil görsellerinin ve ayarlar bölümünün bozuk görüntülenmesine neden olur.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP üst bilgisi en azından\"{seconds}\" saniyedir ayarlanmamış. Gelişmiş güvenlik sağlamak için <a href=\"{docUrl}\" rel=\"noreferrer noopener\">güvenlik ipuçlarında</a> anlatıldığı şekilde HSTS özelliğinin etkinleştirilmesi önerilir.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Siteye HTTP üzerinden erişiliyor. Sunucunuzu <a href=\"{docUrl}\">güvenlik ipuçlarında</a> anlatıldığı şekilde HTTPS kullanımı gerekecek şekilde yapılandırmanız önemle önerilir.", "Back to log in" : "Oturum açmaya geri dön", "Depending on your configuration, this button could also work to trust the domain:" : "Yapılandırmanıza bağlı olarak, bu düğme etki alanına güvenmek için de kullanılabilir:" }, diff --git a/core/l10n/tr.json b/core/l10n/tr.json index 09b117255f1..de4751fd62c 100644 --- a/core/l10n/tr.json +++ b/core/l10n/tr.json @@ -109,6 +109,17 @@ "Strong password" : "Parola güçlü", "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Web sunucunuz dosya eşitlemesi için doğru şekilde ayarlanmamış. WebDAV arabirimi sorunlu görünüyor.", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Web sunucunuz \"{url}\" adresini çözümleyebilmesi için doğru şekilde ayarlanmamış. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP yanlış kurulmuş ve sistem ortam değişkenlerini okuyamıyor gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir yanıt alındı.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Lütfen PHP yapılandırma notları ve özellikle php-fpm kullanırken sunucunuzdaki PHP yapılandırması için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">kurulum belgelerine ↗</a> bakın.", + "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt okunur yapılandırma etkinleştirilmiş. Bu yapılandırma, bazı ayarların web arayüzünden yapılmasını önler. Ayrıca, bu dosyanın her güncelleme öncesinde el ile yazılabilir yapılması gerekir.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Veritabanınız \"READ COMMITTED\" işlem yalıtma düzeyinde çalışmıyor. Bu durum aynı anda birden çok işlem yapıldığında sorun çıkmasına yol açabilir.", + "The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP \"fileinfo\" modülü bulunamadı. MIME türü algılamasında en iyi sonuçları elde etmek için bu modülü etkinleştirmeniz önerilir.", + "{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name}, {version} sürümünden daha düşük bir sürüm kurulu. Kararlılık ve başarım için daha yeni bir {name} sürümüne güncellemeniz önerilir.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "İşlemsel dosya kilidi devre dışı. Bu durum yarış koşullarında (race condition) sorun çıkarabilir. Bu sorunlardan kaçınmak için config.php dosyasındaki 'filelocking.enabled' seçeneğini etkinleştirin. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere ↗</a> bakabilirsiniz.", + "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "Kurulumunuz etki alanının kök klasörüne yapılmamış ve sistem Zamanlanmış Görevini kullanıyorsa, İnternet adresi oluşturma sorunları oluşabilir. Bu sorunların önüne geçmek için, kurulumunuzun config.php dosyasındaki \"overwrite.cli.url\" seçeneğini web kök klasörü olarak ayarlayın (Önerilen: \"{suggestedOverwriteCliURL}\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Zamanlanmış görev CLI üzerinden çalıştırılamadı. Şu teknik sorunlar çıktı:", + "Last background job execution ran {relativeTime}. Something seems wrong." : "Görevin art alanda son olarak {relativeTime} zamanında yürütülmüş. Bir şeyler yanlış görünüyor.", + "Check the background job settings" : "Art alan görevi ayarlarını denetleyin", "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Bu sunucunun çalışan bir İnternet bağlantısı yok. Birden çok uç noktaya erişilemez. Bu durumda dış depolama alanı bağlama, güncelleme bildirimleri ya da üçüncü taraf uygulamalarını kurmak gibi bazı özellikler çalışmaz. Dosyalara uzaktan erişim ve bildirim e-postalarının gönderilmesi işlemleri de yapılamaz. Tüm bu özelliklerin kullanılabilmesi için sunucuyu İnternet üzerine bağlamanız önerilir.", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Henüz bir ön bellek yapılandırılmamış. Olabiliyorsa başarımı arttırmak için memcache ön bellek ayarlarını yapın. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Güvenlik nedeniyle kullanılması önerilen /dev/urandom klasörü PHP tarafından okunamıyor. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.", @@ -122,13 +133,16 @@ "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "PHP kurulumunuzda FreeType desteği yok. Bu durum profil görsellerinin ve ayarlar bölümünün bozuk görüntülenmesine neden olur.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "\"{tableName}\" tablosundaki \"{indexName}\" dizini eksik.", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "Veritabanında bazı dizinler eksik. Büyük tablolara dizinlerin eklenmesi uzun sürebildiğinden bu işlem otomatik olarak yapılmaz. Sunucunuz normal çalışırken eksik dizinleri el ile eklemek için \"occ db:add-missing-indices\" komutunu yürütün. Dizinler eklendikten sonra bu tablolar üzerindeki sorgular çok daha hızlı yürütülür.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Şu anda veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneriyoruz.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' ya da <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere ↗</a> bakın.", "Error occurred while checking server setup" : "Sunucu ayarları denetlenirken sorun çıktı", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Veri klasörünüz ve dosyalarınız İnternet üzerinden erişime açık olabilir. .htaccess dosyası çalışmıyor. Web sunucunuzu yapılandırarak veri klasörüne erişimi engellemeniz ya da veri klasörünü web sunucu kök klasörü dışına taşımanız önemle önerilir.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP üst bilgisi \"{expected}\" şeklinde ayarlanmamış. Bu durum olası bir güvenlik ya da gizlilik riski oluşturduğundan bu ayarın belirtildiği gibi yapılması önerilir.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP üst bilgisi \"{expected}\" şeklinde ayarlanmamış. Bu durum bazı özelliklerin düzgün çalışmasını engelleyebileceğinden bu ayarın belirtildiği gibi yapılması önerilir.", - "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation</a>." : "\"{header}\" HTTP üst bilgisi \"{val1}\", \"{val2}\", \"{val3}\" ya da \"{val4}\" olarak ayarlanmamış. Bu durum yönlendiren bilgilerinin sızmasına neden olabilir. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Önerilerine</a> bakabilirsiniz.", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP üst bilgisi en azından\"{seconds}\" saniyedir ayarlanmamış. Gelişmiş güvenlik sağlamak için <a href=\"{docUrl}\" rel=\"noreferrer noopener\">güvenlik ipuçlarında</a> anlatıldığı şekilde HSTS özelliğinin etkinleştirilmesi önerilir.", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Siteye HTTP üzerinden erişiliyor. Sunucunuzu <a href=\"{docUrl}\">güvenlik ipuçlarında</a> anlatıldığı şekilde HTTPS kullanımı gerekecek şekilde yapılandırmanız önemle önerilir.", + "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\" or \"{val4}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "\"{header}\" HTTP üst bilgisi \"{val1}\", \"{val2}\", \"{val3}\" ya da \"{val4}\" olarak ayarlanmamış. Bu durum yönlendiren bilgilerinin sızmasına neden olabilir. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Önerilerine ↗</a> bakabilirsiniz.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "\"Strict-Transport-Security\" HTTP üst bilgisi en azından\"{seconds}\" saniyedir ayarlanmamış. Gelişmiş güvenlik sağlamak için <a href=\"{docUrl}\" rel=\"noreferrer noopener\">güvenlik ipuçlarında ↗</a> anlatıldığı şekilde HSTS özelliğinin etkinleştirilmesi önerilir.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Siteye HTTP üzerinden erişiliyor. Sunucunuzu <a href=\"{docUrl}\">güvenlik ipuçlarında ↗</a> anlatıldığı şekilde HTTPS kullanımı gerekecek şekilde yapılandırmanız önemle önerilir.", "Shared" : "Paylaşılmış", "Shared with" : "Paylaşılanlar", "Shared by" : "Paylaşan", @@ -354,6 +368,8 @@ "Add \"%s\" as trusted domain" : "\"%s\" etki alanını güvenilir olarak ekle", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Yardım almak için, <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">belgelere</a> bakın.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP kurulumunuzda FreeType desteği yok. Bu durum profil görsellerinin ve ayarlar bölümünün bozuk görüntülenmesine neden olur.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP üst bilgisi en azından\"{seconds}\" saniyedir ayarlanmamış. Gelişmiş güvenlik sağlamak için <a href=\"{docUrl}\" rel=\"noreferrer noopener\">güvenlik ipuçlarında</a> anlatıldığı şekilde HSTS özelliğinin etkinleştirilmesi önerilir.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Siteye HTTP üzerinden erişiliyor. Sunucunuzu <a href=\"{docUrl}\">güvenlik ipuçlarında</a> anlatıldığı şekilde HTTPS kullanımı gerekecek şekilde yapılandırmanız önemle önerilir.", "Back to log in" : "Oturum açmaya geri dön", "Depending on your configuration, this button could also work to trust the domain:" : "Yapılandırmanıza bağlı olarak, bu düğme etki alanına güvenmek için de kullanılabilir:" },"pluralForm" :"nplurals=2; plural=(n > 1);" diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js index f1583db31bf..b0f446bb4a4 100644 --- a/core/l10n/zh_CN.js +++ b/core/l10n/zh_CN.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "您的数据目录和文件可以从互联网直接访问。.htaccess 文件不起作用。强烈建议您配置 Web 服务器,以便数据目录不再可访问,或都你可以将数据目录移出 Web 服务器文档根目录。", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP 请求头 \"{header}\" 没有配置为 \"{expected}\"。这是一个潜在的安全或隐私风险, 我们建议您调整这项设置.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP 请求头 \"{header}\" 没有配置为 \"{expected}\"。某些功能可能无法正常工作,因此建议相应地调整此设置。", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP 请求头 \"Strict-Transport-Security\" 没有配置为至少 “{seconds}” 秒。出于增强安全性考虑,我们推荐按照 <a href=\"{docUrl}\" rel=\"noreferrer noopener\">安全提示</a>中的说明启用HSTS。", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "您正在通过 HTTP 访问该站点, 我们强烈建议您按照<a href=\"{docUrl}\">安全提示</a>中的说明配置服务器强制使用 HTTPS.", "Shared" : "已共享", "Shared with" : "分享给", "Shared by" : "共享人", @@ -353,6 +351,8 @@ OC.L10N.register( "Add \"%s\" as trusted domain" : "添加 \"%s\" 为信任域名", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "获取更多帮助, 请查看 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">文档</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "您的 PHP 没有 FreeType 支持,导致配置文件图片和设置界面中断。", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP 请求头 \"Strict-Transport-Security\" 没有配置为至少 “{seconds}” 秒。出于增强安全性考虑,我们推荐按照 <a href=\"{docUrl}\" rel=\"noreferrer noopener\">安全提示</a>中的说明启用HSTS。", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "您正在通过 HTTP 访问该站点, 我们强烈建议您按照<a href=\"{docUrl}\">安全提示</a>中的说明配置服务器强制使用 HTTPS.", "Back to log in" : "返回登录", "Depending on your configuration, this button could also work to trust the domain:" : "取决于配置,此按钮也可用作设置信任域名:" }, diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json index 8f5fb5a7ab7..ec76a2c80b3 100644 --- a/core/l10n/zh_CN.json +++ b/core/l10n/zh_CN.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "您的数据目录和文件可以从互联网直接访问。.htaccess 文件不起作用。强烈建议您配置 Web 服务器,以便数据目录不再可访问,或都你可以将数据目录移出 Web 服务器文档根目录。", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP 请求头 \"{header}\" 没有配置为 \"{expected}\"。这是一个潜在的安全或隐私风险, 我们建议您调整这项设置.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP 请求头 \"{header}\" 没有配置为 \"{expected}\"。某些功能可能无法正常工作,因此建议相应地调整此设置。", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP 请求头 \"Strict-Transport-Security\" 没有配置为至少 “{seconds}” 秒。出于增强安全性考虑,我们推荐按照 <a href=\"{docUrl}\" rel=\"noreferrer noopener\">安全提示</a>中的说明启用HSTS。", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "您正在通过 HTTP 访问该站点, 我们强烈建议您按照<a href=\"{docUrl}\">安全提示</a>中的说明配置服务器强制使用 HTTPS.", "Shared" : "已共享", "Shared with" : "分享给", "Shared by" : "共享人", @@ -351,6 +349,8 @@ "Add \"%s\" as trusted domain" : "添加 \"%s\" 为信任域名", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "获取更多帮助, 请查看 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">文档</a>.", "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "您的 PHP 没有 FreeType 支持,导致配置文件图片和设置界面中断。", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP 请求头 \"Strict-Transport-Security\" 没有配置为至少 “{seconds}” 秒。出于增强安全性考虑,我们推荐按照 <a href=\"{docUrl}\" rel=\"noreferrer noopener\">安全提示</a>中的说明启用HSTS。", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "您正在通过 HTTP 访问该站点, 我们强烈建议您按照<a href=\"{docUrl}\">安全提示</a>中的说明配置服务器强制使用 HTTPS.", "Back to log in" : "返回登录", "Depending on your configuration, this button could also work to trust the domain:" : "取决于配置,此按钮也可用作设置信任域名:" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js index 00d69e1dac0..034316e8a78 100644 --- a/core/l10n/zh_TW.js +++ b/core/l10n/zh_TW.js @@ -126,8 +126,6 @@ OC.L10N.register( "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 設定檔並未生效,我們強烈建議您設定網頁伺服器,拒絕公開存取資料目錄,或者將您的資料目錄移出網頁伺服器根目錄。", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這是一個潛在的安全性和隱私風險,我們建議調整此項設定。", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這將讓某些功能無法正常運作,我們建議修正此項設定。", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未被設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全建議</a>中有詳述並建議啟用 HSTS。", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "正在透過不安全的 HTTP 存取站台,強烈建議您設定伺服器啟用 HTTPS ,更多資訊請查閱<a href=\"{docUrl}\">安全建議</a>。", "Shared" : "已分享", "Shared with" : "分享給", "Shared by" : "分享自", @@ -335,6 +333,8 @@ OC.L10N.register( "Alternative login using app token" : "透過應用程式憑證的方式登入", "You are accessing the server from an untrusted domain." : "你正在從一個未信任的網域存取伺服器", "Add \"%s\" as trusted domain" : "將 %s 加入到信任的網域", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未被設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全建議</a>中有詳述並建議啟用 HSTS。", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "正在透過不安全的 HTTP 存取站台,強烈建議您設定伺服器啟用 HTTPS ,更多資訊請查閱<a href=\"{docUrl}\">安全建議</a>。", "Back to log in" : "回到登入頁面", "Depending on your configuration, this button could also work to trust the domain:" : "根據你的設定值,此按鈕也可用於信任以下網域:" }, diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json index 4197ba040c0..321cbf38353 100644 --- a/core/l10n/zh_TW.json +++ b/core/l10n/zh_TW.json @@ -124,8 +124,6 @@ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 設定檔並未生效,我們強烈建議您設定網頁伺服器,拒絕公開存取資料目錄,或者將您的資料目錄移出網頁伺服器根目錄。", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這是一個潛在的安全性和隱私風險,我們建議調整此項設定。", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這將讓某些功能無法正常運作,我們建議修正此項設定。", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未被設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全建議</a>中有詳述並建議啟用 HSTS。", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "正在透過不安全的 HTTP 存取站台,強烈建議您設定伺服器啟用 HTTPS ,更多資訊請查閱<a href=\"{docUrl}\">安全建議</a>。", "Shared" : "已分享", "Shared with" : "分享給", "Shared by" : "分享自", @@ -333,6 +331,8 @@ "Alternative login using app token" : "透過應用程式憑證的方式登入", "You are accessing the server from an untrusted domain." : "你正在從一個未信任的網域存取伺服器", "Add \"%s\" as trusted domain" : "將 %s 加入到信任的網域", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未被設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全建議</a>中有詳述並建議啟用 HSTS。", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "正在透過不安全的 HTTP 存取站台,強烈建議您設定伺服器啟用 HTTPS ,更多資訊請查閱<a href=\"{docUrl}\">安全建議</a>。", "Back to log in" : "回到登入頁面", "Depending on your configuration, this button could also work to trust the domain:" : "根據你的設定值,此按鈕也可用於信任以下網域:" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index 08f8760b321..77729886601 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -40,6 +40,9 @@ return array( 'OCP\\AppFramework\\Http\\RedirectResponse' => $baseDir . '/lib/public/AppFramework/Http/RedirectResponse.php', 'OCP\\AppFramework\\Http\\Response' => $baseDir . '/lib/public/AppFramework/Http/Response.php', 'OCP\\AppFramework\\Http\\StreamResponse' => $baseDir . '/lib/public/AppFramework/Http/StreamResponse.php', + 'OCP\\AppFramework\\Http\\StrictContentSecurityPolicy' => $baseDir . '/lib/public/AppFramework/Http/StrictContentSecurityPolicy.php', + 'OCP\\AppFramework\\Http\\StrictEvalContentSecurityPolicy' => $baseDir . '/lib/public/AppFramework/Http/StrictEvalContentSecurityPolicy.php', + 'OCP\\AppFramework\\Http\\StrictInlineContentSecurityPolicy' => $baseDir . '/lib/public/AppFramework/Http/StrictInlineContentSecurityPolicy.php', 'OCP\\AppFramework\\Http\\TemplateResponse' => $baseDir . '/lib/public/AppFramework/Http/TemplateResponse.php', 'OCP\\AppFramework\\Http\\Template\\ExternalShareMenuAction' => $baseDir . '/lib/public/AppFramework/Http/Template/ExternalShareMenuAction.php', 'OCP\\AppFramework\\Http\\Template\\IMenuAction' => $baseDir . '/lib/public/AppFramework/Http/Template/IMenuAction.php', @@ -418,6 +421,10 @@ return array( 'OC\\Authentication\\Token\\ExpiredTokenException' => $baseDir . '/lib/private/Authentication/Exceptions/ExpiredTokenException.php', 'OC\\Authentication\\Token\\IProvider' => $baseDir . '/lib/private/Authentication/Token/IProvider.php', 'OC\\Authentication\\Token\\IToken' => $baseDir . '/lib/private/Authentication/Token/IToken.php', + 'OC\\Authentication\\Token\\Manager' => $baseDir . '/lib/private/Authentication/Token/Manager.php', + 'OC\\Authentication\\Token\\PublicKeyToken' => $baseDir . '/lib/private/Authentication/Token/PublicKeyToken.php', + 'OC\\Authentication\\Token\\PublicKeyTokenMapper' => $baseDir . '/lib/private/Authentication/Token/PublicKeyTokenMapper.php', + 'OC\\Authentication\\Token\\PublicKeyTokenProvider' => $baseDir . '/lib/private/Authentication/Token/PublicKeyTokenProvider.php', 'OC\\Authentication\\TwoFactorAuth\\Manager' => $baseDir . '/lib/private/Authentication/TwoFactorAuth/Manager.php', 'OC\\Avatar' => $baseDir . '/lib/private/Avatar.php', 'OC\\AvatarManager' => $baseDir . '/lib/private/AvatarManager.php', @@ -462,6 +469,7 @@ return array( 'OC\\Contacts\\ContactsMenu\\Manager' => $baseDir . '/lib/private/Contacts/ContactsMenu/Manager.php', 'OC\\Contacts\\ContactsMenu\\Providers\\EMailProvider' => $baseDir . '/lib/private/Contacts/ContactsMenu/Providers/EMailProvider.php', 'OC\\Core\\Application' => $baseDir . '/core/Application.php', + 'OC\\Core\\BackgroundJobs\\BackgroundCleanupUpdaterBackupsJob' => $baseDir . '/core/BackgroundJobs/BackgroundCleanupUpdaterBackupsJob.php', 'OC\\Core\\Command\\App\\CheckCode' => $baseDir . '/core/Command/App/CheckCode.php', 'OC\\Core\\Command\\App\\Disable' => $baseDir . '/core/Command/App/Disable.php', 'OC\\Core\\Command\\App\\Enable' => $baseDir . '/core/Command/App/Enable.php', @@ -566,6 +574,7 @@ return array( 'OC\\Core\\Migrations\\Version14000Date20180129121024' => $baseDir . '/core/Migrations/Version14000Date20180129121024.php', 'OC\\Core\\Migrations\\Version14000Date20180404140050' => $baseDir . '/core/Migrations/Version14000Date20180404140050.php', 'OC\\Core\\Migrations\\Version14000Date20180516101403' => $baseDir . '/core/Migrations/Version14000Date20180516101403.php', + 'OC\\Core\\Migrations\\Version14000Date20180518120534' => $baseDir . '/core/Migrations/Version14000Date20180518120534.php', 'OC\\DB\\Adapter' => $baseDir . '/lib/private/DB/Adapter.php', 'OC\\DB\\AdapterMySQL' => $baseDir . '/lib/private/DB/AdapterMySQL.php', 'OC\\DB\\AdapterOCI8' => $baseDir . '/lib/private/DB/AdapterOCI8.php', @@ -838,6 +847,7 @@ return array( 'OC\\Remote\\User' => $baseDir . '/lib/private/Remote/User.php', 'OC\\Repair' => $baseDir . '/lib/private/Repair.php', 'OC\\RepairException' => $baseDir . '/lib/private/RepairException.php', + 'OC\\Repair\\AddCleanupUpdaterBackupsJob' => $baseDir . '/lib/private/Repair/AddCleanupUpdaterBackupsJob.php', 'OC\\Repair\\CleanTags' => $baseDir . '/lib/private/Repair/CleanTags.php', 'OC\\Repair\\ClearFrontendCaches' => $baseDir . '/lib/private/Repair/ClearFrontendCaches.php', 'OC\\Repair\\Collation' => $baseDir . '/lib/private/Repair/Collation.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index 4c5756b98e3..be9c71d8246 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -70,6 +70,9 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OCP\\AppFramework\\Http\\RedirectResponse' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/RedirectResponse.php', 'OCP\\AppFramework\\Http\\Response' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/Response.php', 'OCP\\AppFramework\\Http\\StreamResponse' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/StreamResponse.php', + 'OCP\\AppFramework\\Http\\StrictContentSecurityPolicy' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/StrictContentSecurityPolicy.php', + 'OCP\\AppFramework\\Http\\StrictEvalContentSecurityPolicy' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/StrictEvalContentSecurityPolicy.php', + 'OCP\\AppFramework\\Http\\StrictInlineContentSecurityPolicy' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/StrictInlineContentSecurityPolicy.php', 'OCP\\AppFramework\\Http\\TemplateResponse' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/TemplateResponse.php', 'OCP\\AppFramework\\Http\\Template\\ExternalShareMenuAction' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/Template/ExternalShareMenuAction.php', 'OCP\\AppFramework\\Http\\Template\\IMenuAction' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/Template/IMenuAction.php', @@ -448,6 +451,10 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OC\\Authentication\\Token\\ExpiredTokenException' => __DIR__ . '/../../..' . '/lib/private/Authentication/Exceptions/ExpiredTokenException.php', 'OC\\Authentication\\Token\\IProvider' => __DIR__ . '/../../..' . '/lib/private/Authentication/Token/IProvider.php', 'OC\\Authentication\\Token\\IToken' => __DIR__ . '/../../..' . '/lib/private/Authentication/Token/IToken.php', + 'OC\\Authentication\\Token\\Manager' => __DIR__ . '/../../..' . '/lib/private/Authentication/Token/Manager.php', + 'OC\\Authentication\\Token\\PublicKeyToken' => __DIR__ . '/../../..' . '/lib/private/Authentication/Token/PublicKeyToken.php', + 'OC\\Authentication\\Token\\PublicKeyTokenMapper' => __DIR__ . '/../../..' . '/lib/private/Authentication/Token/PublicKeyTokenMapper.php', + 'OC\\Authentication\\Token\\PublicKeyTokenProvider' => __DIR__ . '/../../..' . '/lib/private/Authentication/Token/PublicKeyTokenProvider.php', 'OC\\Authentication\\TwoFactorAuth\\Manager' => __DIR__ . '/../../..' . '/lib/private/Authentication/TwoFactorAuth/Manager.php', 'OC\\Avatar' => __DIR__ . '/../../..' . '/lib/private/Avatar.php', 'OC\\AvatarManager' => __DIR__ . '/../../..' . '/lib/private/AvatarManager.php', @@ -492,6 +499,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OC\\Contacts\\ContactsMenu\\Manager' => __DIR__ . '/../../..' . '/lib/private/Contacts/ContactsMenu/Manager.php', 'OC\\Contacts\\ContactsMenu\\Providers\\EMailProvider' => __DIR__ . '/../../..' . '/lib/private/Contacts/ContactsMenu/Providers/EMailProvider.php', 'OC\\Core\\Application' => __DIR__ . '/../../..' . '/core/Application.php', + 'OC\\Core\\BackgroundJobs\\BackgroundCleanupUpdaterBackupsJob' => __DIR__ . '/../../..' . '/core/BackgroundJobs/BackgroundCleanupUpdaterBackupsJob.php', 'OC\\Core\\Command\\App\\CheckCode' => __DIR__ . '/../../..' . '/core/Command/App/CheckCode.php', 'OC\\Core\\Command\\App\\Disable' => __DIR__ . '/../../..' . '/core/Command/App/Disable.php', 'OC\\Core\\Command\\App\\Enable' => __DIR__ . '/../../..' . '/core/Command/App/Enable.php', @@ -596,6 +604,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OC\\Core\\Migrations\\Version14000Date20180129121024' => __DIR__ . '/../../..' . '/core/Migrations/Version14000Date20180129121024.php', 'OC\\Core\\Migrations\\Version14000Date20180404140050' => __DIR__ . '/../../..' . '/core/Migrations/Version14000Date20180404140050.php', 'OC\\Core\\Migrations\\Version14000Date20180516101403' => __DIR__ . '/../../..' . '/core/Migrations/Version14000Date20180516101403.php', + 'OC\\Core\\Migrations\\Version14000Date20180518120534' => __DIR__ . '/../../..' . '/core/Migrations/Version14000Date20180518120534.php', 'OC\\DB\\Adapter' => __DIR__ . '/../../..' . '/lib/private/DB/Adapter.php', 'OC\\DB\\AdapterMySQL' => __DIR__ . '/../../..' . '/lib/private/DB/AdapterMySQL.php', 'OC\\DB\\AdapterOCI8' => __DIR__ . '/../../..' . '/lib/private/DB/AdapterOCI8.php', @@ -868,6 +877,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OC\\Remote\\User' => __DIR__ . '/../../..' . '/lib/private/Remote/User.php', 'OC\\Repair' => __DIR__ . '/../../..' . '/lib/private/Repair.php', 'OC\\RepairException' => __DIR__ . '/../../..' . '/lib/private/RepairException.php', + 'OC\\Repair\\AddCleanupUpdaterBackupsJob' => __DIR__ . '/../../..' . '/lib/private/Repair/AddCleanupUpdaterBackupsJob.php', 'OC\\Repair\\CleanTags' => __DIR__ . '/../../..' . '/lib/private/Repair/CleanTags.php', 'OC\\Repair\\ClearFrontendCaches' => __DIR__ . '/../../..' . '/lib/private/Repair/ClearFrontendCaches.php', 'OC\\Repair\\Collation' => __DIR__ . '/../../..' . '/lib/private/Repair/Collation.php', diff --git a/lib/l10n/ar.js b/lib/l10n/ar.js index 611a371613d..09a34082aa0 100644 --- a/lib/l10n/ar.js +++ b/lib/l10n/ar.js @@ -49,7 +49,6 @@ OC.L10N.register( "Security" : "الأمان", "Encryption" : "التعمية", "Additional settings" : "الإعدادات المتقدمة", - "Tips & tricks" : "نصائح و تلميحات", "Personal info" : "المعلومات الشخصية", "Unlimited" : "غير محدود", "Verifying" : "التحقق", @@ -137,6 +136,7 @@ OC.L10N.register( "Token expired. Please reload page." : "انتهت صلاحية الكلمة , يرجى اعادة تحميل الصفحة", "Personal" : "الحساب الشخصي", "Admin" : "المدير", + "Tips & tricks" : "نصائح و تلميحات", "Sync clients" : "مزامنة العملاء" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/lib/l10n/ar.json b/lib/l10n/ar.json index d114a3341fc..cfbf9675988 100644 --- a/lib/l10n/ar.json +++ b/lib/l10n/ar.json @@ -47,7 +47,6 @@ "Security" : "الأمان", "Encryption" : "التعمية", "Additional settings" : "الإعدادات المتقدمة", - "Tips & tricks" : "نصائح و تلميحات", "Personal info" : "المعلومات الشخصية", "Unlimited" : "غير محدود", "Verifying" : "التحقق", @@ -135,6 +134,7 @@ "Token expired. Please reload page." : "انتهت صلاحية الكلمة , يرجى اعادة تحميل الصفحة", "Personal" : "الحساب الشخصي", "Admin" : "المدير", + "Tips & tricks" : "نصائح و تلميحات", "Sync clients" : "مزامنة العملاء" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/lib/l10n/ast.js b/lib/l10n/ast.js index 13ce6d0cf49..4518070496b 100644 --- a/lib/l10n/ast.js +++ b/lib/l10n/ast.js @@ -46,12 +46,10 @@ OC.L10N.register( "Log out" : "Zarrar sesión", "Users" : "Usuarios", "Unknown user" : "Usuariu desconocíu", - "APCu" : "APCu", "Basic settings" : "Axustes básicos", "Security" : "Seguranza", "Encryption" : "Cifráu", "Additional settings" : "Axustes adicionales", - "Tips & tricks" : "Conseyos y trucos", "%s enter the database username and name." : "%s introducir el nome d'usuariu y el nome de la base de datos .", "%s enter the database username." : "%s introducir l'usuariu de la base de datos.", "%s enter the database name." : "%s introducir nome de la base de datos.", @@ -172,6 +170,8 @@ OC.L10N.register( "Storage incomplete configuration. %s" : "Configuración d'almacenamientu incompleta. %s", "Storage connection error. %s" : "Fallu de conexón al almacenamientu. %s", "Storage is temporarily not available" : "L'almacenamientu ta temporalmente non disponible", - "Storage connection timeout. %s" : "Tiempu escosao de conexón al almacenamientu. %s" + "Storage connection timeout. %s" : "Tiempu escosao de conexón al almacenamientu. %s", + "APCu" : "APCu", + "Tips & tricks" : "Conseyos y trucos" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/ast.json b/lib/l10n/ast.json index 3d233d346a6..53f8b0c1312 100644 --- a/lib/l10n/ast.json +++ b/lib/l10n/ast.json @@ -44,12 +44,10 @@ "Log out" : "Zarrar sesión", "Users" : "Usuarios", "Unknown user" : "Usuariu desconocíu", - "APCu" : "APCu", "Basic settings" : "Axustes básicos", "Security" : "Seguranza", "Encryption" : "Cifráu", "Additional settings" : "Axustes adicionales", - "Tips & tricks" : "Conseyos y trucos", "%s enter the database username and name." : "%s introducir el nome d'usuariu y el nome de la base de datos .", "%s enter the database username." : "%s introducir l'usuariu de la base de datos.", "%s enter the database name." : "%s introducir nome de la base de datos.", @@ -170,6 +168,8 @@ "Storage incomplete configuration. %s" : "Configuración d'almacenamientu incompleta. %s", "Storage connection error. %s" : "Fallu de conexón al almacenamientu. %s", "Storage is temporarily not available" : "L'almacenamientu ta temporalmente non disponible", - "Storage connection timeout. %s" : "Tiempu escosao de conexón al almacenamientu. %s" + "Storage connection timeout. %s" : "Tiempu escosao de conexón al almacenamientu. %s", + "APCu" : "APCu", + "Tips & tricks" : "Conseyos y trucos" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/bg.js b/lib/l10n/bg.js index fc793298065..18c8af414e4 100644 --- a/lib/l10n/bg.js +++ b/lib/l10n/bg.js @@ -37,8 +37,6 @@ OC.L10N.register( "Apps" : "Приложения", "Users" : "Потребители", "Unknown user" : "Непознат потребител", - "APCu" : "APCu", - "Redis" : "Redis", "Sharing" : "Споделяне", "Additional settings" : "Допълнителни настройки", "%s enter the database username and name." : "%s въведете потребителско име и име за базата данни", @@ -144,6 +142,8 @@ OC.L10N.register( "PostgreSQL >= 9 required" : "Изисква се PostgreSQL >= 9", "Please upgrade your database version" : "Моля, обнови базата данни.", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Моля, променете правата за достъп на 0770, за да не може директорията да бъде видяна от други потребители.", - "Could not obtain lock type %d on \"%s\"." : "Неуспешен опит за ексклузивен достъп от типa %d върху \"%s\"." + "Could not obtain lock type %d on \"%s\"." : "Неуспешен опит за ексклузивен достъп от типa %d върху \"%s\".", + "APCu" : "APCu", + "Redis" : "Redis" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/bg.json b/lib/l10n/bg.json index af3f266bcbf..1a0feea7c23 100644 --- a/lib/l10n/bg.json +++ b/lib/l10n/bg.json @@ -35,8 +35,6 @@ "Apps" : "Приложения", "Users" : "Потребители", "Unknown user" : "Непознат потребител", - "APCu" : "APCu", - "Redis" : "Redis", "Sharing" : "Споделяне", "Additional settings" : "Допълнителни настройки", "%s enter the database username and name." : "%s въведете потребителско име и име за базата данни", @@ -142,6 +140,8 @@ "PostgreSQL >= 9 required" : "Изисква се PostgreSQL >= 9", "Please upgrade your database version" : "Моля, обнови базата данни.", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Моля, променете правата за достъп на 0770, за да не може директорията да бъде видяна от други потребители.", - "Could not obtain lock type %d on \"%s\"." : "Неуспешен опит за ексклузивен достъп от типa %d върху \"%s\"." + "Could not obtain lock type %d on \"%s\"." : "Неуспешен опит за ексклузивен достъп от типa %d върху \"%s\".", + "APCu" : "APCu", + "Redis" : "Redis" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/ca.js b/lib/l10n/ca.js index b845da3b4c1..8ee2e416751 100644 --- a/lib/l10n/ca.js +++ b/lib/l10n/ca.js @@ -57,8 +57,6 @@ OC.L10N.register( "Log out" : "Surt", "Users" : "Usuaris", "Unknown user" : "Usuari desconegut", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crea", "Change" : "Modifica", "Delete" : "Esborra", @@ -69,7 +67,6 @@ OC.L10N.register( "Security" : "Seguretat", "Encryption" : "Xifrat", "Additional settings" : "Configuració addicional", - "Tips & tricks" : "Consells i trucs", "Personal info" : "Informació personal", "Unlimited" : "Il·limitat", "Verifying" : "Verificant", @@ -188,6 +185,9 @@ OC.L10N.register( "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Canvieu els permisos a 0770 per tal que la carpeta no es pugui llistar per altres usuaris.", "Could not obtain lock type %d on \"%s\"." : "No s'ha pogut obtenir un bloqueig tipus %d a \"%s\".", "Personal" : "Personal", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consells i trucs", "Sync clients" : "Aplicacions per sincronitzar" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/ca.json b/lib/l10n/ca.json index f3db1540d23..26c96edb590 100644 --- a/lib/l10n/ca.json +++ b/lib/l10n/ca.json @@ -55,8 +55,6 @@ "Log out" : "Surt", "Users" : "Usuaris", "Unknown user" : "Usuari desconegut", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crea", "Change" : "Modifica", "Delete" : "Esborra", @@ -67,7 +65,6 @@ "Security" : "Seguretat", "Encryption" : "Xifrat", "Additional settings" : "Configuració addicional", - "Tips & tricks" : "Consells i trucs", "Personal info" : "Informació personal", "Unlimited" : "Il·limitat", "Verifying" : "Verificant", @@ -186,6 +183,9 @@ "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Canvieu els permisos a 0770 per tal que la carpeta no es pugui llistar per altres usuaris.", "Could not obtain lock type %d on \"%s\"." : "No s'ha pogut obtenir un bloqueig tipus %d a \"%s\".", "Personal" : "Personal", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consells i trucs", "Sync clients" : "Aplicacions per sincronitzar" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/cs.js b/lib/l10n/cs.js index 45a755c4f08..f7dd8cd72cc 100644 --- a/lib/l10n/cs.js +++ b/lib/l10n/cs.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Odhlásit se", "Users" : "Uživatelé", "Unknown user" : "Neznámý uživatel", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Vytvořit", "Change" : "Změnit", "Delete" : "Smazat", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Zabezpečení", "Encryption" : "Šifrování", "Additional settings" : "Dodatečná nastavení", - "Tips & tricks" : "Tipy a triky", "Personal info" : "Osobní informace", "Unlimited" : "Neomezeně", "Verifying" : "Ověření", @@ -234,6 +231,9 @@ OC.L10N.register( "Storage is temporarily not available" : "Úložiště je dočasně nedostupné", "Storage connection timeout. %s" : "Vypršení připojení k úložišti. %s", "Personal" : "Osobní", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tipy a triky", "DB Error: \"%s\"" : "Chyba databáze: „%s“", "No app name specified" : "Nezadán název aplikace", "Sync clients" : "Synchronizační klienti" diff --git a/lib/l10n/cs.json b/lib/l10n/cs.json index 80d1b375efa..228b06a682f 100644 --- a/lib/l10n/cs.json +++ b/lib/l10n/cs.json @@ -64,8 +64,6 @@ "Log out" : "Odhlásit se", "Users" : "Uživatelé", "Unknown user" : "Neznámý uživatel", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Vytvořit", "Change" : "Změnit", "Delete" : "Smazat", @@ -76,7 +74,6 @@ "Security" : "Zabezpečení", "Encryption" : "Šifrování", "Additional settings" : "Dodatečná nastavení", - "Tips & tricks" : "Tipy a triky", "Personal info" : "Osobní informace", "Unlimited" : "Neomezeně", "Verifying" : "Ověření", @@ -232,6 +229,9 @@ "Storage is temporarily not available" : "Úložiště je dočasně nedostupné", "Storage connection timeout. %s" : "Vypršení připojení k úložišti. %s", "Personal" : "Osobní", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tipy a triky", "DB Error: \"%s\"" : "Chyba databáze: „%s“", "No app name specified" : "Nezadán název aplikace", "Sync clients" : "Synchronizační klienti" diff --git a/lib/l10n/de.js b/lib/l10n/de.js index 0b123169b17..4260bb253bc 100644 --- a/lib/l10n/de.js +++ b/lib/l10n/de.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Abmelden", "Users" : "Benutzer", "Unknown user" : "Unbekannter Benutzer", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Anlegen", "Change" : "Ändern", "Delete" : "Löschen", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Sicherheit", "Encryption" : "Verschlüsselung", "Additional settings" : "Zusätzliche Einstellungen", - "Tips & tricks" : "Tipps & Tricks", "Personal info" : "Persönliche Informationen ", "Mobile & desktop" : "Mobil & Desktop", "Unlimited" : "Unbegrenzt", @@ -236,6 +233,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Zeitüberschreitung der Verbindung zum Speicherplatz. %s", "Personal" : "Persönlich", "Admin" : "Administrator", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tipps & Tricks", "DB Error: \"%s\"" : "DB-Fehler: \"%s“", "Offending command was: \"%s\"" : "Fehlerhafter Befehl war: \"%s“", "Offending command was: \"%s\", name: %s, password: %s" : "Fehlerhafter Befehl war: \"%s“, Name: %s, Passwort: %s", diff --git a/lib/l10n/de.json b/lib/l10n/de.json index 97d7f667615..f27730390f9 100644 --- a/lib/l10n/de.json +++ b/lib/l10n/de.json @@ -64,8 +64,6 @@ "Log out" : "Abmelden", "Users" : "Benutzer", "Unknown user" : "Unbekannter Benutzer", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Anlegen", "Change" : "Ändern", "Delete" : "Löschen", @@ -76,7 +74,6 @@ "Security" : "Sicherheit", "Encryption" : "Verschlüsselung", "Additional settings" : "Zusätzliche Einstellungen", - "Tips & tricks" : "Tipps & Tricks", "Personal info" : "Persönliche Informationen ", "Mobile & desktop" : "Mobil & Desktop", "Unlimited" : "Unbegrenzt", @@ -234,6 +231,9 @@ "Storage connection timeout. %s" : "Zeitüberschreitung der Verbindung zum Speicherplatz. %s", "Personal" : "Persönlich", "Admin" : "Administrator", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tipps & Tricks", "DB Error: \"%s\"" : "DB-Fehler: \"%s“", "Offending command was: \"%s\"" : "Fehlerhafter Befehl war: \"%s“", "Offending command was: \"%s\", name: %s, password: %s" : "Fehlerhafter Befehl war: \"%s“, Name: %s, Passwort: %s", diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js index 9f4d5dd6e04..b0f85566adc 100644 --- a/lib/l10n/de_DE.js +++ b/lib/l10n/de_DE.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Abmelden", "Users" : "Benutzer", "Unknown user" : "Unbekannter Benutzer", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Erstellen", "Change" : "Ändern", "Delete" : "Löschen", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Sicherheit", "Encryption" : "Verschlüsselung", "Additional settings" : "Zusätzliche Einstellungen", - "Tips & tricks" : "Tipps & Tricks", "Personal info" : "Persönliche Informationen ", "Mobile & desktop" : "Mobil & Desktop", "Unlimited" : "Unbegrenzt", @@ -236,6 +233,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Zeitüberschreitung der Verbindung zum Speicherplatz. %s", "Personal" : "Persönlich", "Admin" : "Administrator", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tipps & Tricks", "DB Error: \"%s\"" : "DB-Fehler: \"%s“", "Offending command was: \"%s\"" : "Fehlerhafter Befehl war: \"%s“", "Offending command was: \"%s\", name: %s, password: %s" : "Fehlerhafter Befehl war: \"%s“, Name: %s, Passwort: %s", diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json index 9e96ad28327..17111d69708 100644 --- a/lib/l10n/de_DE.json +++ b/lib/l10n/de_DE.json @@ -64,8 +64,6 @@ "Log out" : "Abmelden", "Users" : "Benutzer", "Unknown user" : "Unbekannter Benutzer", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Erstellen", "Change" : "Ändern", "Delete" : "Löschen", @@ -76,7 +74,6 @@ "Security" : "Sicherheit", "Encryption" : "Verschlüsselung", "Additional settings" : "Zusätzliche Einstellungen", - "Tips & tricks" : "Tipps & Tricks", "Personal info" : "Persönliche Informationen ", "Mobile & desktop" : "Mobil & Desktop", "Unlimited" : "Unbegrenzt", @@ -234,6 +231,9 @@ "Storage connection timeout. %s" : "Zeitüberschreitung der Verbindung zum Speicherplatz. %s", "Personal" : "Persönlich", "Admin" : "Administrator", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tipps & Tricks", "DB Error: \"%s\"" : "DB-Fehler: \"%s“", "Offending command was: \"%s\"" : "Fehlerhafter Befehl war: \"%s“", "Offending command was: \"%s\", name: %s, password: %s" : "Fehlerhafter Befehl war: \"%s“, Name: %s, Passwort: %s", diff --git a/lib/l10n/el.js b/lib/l10n/el.js index 5ca72d4db7b..8bc15fb9c32 100644 --- a/lib/l10n/el.js +++ b/lib/l10n/el.js @@ -61,8 +61,6 @@ OC.L10N.register( "Log out" : "Έξοδος", "Users" : "Χρήστες", "Unknown user" : "Άγνωστος χρήστης", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Δημιουργία", "Delete" : "Διαγραφή", "Basic settings" : "Βασικές ρυθμίσεις", @@ -70,7 +68,6 @@ OC.L10N.register( "Security" : "Ασφάλεια", "Encryption" : "Κρυπτογράφηση", "Additional settings" : "Επιπρόσθετες ρυθμίσεις", - "Tips & tricks" : "Συμβουλές & κόλπα", "Personal info" : "Προσωπικές πληροφορίες", "Unlimited" : "Απεριόριστα", "Verifying" : "Γίνεται επαλήθευση", @@ -221,6 +218,12 @@ OC.L10N.register( "Storage connection error. %s" : "Σφάλμα σύνδεσης με αποθηκευτικό χώρο. %s", "Storage is temporarily not available" : "Μη διαθέσιμος χώρος αποθήκευσης προσωρινά", "Storage connection timeout. %s" : "Λήξη χρονικού ορίου σύνδεσης με αποθηκευτικό χώρο.%s", + "Personal" : "Προσωπικά", + "Admin" : "Διαχειριστής", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Συμβουλές & κόλπα", + "DB Error: \"%s\"" : "Σφάλμα βάσης δεδομένων: \"%s\"", "Sync clients" : "Εφαρμογές συγχρονισμού" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/el.json b/lib/l10n/el.json index b5eb9c1bb9b..cbb22cd33bc 100644 --- a/lib/l10n/el.json +++ b/lib/l10n/el.json @@ -59,8 +59,6 @@ "Log out" : "Έξοδος", "Users" : "Χρήστες", "Unknown user" : "Άγνωστος χρήστης", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Δημιουργία", "Delete" : "Διαγραφή", "Basic settings" : "Βασικές ρυθμίσεις", @@ -68,7 +66,6 @@ "Security" : "Ασφάλεια", "Encryption" : "Κρυπτογράφηση", "Additional settings" : "Επιπρόσθετες ρυθμίσεις", - "Tips & tricks" : "Συμβουλές & κόλπα", "Personal info" : "Προσωπικές πληροφορίες", "Unlimited" : "Απεριόριστα", "Verifying" : "Γίνεται επαλήθευση", @@ -219,6 +216,12 @@ "Storage connection error. %s" : "Σφάλμα σύνδεσης με αποθηκευτικό χώρο. %s", "Storage is temporarily not available" : "Μη διαθέσιμος χώρος αποθήκευσης προσωρινά", "Storage connection timeout. %s" : "Λήξη χρονικού ορίου σύνδεσης με αποθηκευτικό χώρο.%s", + "Personal" : "Προσωπικά", + "Admin" : "Διαχειριστής", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Συμβουλές & κόλπα", + "DB Error: \"%s\"" : "Σφάλμα βάσης δεδομένων: \"%s\"", "Sync clients" : "Εφαρμογές συγχρονισμού" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/en_GB.js b/lib/l10n/en_GB.js index 47d881ae05e..431f865465a 100644 --- a/lib/l10n/en_GB.js +++ b/lib/l10n/en_GB.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Log out", "Users" : "Users", "Unknown user" : "Unknown user", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Create", "Change" : "Change", "Delete" : "Delete", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Security", "Encryption" : "Encryption", "Additional settings" : "Additional settings", - "Tips & tricks" : "Tips & tricks", "Personal info" : "Personal info", "Mobile & desktop" : "Mobile & desktop", "Unlimited" : "Unlimited", @@ -236,6 +233,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Storage connection timeout. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tips & tricks", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "Offending command was: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Offending command was: \"%s\", name: %s, password: %s", diff --git a/lib/l10n/en_GB.json b/lib/l10n/en_GB.json index fb88eb5e467..c681b7da04a 100644 --- a/lib/l10n/en_GB.json +++ b/lib/l10n/en_GB.json @@ -64,8 +64,6 @@ "Log out" : "Log out", "Users" : "Users", "Unknown user" : "Unknown user", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Create", "Change" : "Change", "Delete" : "Delete", @@ -76,7 +74,6 @@ "Security" : "Security", "Encryption" : "Encryption", "Additional settings" : "Additional settings", - "Tips & tricks" : "Tips & tricks", "Personal info" : "Personal info", "Mobile & desktop" : "Mobile & desktop", "Unlimited" : "Unlimited", @@ -234,6 +231,9 @@ "Storage connection timeout. %s" : "Storage connection timeout. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tips & tricks", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "Offending command was: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Offending command was: \"%s\", name: %s, password: %s", diff --git a/lib/l10n/eo.js b/lib/l10n/eo.js index 100b0fe50d8..bc87b260f7c 100644 --- a/lib/l10n/eo.js +++ b/lib/l10n/eo.js @@ -11,6 +11,7 @@ OC.L10N.register( "Unknown filetype" : "Ne konatas dosiertipo", "Invalid image" : "Ne validas bildo", "today" : "hodiaŭ", + "tomorrow" : "morgaŭ", "yesterday" : "hieraŭ", "_%n day ago_::_%n days ago_" : ["antaŭ %n tago","antaŭ %n tagoj"], "last month" : "lastamonate", @@ -21,9 +22,19 @@ OC.L10N.register( "File name is too long" : "La dosiernomo tro longas", "Empty filename is not allowed" : "Malplena dosiernomo ne permesatas", "__language_name__" : "Esperanto", + "Help" : "Helpo", "Apps" : "Aplikaĵoj", + "Settings" : "Agordo", + "Log out" : "Elsaluti", "Users" : "Uzantoj", "Unknown user" : "Nekonata uzanto", + "Create" : "Krei", + "Change" : "Ŝanĝi", + "Delete" : "Forigi", + "Share" : "Kunhavigi", + "Sharing" : "Kunhavigo", + "Security" : "Sekurigo", + "Additional settings" : "Plia agordo", "%s enter the database username." : "%s enigu la uzantonomon de la datumbazo.", "%s enter the database name." : "%s enigu la nomon de la datumbazo.", "%s you may not use dots in the database name" : "%s vi ne povas uzi punktojn en la nomo de la datumbazo", @@ -33,6 +44,7 @@ OC.L10N.register( "Set an admin username." : "Starigi administran uzantonomon.", "Set an admin password." : "Starigi administran pasvorton.", "Can't create or write into the data directory %s" : "Ne kreeblas aŭ ne skribeblas la dosierujo de datumoj %s", + "Invalid Federated Cloud ID" : "Ne validas identigilo de federa nubo", "Sharing %s failed, because the backend does not allow shares from type %i" : "Kunhavigo de %s malsukcesis, ĉar la motoro ne permesas kunhavojn el tipo %i", "Sharing %s failed, because the file does not exist" : "Kunhavigo de %s malsukcesis, ĉar la dosiero ne ekzistas", "You are not allowed to share %s" : "Vi ne permesatas kunhavigi %s", @@ -52,10 +64,32 @@ OC.L10N.register( "%s shared »%s« with you" : "%s kunhavigis “%s” kun vi", "%s via %s" : "%s per %s", "Could not find category \"%s\"" : "Ne troviĝis kategorio “%s”", + "Sunday" : "dimanĉo", + "Monday" : "lundo", + "Tuesday" : "mardo", + "Wednesday" : "merkredo", + "Thursday" : "ĵaŭdo", + "Friday" : "vendredo", + "Saturday" : "sabato", + "Sun." : "dim.", + "Mon." : "lun.", + "Tue." : "mar.", + "Wed." : "mer.", + "Thu." : "ĵaŭ.", + "Fri." : "ven.", + "Sat." : "sab.", + "Su" : "Di", + "Mo" : "Lu", + "Tu" : "Ma", + "We" : "Me", + "Th" : "Ĵa", + "Fr" : "Ve", + "Sa" : "Sa", "A valid username must be provided" : "Valida uzantonomo devas proviziĝi", "Username contains whitespace at the beginning or at the end" : "Uzantonomo enhavas blankospacon eke aŭ maleke", "A valid password must be provided" : "Valida pasvorto devas proviziĝi", "The username is already being used" : "La uzantonomo jam uzatas", + "a safe home for all your data" : "sekura hejmo por ĉion vian datumon", "Can't read file" : "Ne legeblas dosiero", "Application is not enabled" : "La aplikaĵo ne estas kapabligita", "Authentication error" : "Aŭtentiga eraro", @@ -67,6 +101,8 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Bonvolu peti viajn serviladministranton, ke ŝi/li reekfunkciigu la TTT-servilon.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 necesas", "Please upgrade your database version" : "Bonvolu ĝisdatigi la eldonon de via datumbazo", - "Storage connection error. %s" : "Memorokonekta eraro. %s" + "Storage connection error. %s" : "Memorokonekta eraro. %s", + "Personal" : "Persona", + "Admin" : "Administranto" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/eo.json b/lib/l10n/eo.json index 10780bbed76..3fc0a8c6f87 100644 --- a/lib/l10n/eo.json +++ b/lib/l10n/eo.json @@ -9,6 +9,7 @@ "Unknown filetype" : "Ne konatas dosiertipo", "Invalid image" : "Ne validas bildo", "today" : "hodiaŭ", + "tomorrow" : "morgaŭ", "yesterday" : "hieraŭ", "_%n day ago_::_%n days ago_" : ["antaŭ %n tago","antaŭ %n tagoj"], "last month" : "lastamonate", @@ -19,9 +20,19 @@ "File name is too long" : "La dosiernomo tro longas", "Empty filename is not allowed" : "Malplena dosiernomo ne permesatas", "__language_name__" : "Esperanto", + "Help" : "Helpo", "Apps" : "Aplikaĵoj", + "Settings" : "Agordo", + "Log out" : "Elsaluti", "Users" : "Uzantoj", "Unknown user" : "Nekonata uzanto", + "Create" : "Krei", + "Change" : "Ŝanĝi", + "Delete" : "Forigi", + "Share" : "Kunhavigi", + "Sharing" : "Kunhavigo", + "Security" : "Sekurigo", + "Additional settings" : "Plia agordo", "%s enter the database username." : "%s enigu la uzantonomon de la datumbazo.", "%s enter the database name." : "%s enigu la nomon de la datumbazo.", "%s you may not use dots in the database name" : "%s vi ne povas uzi punktojn en la nomo de la datumbazo", @@ -31,6 +42,7 @@ "Set an admin username." : "Starigi administran uzantonomon.", "Set an admin password." : "Starigi administran pasvorton.", "Can't create or write into the data directory %s" : "Ne kreeblas aŭ ne skribeblas la dosierujo de datumoj %s", + "Invalid Federated Cloud ID" : "Ne validas identigilo de federa nubo", "Sharing %s failed, because the backend does not allow shares from type %i" : "Kunhavigo de %s malsukcesis, ĉar la motoro ne permesas kunhavojn el tipo %i", "Sharing %s failed, because the file does not exist" : "Kunhavigo de %s malsukcesis, ĉar la dosiero ne ekzistas", "You are not allowed to share %s" : "Vi ne permesatas kunhavigi %s", @@ -50,10 +62,32 @@ "%s shared »%s« with you" : "%s kunhavigis “%s” kun vi", "%s via %s" : "%s per %s", "Could not find category \"%s\"" : "Ne troviĝis kategorio “%s”", + "Sunday" : "dimanĉo", + "Monday" : "lundo", + "Tuesday" : "mardo", + "Wednesday" : "merkredo", + "Thursday" : "ĵaŭdo", + "Friday" : "vendredo", + "Saturday" : "sabato", + "Sun." : "dim.", + "Mon." : "lun.", + "Tue." : "mar.", + "Wed." : "mer.", + "Thu." : "ĵaŭ.", + "Fri." : "ven.", + "Sat." : "sab.", + "Su" : "Di", + "Mo" : "Lu", + "Tu" : "Ma", + "We" : "Me", + "Th" : "Ĵa", + "Fr" : "Ve", + "Sa" : "Sa", "A valid username must be provided" : "Valida uzantonomo devas proviziĝi", "Username contains whitespace at the beginning or at the end" : "Uzantonomo enhavas blankospacon eke aŭ maleke", "A valid password must be provided" : "Valida pasvorto devas proviziĝi", "The username is already being used" : "La uzantonomo jam uzatas", + "a safe home for all your data" : "sekura hejmo por ĉion vian datumon", "Can't read file" : "Ne legeblas dosiero", "Application is not enabled" : "La aplikaĵo ne estas kapabligita", "Authentication error" : "Aŭtentiga eraro", @@ -65,6 +99,8 @@ "Please ask your server administrator to restart the web server." : "Bonvolu peti viajn serviladministranton, ke ŝi/li reekfunkciigu la TTT-servilon.", "PostgreSQL >= 9 required" : "PostgreSQL >= 9 necesas", "Please upgrade your database version" : "Bonvolu ĝisdatigi la eldonon de via datumbazo", - "Storage connection error. %s" : "Memorokonekta eraro. %s" + "Storage connection error. %s" : "Memorokonekta eraro. %s", + "Personal" : "Persona", + "Admin" : "Administranto" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/es.js b/lib/l10n/es.js index 4b41ad2502c..f8ce3269cba 100644 --- a/lib/l10n/es.js +++ b/lib/l10n/es.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Usuario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Eliminar", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Seguridad", "Encryption" : "Cifrado", "Additional settings" : "Configuración adicional", - "Tips & tricks" : "Sugerencias y trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verificando", @@ -235,6 +232,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Tiempo de conexión de almacenamiento agotado. %s", "Personal" : "Personal", "Admin" : "Administración", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Sugerencias y trucos", "DB Error: \"%s\"" : "Error de BD: \"%s\"", "Offending command was: \"%s\"" : "El comando ofensivo fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando ofensivo fue: \"%s\", nombre: %s, contraseña: %s", diff --git a/lib/l10n/es.json b/lib/l10n/es.json index f7840cdf713..175cc1a85aa 100644 --- a/lib/l10n/es.json +++ b/lib/l10n/es.json @@ -64,8 +64,6 @@ "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Usuario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Eliminar", @@ -76,7 +74,6 @@ "Security" : "Seguridad", "Encryption" : "Cifrado", "Additional settings" : "Configuración adicional", - "Tips & tricks" : "Sugerencias y trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verificando", @@ -233,6 +230,9 @@ "Storage connection timeout. %s" : "Tiempo de conexión de almacenamiento agotado. %s", "Personal" : "Personal", "Admin" : "Administración", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Sugerencias y trucos", "DB Error: \"%s\"" : "Error de BD: \"%s\"", "Offending command was: \"%s\"" : "El comando ofensivo fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando ofensivo fue: \"%s\", nombre: %s, contraseña: %s", diff --git a/lib/l10n/es_419.js b/lib/l10n/es_419.js index d06c3dc480e..d1b7f54eae2 100644 --- a/lib/l10n/es_419.js +++ b/lib/l10n/es_419.js @@ -65,14 +65,11 @@ OC.L10N.register( "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -227,6 +224,9 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_419.json b/lib/l10n/es_419.json index 6d3a221b8e5..0d19207cb80 100644 --- a/lib/l10n/es_419.json +++ b/lib/l10n/es_419.json @@ -63,14 +63,11 @@ "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -225,6 +222,9 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/es_AR.js b/lib/l10n/es_AR.js index 98fb3533d13..d5cb6aebed6 100644 --- a/lib/l10n/es_AR.js +++ b/lib/l10n/es_AR.js @@ -54,14 +54,11 @@ OC.L10N.register( "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos y trucos", "%s enter the database username and name." : "%s ingrese el nombre del usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresar el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", @@ -200,6 +197,9 @@ OC.L10N.register( "Storage incomplete configuration. %s" : "Configuración incompleta del almacenamiento. %s", "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", - "Storage connection timeout. %s" : "Se agotó el tiempo de conexión del almacenamiento. %s" + "Storage connection timeout. %s" : "Se agotó el tiempo de conexión del almacenamiento. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos y trucos" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_AR.json b/lib/l10n/es_AR.json index 61e384e8a8a..5100beeb414 100644 --- a/lib/l10n/es_AR.json +++ b/lib/l10n/es_AR.json @@ -52,14 +52,11 @@ "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos y trucos", "%s enter the database username and name." : "%s ingrese el nombre del usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresar el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", @@ -198,6 +195,9 @@ "Storage incomplete configuration. %s" : "Configuración incompleta del almacenamiento. %s", "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", - "Storage connection timeout. %s" : "Se agotó el tiempo de conexión del almacenamiento. %s" + "Storage connection timeout. %s" : "Se agotó el tiempo de conexión del almacenamiento. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos y trucos" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/es_CL.js b/lib/l10n/es_CL.js index 458431e70f5..1002b064857 100644 --- a/lib/l10n/es_CL.js +++ b/lib/l10n/es_CL.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -235,6 +232,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_CL.json b/lib/l10n/es_CL.json index 00cb0a8ad5e..f29877d6b0b 100644 --- a/lib/l10n/es_CL.json +++ b/lib/l10n/es_CL.json @@ -64,8 +64,6 @@ "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -76,7 +74,6 @@ "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -233,6 +230,9 @@ "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_CO.js b/lib/l10n/es_CO.js index 458431e70f5..1002b064857 100644 --- a/lib/l10n/es_CO.js +++ b/lib/l10n/es_CO.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -235,6 +232,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_CO.json b/lib/l10n/es_CO.json index 00cb0a8ad5e..f29877d6b0b 100644 --- a/lib/l10n/es_CO.json +++ b/lib/l10n/es_CO.json @@ -64,8 +64,6 @@ "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -76,7 +74,6 @@ "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -233,6 +230,9 @@ "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_CR.js b/lib/l10n/es_CR.js index 458431e70f5..1002b064857 100644 --- a/lib/l10n/es_CR.js +++ b/lib/l10n/es_CR.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -235,6 +232,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_CR.json b/lib/l10n/es_CR.json index 00cb0a8ad5e..f29877d6b0b 100644 --- a/lib/l10n/es_CR.json +++ b/lib/l10n/es_CR.json @@ -64,8 +64,6 @@ "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -76,7 +74,6 @@ "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -233,6 +230,9 @@ "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_DO.js b/lib/l10n/es_DO.js index 458431e70f5..1002b064857 100644 --- a/lib/l10n/es_DO.js +++ b/lib/l10n/es_DO.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -235,6 +232,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_DO.json b/lib/l10n/es_DO.json index 00cb0a8ad5e..f29877d6b0b 100644 --- a/lib/l10n/es_DO.json +++ b/lib/l10n/es_DO.json @@ -64,8 +64,6 @@ "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -76,7 +74,6 @@ "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -233,6 +230,9 @@ "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_EC.js b/lib/l10n/es_EC.js index 458431e70f5..1002b064857 100644 --- a/lib/l10n/es_EC.js +++ b/lib/l10n/es_EC.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -235,6 +232,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_EC.json b/lib/l10n/es_EC.json index 00cb0a8ad5e..f29877d6b0b 100644 --- a/lib/l10n/es_EC.json +++ b/lib/l10n/es_EC.json @@ -64,8 +64,6 @@ "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -76,7 +74,6 @@ "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -233,6 +230,9 @@ "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_GT.js b/lib/l10n/es_GT.js index 458431e70f5..1002b064857 100644 --- a/lib/l10n/es_GT.js +++ b/lib/l10n/es_GT.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -235,6 +232,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_GT.json b/lib/l10n/es_GT.json index 00cb0a8ad5e..f29877d6b0b 100644 --- a/lib/l10n/es_GT.json +++ b/lib/l10n/es_GT.json @@ -64,8 +64,6 @@ "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -76,7 +74,6 @@ "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -233,6 +230,9 @@ "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_HN.js b/lib/l10n/es_HN.js index 097c6a9ec75..4f46d2cd040 100644 --- a/lib/l10n/es_HN.js +++ b/lib/l10n/es_HN.js @@ -65,14 +65,11 @@ OC.L10N.register( "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -227,6 +224,9 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_HN.json b/lib/l10n/es_HN.json index 92ad85169da..ab057a17c9a 100644 --- a/lib/l10n/es_HN.json +++ b/lib/l10n/es_HN.json @@ -63,14 +63,11 @@ "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -225,6 +222,9 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/es_MX.js b/lib/l10n/es_MX.js index 37d50d67783..575d11b5e70 100644 --- a/lib/l10n/es_MX.js +++ b/lib/l10n/es_MX.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Mobile & desktop" : "Móvil & escritorio", "Unlimited" : "Ilimitado", @@ -236,6 +233,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_MX.json b/lib/l10n/es_MX.json index 41222fe9178..83dbe76dac0 100644 --- a/lib/l10n/es_MX.json +++ b/lib/l10n/es_MX.json @@ -64,8 +64,6 @@ "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -76,7 +74,6 @@ "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Mobile & desktop" : "Móvil & escritorio", "Unlimited" : "Ilimitado", @@ -234,6 +231,9 @@ "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_NI.js b/lib/l10n/es_NI.js index 967a97420b3..1b6cf810e71 100644 --- a/lib/l10n/es_NI.js +++ b/lib/l10n/es_NI.js @@ -65,14 +65,11 @@ OC.L10N.register( "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -227,6 +224,9 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_NI.json b/lib/l10n/es_NI.json index aa9d70acc1a..a787ebe2d03 100644 --- a/lib/l10n/es_NI.json +++ b/lib/l10n/es_NI.json @@ -63,14 +63,11 @@ "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -225,6 +222,9 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/es_PA.js b/lib/l10n/es_PA.js index 8bbc815dd7e..c16f549a918 100644 --- a/lib/l10n/es_PA.js +++ b/lib/l10n/es_PA.js @@ -65,14 +65,11 @@ OC.L10N.register( "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -227,6 +224,9 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_PA.json b/lib/l10n/es_PA.json index 334d6682dff..63558bdd6c7 100644 --- a/lib/l10n/es_PA.json +++ b/lib/l10n/es_PA.json @@ -63,14 +63,11 @@ "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -225,6 +222,9 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/es_PE.js b/lib/l10n/es_PE.js index fc0db3108a3..0364835f324 100644 --- a/lib/l10n/es_PE.js +++ b/lib/l10n/es_PE.js @@ -65,14 +65,11 @@ OC.L10N.register( "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -227,6 +224,9 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_PE.json b/lib/l10n/es_PE.json index 186eff96ff3..86aa71cf7c3 100644 --- a/lib/l10n/es_PE.json +++ b/lib/l10n/es_PE.json @@ -63,14 +63,11 @@ "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -225,6 +222,9 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/es_PR.js b/lib/l10n/es_PR.js index 8bf006a943b..d317aa8c90b 100644 --- a/lib/l10n/es_PR.js +++ b/lib/l10n/es_PR.js @@ -65,14 +65,11 @@ OC.L10N.register( "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -227,6 +224,9 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_PR.json b/lib/l10n/es_PR.json index 46a88fe3d56..72bc8e46e87 100644 --- a/lib/l10n/es_PR.json +++ b/lib/l10n/es_PR.json @@ -63,14 +63,11 @@ "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -225,6 +222,9 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/es_PY.js b/lib/l10n/es_PY.js index d188af2a98a..23080660d7b 100644 --- a/lib/l10n/es_PY.js +++ b/lib/l10n/es_PY.js @@ -65,14 +65,11 @@ OC.L10N.register( "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -227,6 +224,9 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_PY.json b/lib/l10n/es_PY.json index 46105adf88f..3f877acbac6 100644 --- a/lib/l10n/es_PY.json +++ b/lib/l10n/es_PY.json @@ -63,14 +63,11 @@ "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -225,6 +222,9 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/es_SV.js b/lib/l10n/es_SV.js index 458431e70f5..1002b064857 100644 --- a/lib/l10n/es_SV.js +++ b/lib/l10n/es_SV.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -235,6 +232,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_SV.json b/lib/l10n/es_SV.json index 00cb0a8ad5e..f29877d6b0b 100644 --- a/lib/l10n/es_SV.json +++ b/lib/l10n/es_SV.json @@ -64,8 +64,6 @@ "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crear", "Change" : "Cambiar", "Delete" : "Borrar", @@ -76,7 +74,6 @@ "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -233,6 +230,9 @@ "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", "Personal" : "Personal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "DB Error: \"%s\"" : "DB Error: \"%s\"", "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre:%s, contraseña:%s", diff --git a/lib/l10n/es_UY.js b/lib/l10n/es_UY.js index 526701467f5..ec07e1fdc14 100644 --- a/lib/l10n/es_UY.js +++ b/lib/l10n/es_UY.js @@ -65,14 +65,11 @@ OC.L10N.register( "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -227,6 +224,9 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_UY.json b/lib/l10n/es_UY.json index 4b84af44a0b..a9f65b90d7c 100644 --- a/lib/l10n/es_UY.json +++ b/lib/l10n/es_UY.json @@ -63,14 +63,11 @@ "Log out" : "Salir", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", "Security" : "Seguridad", "Encryption" : "Encripción", "Additional settings" : "Configuraciones adicionales", - "Tips & tricks" : "Consejos & trucos", "Personal info" : "Información personal", "Unlimited" : "Ilimitado", "Verifying" : "Verficando", @@ -225,6 +222,9 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Consejos & trucos", "Sync clients" : "Sincronizar clientes" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/et_EE.js b/lib/l10n/et_EE.js index 28e5ca430f5..c322c6342ff 100644 --- a/lib/l10n/et_EE.js +++ b/lib/l10n/et_EE.js @@ -50,7 +50,6 @@ OC.L10N.register( "Security" : "Turvalisus", "Encryption" : "Krüpteerimine", "Additional settings" : "Lisaseaded", - "Tips & tricks" : "Nõuanded ja trikid", "Personal info" : "Isiklik info", "Unlimited" : "Piiramatult", "Verifying" : "Kontrollin", @@ -182,6 +181,7 @@ OC.L10N.register( "Please upgrade your database version" : "Palun uuenda oma andmebaasi versiooni", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Palun muuda kataloogi õigused 0770-ks, et kataloogi sisu poleks teistele kasutajatele nähtav", "Could not obtain lock type %d on \"%s\"." : "Ei suutnud hankida %d tüüpi lukustust \"%s\".", + "Tips & tricks" : "Nõuanded ja trikid", "Sync clients" : "Klientide sünkroniseerimine" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/et_EE.json b/lib/l10n/et_EE.json index 33cb3215a79..d94732acdba 100644 --- a/lib/l10n/et_EE.json +++ b/lib/l10n/et_EE.json @@ -48,7 +48,6 @@ "Security" : "Turvalisus", "Encryption" : "Krüpteerimine", "Additional settings" : "Lisaseaded", - "Tips & tricks" : "Nõuanded ja trikid", "Personal info" : "Isiklik info", "Unlimited" : "Piiramatult", "Verifying" : "Kontrollin", @@ -180,6 +179,7 @@ "Please upgrade your database version" : "Palun uuenda oma andmebaasi versiooni", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Palun muuda kataloogi õigused 0770-ks, et kataloogi sisu poleks teistele kasutajatele nähtav", "Could not obtain lock type %d on \"%s\"." : "Ei suutnud hankida %d tüüpi lukustust \"%s\".", + "Tips & tricks" : "Nõuanded ja trikid", "Sync clients" : "Klientide sünkroniseerimine" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/eu.js b/lib/l10n/eu.js index 51d5b42aee9..baafa10dda4 100644 --- a/lib/l10n/eu.js +++ b/lib/l10n/eu.js @@ -41,12 +41,9 @@ OC.L10N.register( "Apps" : "Aplikazioak", "Users" : "Erabiltzaileak", "Unknown user" : "Erabiltzaile ezezaguna", - "APCu" : "APCu", - "Redis" : "Redis", "Sharing" : "Partekatze", "Encryption" : "Enkriptazio", "Additional settings" : "Ezarpen gehiago", - "Tips & tricks" : "Aholkuak eta trikimailuak", "%s enter the database username and name." : "%s sartu datu-basearen erabiltzaile-izena eta izena.", "%s enter the database username." : "%s sartu datu basearen erabiltzaile izena.", "%s enter the database name." : "%s sartu datu basearen izena.", @@ -149,6 +146,9 @@ OC.L10N.register( "PostgreSQL >= 9 required" : "PostgreSQL >= 9 behar da", "Please upgrade your database version" : "Mesedez eguneratu zure datu basearen bertsioa", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Mesedez aldatu baimenak 0770ra beste erabiltzaileek karpetan sartu ezin izateko.", - "Could not obtain lock type %d on \"%s\"." : "Ezin da lortu sarraia mota %d \"%s\"-an." + "Could not obtain lock type %d on \"%s\"." : "Ezin da lortu sarraia mota %d \"%s\"-an.", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Aholkuak eta trikimailuak" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/eu.json b/lib/l10n/eu.json index 016d4e76303..685f7469c59 100644 --- a/lib/l10n/eu.json +++ b/lib/l10n/eu.json @@ -39,12 +39,9 @@ "Apps" : "Aplikazioak", "Users" : "Erabiltzaileak", "Unknown user" : "Erabiltzaile ezezaguna", - "APCu" : "APCu", - "Redis" : "Redis", "Sharing" : "Partekatze", "Encryption" : "Enkriptazio", "Additional settings" : "Ezarpen gehiago", - "Tips & tricks" : "Aholkuak eta trikimailuak", "%s enter the database username and name." : "%s sartu datu-basearen erabiltzaile-izena eta izena.", "%s enter the database username." : "%s sartu datu basearen erabiltzaile izena.", "%s enter the database name." : "%s sartu datu basearen izena.", @@ -147,6 +144,9 @@ "PostgreSQL >= 9 required" : "PostgreSQL >= 9 behar da", "Please upgrade your database version" : "Mesedez eguneratu zure datu basearen bertsioa", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Mesedez aldatu baimenak 0770ra beste erabiltzaileek karpetan sartu ezin izateko.", - "Could not obtain lock type %d on \"%s\"." : "Ezin da lortu sarraia mota %d \"%s\"-an." + "Could not obtain lock type %d on \"%s\"." : "Ezin da lortu sarraia mota %d \"%s\"-an.", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Aholkuak eta trikimailuak" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/fi.js b/lib/l10n/fi.js index 8a6ee544929..f458f502007 100644 --- a/lib/l10n/fi.js +++ b/lib/l10n/fi.js @@ -60,8 +60,6 @@ OC.L10N.register( "Log out" : "Kirjaudu ulos", "Users" : "Käyttäjät", "Unknown user" : "Tuntematon käyttäjä", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Luo", "Change" : "Muuta", "Delete" : "Poista", @@ -71,7 +69,6 @@ OC.L10N.register( "Security" : "Turvallisuus", "Encryption" : "Salaus", "Additional settings" : "Lisäasetukset", - "Tips & tricks" : "Vinkkejä", "Personal info" : "Henkilökohtaiset tiedot", "Mobile & desktop" : "Mobiili ja työpöytä", "Unlimited" : "Rajoittamaton", @@ -209,6 +206,9 @@ OC.L10N.register( "Storage connection error. %s" : "Tallennustilan yhteysvirhe. %s", "Storage is temporarily not available" : "Tallennustila on tilapäisesti pois käytöstä", "Storage connection timeout. %s" : "Tallennustilan yhteyden aikakatkaisu. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Vinkkejä", "DB Error: \"%s\"" : "Tietokantavirhe: \"%s\"", "App '%s' could not be installed!" : "Sovellusta '%s' ei voitu asentaa!", "Sync clients" : "Synkronointisovellukset" diff --git a/lib/l10n/fi.json b/lib/l10n/fi.json index e79386f72b3..e8f169c0ddd 100644 --- a/lib/l10n/fi.json +++ b/lib/l10n/fi.json @@ -58,8 +58,6 @@ "Log out" : "Kirjaudu ulos", "Users" : "Käyttäjät", "Unknown user" : "Tuntematon käyttäjä", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Luo", "Change" : "Muuta", "Delete" : "Poista", @@ -69,7 +67,6 @@ "Security" : "Turvallisuus", "Encryption" : "Salaus", "Additional settings" : "Lisäasetukset", - "Tips & tricks" : "Vinkkejä", "Personal info" : "Henkilökohtaiset tiedot", "Mobile & desktop" : "Mobiili ja työpöytä", "Unlimited" : "Rajoittamaton", @@ -207,6 +204,9 @@ "Storage connection error. %s" : "Tallennustilan yhteysvirhe. %s", "Storage is temporarily not available" : "Tallennustila on tilapäisesti pois käytöstä", "Storage connection timeout. %s" : "Tallennustilan yhteyden aikakatkaisu. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Vinkkejä", "DB Error: \"%s\"" : "Tietokantavirhe: \"%s\"", "App '%s' could not be installed!" : "Sovellusta '%s' ei voitu asentaa!", "Sync clients" : "Synkronointisovellukset" diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js index 780451c06ea..f966e0e9bf1 100644 --- a/lib/l10n/fr.js +++ b/lib/l10n/fr.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Se déconnecter", "Users" : "Utilisateurs", "Unknown user" : "Utilisateur inconnu", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Créer", "Change" : "Modifier", "Delete" : "Supprimer", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Sécurité", "Encryption" : "Chiffrement", "Additional settings" : "Paramètres supplémentaires", - "Tips & tricks" : "Trucs et astuces", "Personal info" : "Informations personnelles", "Unlimited" : "Illimité", "Verifying" : "Vérification en cours", @@ -235,6 +232,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Le délai d'attente pour la connexion à l'espace de stockage a été dépassé. %s", "Personal" : "Personnel", "Admin" : "Administration", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Trucs et astuces", "DB Error: \"%s\"" : "Erreur de la base de données : \"%s\"", "Offending command was: \"%s\"" : "La requête en cause est : \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "La requête en cause est : \"%s\", nom : %s, mot de passe : %s", diff --git a/lib/l10n/fr.json b/lib/l10n/fr.json index af4451e352f..fe12ac8591b 100644 --- a/lib/l10n/fr.json +++ b/lib/l10n/fr.json @@ -64,8 +64,6 @@ "Log out" : "Se déconnecter", "Users" : "Utilisateurs", "Unknown user" : "Utilisateur inconnu", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Créer", "Change" : "Modifier", "Delete" : "Supprimer", @@ -76,7 +74,6 @@ "Security" : "Sécurité", "Encryption" : "Chiffrement", "Additional settings" : "Paramètres supplémentaires", - "Tips & tricks" : "Trucs et astuces", "Personal info" : "Informations personnelles", "Unlimited" : "Illimité", "Verifying" : "Vérification en cours", @@ -233,6 +230,9 @@ "Storage connection timeout. %s" : "Le délai d'attente pour la connexion à l'espace de stockage a été dépassé. %s", "Personal" : "Personnel", "Admin" : "Administration", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Trucs et astuces", "DB Error: \"%s\"" : "Erreur de la base de données : \"%s\"", "Offending command was: \"%s\"" : "La requête en cause est : \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "La requête en cause est : \"%s\", nom : %s, mot de passe : %s", diff --git a/lib/l10n/he.js b/lib/l10n/he.js index 48c455015f2..02e8bf2827e 100644 --- a/lib/l10n/he.js +++ b/lib/l10n/he.js @@ -38,7 +38,6 @@ OC.L10N.register( "Users" : "משתמשים", "Unknown user" : "משתמש לא ידוע", "Sharing" : "שיתוף", - "Tips & tricks" : "טיפים וטריקים", "%s enter the database username and name." : "%s יש להכניס את שם המשתמש ושם מסד הנתונים.", "%s enter the database username." : "%s נכנס למסד נתוני שמות המשתמשים.", "%s enter the database name." : "%s נכנס למסד נתוני השמות.", @@ -166,6 +165,7 @@ OC.L10N.register( "Storage unauthorized. %s" : "אחסון לא מורשה. %s", "Storage incomplete configuration. %s" : "תצורה לא מושלמת של האחסון. %s", "Storage connection error. %s" : "שגיאת חיבור אחסון. %s", - "Storage connection timeout. %s" : "פסק זמן חיבור אחסון. %s" + "Storage connection timeout. %s" : "פסק זמן חיבור אחסון. %s", + "Tips & tricks" : "טיפים וטריקים" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); diff --git a/lib/l10n/he.json b/lib/l10n/he.json index 25e138b3298..0e8e6413b68 100644 --- a/lib/l10n/he.json +++ b/lib/l10n/he.json @@ -36,7 +36,6 @@ "Users" : "משתמשים", "Unknown user" : "משתמש לא ידוע", "Sharing" : "שיתוף", - "Tips & tricks" : "טיפים וטריקים", "%s enter the database username and name." : "%s יש להכניס את שם המשתמש ושם מסד הנתונים.", "%s enter the database username." : "%s נכנס למסד נתוני שמות המשתמשים.", "%s enter the database name." : "%s נכנס למסד נתוני השמות.", @@ -164,6 +163,7 @@ "Storage unauthorized. %s" : "אחסון לא מורשה. %s", "Storage incomplete configuration. %s" : "תצורה לא מושלמת של האחסון. %s", "Storage connection error. %s" : "שגיאת חיבור אחסון. %s", - "Storage connection timeout. %s" : "פסק זמן חיבור אחסון. %s" + "Storage connection timeout. %s" : "פסק זמן חיבור אחסון. %s", + "Tips & tricks" : "טיפים וטריקים" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" }
\ No newline at end of file diff --git a/lib/l10n/hu.js b/lib/l10n/hu.js index e3b48107a69..60c3c21b089 100644 --- a/lib/l10n/hu.js +++ b/lib/l10n/hu.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Kijelentkezés", "Users" : "Felhasználók", "Unknown user" : "Ismeretlen felhasználó", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Létrehozás", "Change" : "Változtatás", "Delete" : "Törlés", @@ -77,7 +75,6 @@ OC.L10N.register( "Security" : "Biztonság", "Encryption" : "Titkosítás", "Additional settings" : "További beállítások", - "Tips & tricks" : "Tippek és trükkök", "Personal info" : "Személyes információk", "Unlimited" : "Korlátlan", "Verifying" : "Ellenőrzés", @@ -234,6 +231,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Tároló kapcsolat időtúllépés. %s", "Personal" : "Személyes", "Admin" : "Adminisztrátor", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tippek és trükkök", "DB Error: \"%s\"" : "Adatbázis hiba: \"%s\"", "Offending command was: \"%s\"" : "A hibát ez a parancs okozta: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "A hibát okozó parancs ez volt: \"%s\", login név: %s, jelszó: %s", diff --git a/lib/l10n/hu.json b/lib/l10n/hu.json index efcbe56fda7..42e219a11f5 100644 --- a/lib/l10n/hu.json +++ b/lib/l10n/hu.json @@ -64,8 +64,6 @@ "Log out" : "Kijelentkezés", "Users" : "Felhasználók", "Unknown user" : "Ismeretlen felhasználó", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Létrehozás", "Change" : "Változtatás", "Delete" : "Törlés", @@ -75,7 +73,6 @@ "Security" : "Biztonság", "Encryption" : "Titkosítás", "Additional settings" : "További beállítások", - "Tips & tricks" : "Tippek és trükkök", "Personal info" : "Személyes információk", "Unlimited" : "Korlátlan", "Verifying" : "Ellenőrzés", @@ -232,6 +229,9 @@ "Storage connection timeout. %s" : "Tároló kapcsolat időtúllépés. %s", "Personal" : "Személyes", "Admin" : "Adminisztrátor", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tippek és trükkök", "DB Error: \"%s\"" : "Adatbázis hiba: \"%s\"", "Offending command was: \"%s\"" : "A hibát ez a parancs okozta: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "A hibát okozó parancs ez volt: \"%s\", login név: %s, jelszó: %s", diff --git a/lib/l10n/is.js b/lib/l10n/is.js index 942a318d2ee..c9beec4994d 100644 --- a/lib/l10n/is.js +++ b/lib/l10n/is.js @@ -65,14 +65,11 @@ OC.L10N.register( "Log out" : "Skrá út", "Users" : "Notendur", "Unknown user" : "Óþekktur notandi", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Grunnstillingar", "Sharing" : "Deiling", "Security" : "Öryggi", "Encryption" : "Dulritun", "Additional settings" : "Valfrjálsar stillingar", - "Tips & tricks" : "Ábendingar og góð ráð", "Personal info" : "Persónulegar upplýsingar", "Unlimited" : "Ótakmarkað", "Verifying" : "Sannreyni", @@ -227,6 +224,9 @@ OC.L10N.register( "Storage connection error. %s" : "Villa í tengingu við gagnageymslu. %s", "Storage is temporarily not available" : "Gagnageymsla ekki tiltæk í augnablikinu", "Storage connection timeout. %s" : "Gagnageymsla féll á tíma. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Ábendingar og góð ráð", "Sync clients" : "Samstilla biðlara" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/lib/l10n/is.json b/lib/l10n/is.json index dff884ba9a6..bf7eea16be6 100644 --- a/lib/l10n/is.json +++ b/lib/l10n/is.json @@ -63,14 +63,11 @@ "Log out" : "Skrá út", "Users" : "Notendur", "Unknown user" : "Óþekktur notandi", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Grunnstillingar", "Sharing" : "Deiling", "Security" : "Öryggi", "Encryption" : "Dulritun", "Additional settings" : "Valfrjálsar stillingar", - "Tips & tricks" : "Ábendingar og góð ráð", "Personal info" : "Persónulegar upplýsingar", "Unlimited" : "Ótakmarkað", "Verifying" : "Sannreyni", @@ -225,6 +222,9 @@ "Storage connection error. %s" : "Villa í tengingu við gagnageymslu. %s", "Storage is temporarily not available" : "Gagnageymsla ekki tiltæk í augnablikinu", "Storage connection timeout. %s" : "Gagnageymsla féll á tíma. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Ábendingar og góð ráð", "Sync clients" : "Samstilla biðlara" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" }
\ No newline at end of file diff --git a/lib/l10n/it.js b/lib/l10n/it.js index 685f912f87d..3d10a5fa006 100644 --- a/lib/l10n/it.js +++ b/lib/l10n/it.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Esci", "Users" : "Utenti", "Unknown user" : "Utente sconosciuto", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crea", "Change" : "Modifica", "Delete" : "Elimina", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Sicurezza", "Encryption" : "Cifratura", "Additional settings" : "Impostazioni aggiuntive", - "Tips & tricks" : "Suggerimenti e trucchi", "Personal info" : "Informazioni personali", "Mobile & desktop" : "Mobile e desktop", "Unlimited" : "Illimitato", @@ -236,6 +233,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Timeout di connessione all'archiviazione. %s", "Personal" : "Personale", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Suggerimenti e trucchi", "DB Error: \"%s\"" : "Errore DB: \"%s\"", "Offending command was: \"%s\"" : "Il comando non consentito era: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Il comando non consentito era: \"%s\", nome: %s, password: %s", diff --git a/lib/l10n/it.json b/lib/l10n/it.json index 78124cac485..208dda698cb 100644 --- a/lib/l10n/it.json +++ b/lib/l10n/it.json @@ -64,8 +64,6 @@ "Log out" : "Esci", "Users" : "Utenti", "Unknown user" : "Utente sconosciuto", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Crea", "Change" : "Modifica", "Delete" : "Elimina", @@ -76,7 +74,6 @@ "Security" : "Sicurezza", "Encryption" : "Cifratura", "Additional settings" : "Impostazioni aggiuntive", - "Tips & tricks" : "Suggerimenti e trucchi", "Personal info" : "Informazioni personali", "Mobile & desktop" : "Mobile e desktop", "Unlimited" : "Illimitato", @@ -234,6 +231,9 @@ "Storage connection timeout. %s" : "Timeout di connessione all'archiviazione. %s", "Personal" : "Personale", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Suggerimenti e trucchi", "DB Error: \"%s\"" : "Errore DB: \"%s\"", "Offending command was: \"%s\"" : "Il comando non consentito era: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Il comando non consentito era: \"%s\", nome: %s, password: %s", diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js index 394751a777d..7821322dd24 100644 --- a/lib/l10n/ja.js +++ b/lib/l10n/ja.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "ログアウト", "Users" : "ユーザー", "Unknown user" : "不明なユーザー", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "作成", "Change" : "変更", "Delete" : "削除", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "セキュリティ", "Encryption" : "暗号化", "Additional settings" : "追加設定", - "Tips & tricks" : "ヒントとコツ", "Personal info" : "個人情報", "Unlimited" : "無制限", "Verifying" : "検証中", @@ -89,8 +86,8 @@ OC.L10N.register( "%s enter the database name." : "%s のデータベース名を入力してください。", "%s you may not use dots in the database name" : "%s ではデータベース名にドットを利用できないかもしれません。", "Oracle connection could not be established" : "Oracleへの接続が確立できませんでした。", - "Oracle username and/or password not valid" : "Oracleのユーザー名もしくはパスワードは有効ではありません", - "PostgreSQL username and/or password not valid" : "PostgreSQLのユーザー名もしくはパスワードは有効ではありません", + "Oracle username and/or password not valid" : "Oracleのユーザー名またはパスワードが有効ではありません", + "PostgreSQL username and/or password not valid" : "PostgreSQLのユーザー名またはパスワードが有効ではありません", "You need to enter details of an existing account." : "既存のアカウントの詳細を入力してください。", "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X では、サポートされていません。このOSでは、%sは正常に動作しないかもしれません。ご自身の責任においてご利用ください。", "For the best results, please consider using a GNU/Linux server instead." : "最も良い方法としては、代わりにGNU/Linuxサーバーを利用することをご検討ください。", @@ -112,7 +109,7 @@ OC.L10N.register( "Sharing %s failed, because %s is not a member of the group %s" : "%s を共有できませんでした。%s は、グループ %s のメンバーではありません。", "You need to provide a password to create a public link, only protected links are allowed" : "公開用リンクの作成にはパスワードの設定が必要です", "Sharing %s failed, because sharing with links is not allowed" : "%s を共有できませんでした。リンクでの共有は許可されていません。", - "Not allowed to create a federated share with the same user" : "同じユーザーでフェデレーション共有を作成することは出来ません", + "Not allowed to create a federated share with the same user" : "同じユーザーでフェデレーション共有は作成できません。", "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s を共有できませんでした。%s が見つかりませんでした。現在サーバーに接続できないようです。", "Share type %s is not valid for %s" : "%s の共有方法は、%s には適用できません。", "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "有効期限を設定できません。共有開始から %s 以降に有効期限を設定することはできません。", @@ -235,6 +232,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "ストレージへの接続がタイムアウト。 %s", "Personal" : "パーソナル", "Admin" : "管理者", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "ヒントとコツ", "DB Error: \"%s\"" : "DBエラー: \"%s\"", "Offending command was: \"%s\"" : "問題のあるコマンド: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "問題のあるコマンド: \"%s\", name: %s, password: %s", diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json index 773c5bddb9b..9d5049baa79 100644 --- a/lib/l10n/ja.json +++ b/lib/l10n/ja.json @@ -64,8 +64,6 @@ "Log out" : "ログアウト", "Users" : "ユーザー", "Unknown user" : "不明なユーザー", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "作成", "Change" : "変更", "Delete" : "削除", @@ -76,7 +74,6 @@ "Security" : "セキュリティ", "Encryption" : "暗号化", "Additional settings" : "追加設定", - "Tips & tricks" : "ヒントとコツ", "Personal info" : "個人情報", "Unlimited" : "無制限", "Verifying" : "検証中", @@ -87,8 +84,8 @@ "%s enter the database name." : "%s のデータベース名を入力してください。", "%s you may not use dots in the database name" : "%s ではデータベース名にドットを利用できないかもしれません。", "Oracle connection could not be established" : "Oracleへの接続が確立できませんでした。", - "Oracle username and/or password not valid" : "Oracleのユーザー名もしくはパスワードは有効ではありません", - "PostgreSQL username and/or password not valid" : "PostgreSQLのユーザー名もしくはパスワードは有効ではありません", + "Oracle username and/or password not valid" : "Oracleのユーザー名またはパスワードが有効ではありません", + "PostgreSQL username and/or password not valid" : "PostgreSQLのユーザー名またはパスワードが有効ではありません", "You need to enter details of an existing account." : "既存のアカウントの詳細を入力してください。", "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X では、サポートされていません。このOSでは、%sは正常に動作しないかもしれません。ご自身の責任においてご利用ください。", "For the best results, please consider using a GNU/Linux server instead." : "最も良い方法としては、代わりにGNU/Linuxサーバーを利用することをご検討ください。", @@ -110,7 +107,7 @@ "Sharing %s failed, because %s is not a member of the group %s" : "%s を共有できませんでした。%s は、グループ %s のメンバーではありません。", "You need to provide a password to create a public link, only protected links are allowed" : "公開用リンクの作成にはパスワードの設定が必要です", "Sharing %s failed, because sharing with links is not allowed" : "%s を共有できませんでした。リンクでの共有は許可されていません。", - "Not allowed to create a federated share with the same user" : "同じユーザーでフェデレーション共有を作成することは出来ません", + "Not allowed to create a federated share with the same user" : "同じユーザーでフェデレーション共有は作成できません。", "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s を共有できませんでした。%s が見つかりませんでした。現在サーバーに接続できないようです。", "Share type %s is not valid for %s" : "%s の共有方法は、%s には適用できません。", "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "有効期限を設定できません。共有開始から %s 以降に有効期限を設定することはできません。", @@ -233,6 +230,9 @@ "Storage connection timeout. %s" : "ストレージへの接続がタイムアウト。 %s", "Personal" : "パーソナル", "Admin" : "管理者", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "ヒントとコツ", "DB Error: \"%s\"" : "DBエラー: \"%s\"", "Offending command was: \"%s\"" : "問題のあるコマンド: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "問題のあるコマンド: \"%s\", name: %s, password: %s", diff --git a/lib/l10n/ka_GE.js b/lib/l10n/ka_GE.js index e12e58d5ee0..db25f68a2dd 100644 --- a/lib/l10n/ka_GE.js +++ b/lib/l10n/ka_GE.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "გასვლა", "Users" : "მომხმარებლები", "Unknown user" : "ამოუცნობი მომხმარებელი", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "შექმნა", "Change" : "შეცვლა", "Delete" : "გაუქმება", @@ -77,7 +75,6 @@ OC.L10N.register( "Security" : "უსაფრთხოება", "Encryption" : "შიფრაცია", "Additional settings" : "დამატებითი პარამეტრები", - "Tips & tricks" : "რჩევები და ხრიკები", "Personal info" : "პირადი ინფორმაცია", "Unlimited" : "ულიმიტო", "Verifying" : "მოწმდება", @@ -234,6 +231,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "საცავის კავშირის დროის ამოწურვა. %s", "Personal" : "პირადი", "Admin" : "ადმინისტრატორი", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "რჩევები და ხრიკები", "DB Error: \"%s\"" : "DB შეცდომა: \"%s\"", "Offending command was: \"%s\"" : "შემაშფოთებელი ბრძანება იყო: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "შემაშფოთებელი ბრძანება იყო: \"%s\", სახელი: %s, პაროლი: %s", diff --git a/lib/l10n/ka_GE.json b/lib/l10n/ka_GE.json index 5ed15c191d5..2e81294b48c 100644 --- a/lib/l10n/ka_GE.json +++ b/lib/l10n/ka_GE.json @@ -64,8 +64,6 @@ "Log out" : "გასვლა", "Users" : "მომხმარებლები", "Unknown user" : "ამოუცნობი მომხმარებელი", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "შექმნა", "Change" : "შეცვლა", "Delete" : "გაუქმება", @@ -75,7 +73,6 @@ "Security" : "უსაფრთხოება", "Encryption" : "შიფრაცია", "Additional settings" : "დამატებითი პარამეტრები", - "Tips & tricks" : "რჩევები და ხრიკები", "Personal info" : "პირადი ინფორმაცია", "Unlimited" : "ულიმიტო", "Verifying" : "მოწმდება", @@ -232,6 +229,9 @@ "Storage connection timeout. %s" : "საცავის კავშირის დროის ამოწურვა. %s", "Personal" : "პირადი", "Admin" : "ადმინისტრატორი", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "რჩევები და ხრიკები", "DB Error: \"%s\"" : "DB შეცდომა: \"%s\"", "Offending command was: \"%s\"" : "შემაშფოთებელი ბრძანება იყო: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "შემაშფოთებელი ბრძანება იყო: \"%s\", სახელი: %s, პაროლი: %s", diff --git a/lib/l10n/ko.js b/lib/l10n/ko.js index 4138e5df955..43c6f8baf5a 100644 --- a/lib/l10n/ko.js +++ b/lib/l10n/ko.js @@ -65,14 +65,11 @@ OC.L10N.register( "Log out" : "로그아웃", "Users" : "사용자", "Unknown user" : "알려지지 않은 사용자", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "기본 설정", "Sharing" : "공유", "Security" : "보안", "Encryption" : "암호화", "Additional settings" : "고급 설정", - "Tips & tricks" : "팁과 추가 정보", "Personal info" : "개인 정보", "Unlimited" : "무제한", "Verifying" : "검사 중", @@ -229,6 +226,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "저장소 연결 시간이 초과되었습니다. %s", "Personal" : "개인", "Admin" : "관리자", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "팁과 추가 정보", "DB Error: \"%s\"" : "DB 오류: \"%s\"", "Offending command was: \"%s\"" : "잘못된 명령: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "잘못된 명령: \"%s\", 이름: %s, 암호: %s", diff --git a/lib/l10n/ko.json b/lib/l10n/ko.json index 3447f65132d..9356de01a07 100644 --- a/lib/l10n/ko.json +++ b/lib/l10n/ko.json @@ -63,14 +63,11 @@ "Log out" : "로그아웃", "Users" : "사용자", "Unknown user" : "알려지지 않은 사용자", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "기본 설정", "Sharing" : "공유", "Security" : "보안", "Encryption" : "암호화", "Additional settings" : "고급 설정", - "Tips & tricks" : "팁과 추가 정보", "Personal info" : "개인 정보", "Unlimited" : "무제한", "Verifying" : "검사 중", @@ -227,6 +224,9 @@ "Storage connection timeout. %s" : "저장소 연결 시간이 초과되었습니다. %s", "Personal" : "개인", "Admin" : "관리자", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "팁과 추가 정보", "DB Error: \"%s\"" : "DB 오류: \"%s\"", "Offending command was: \"%s\"" : "잘못된 명령: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "잘못된 명령: \"%s\", 이름: %s, 암호: %s", diff --git a/lib/l10n/lb.js b/lib/l10n/lb.js index eab1bc9c73f..8b44be891f4 100644 --- a/lib/l10n/lb.js +++ b/lib/l10n/lb.js @@ -21,9 +21,9 @@ OC.L10N.register( "__language_name__" : "Lëtzebuergesch", "Apps" : "Applikatiounen", "Users" : "Benotzer", - "Tips & tricks" : "Tipps an Tricks", "Set an admin password." : "Admin Passwuert setzen", "%s shared »%s« with you" : "Den/D' %s huet »%s« mat dir gedeelt", - "Authentication error" : "Authentifikatioun's Fehler" + "Authentication error" : "Authentifikatioun's Fehler", + "Tips & tricks" : "Tipps an Tricks" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/lb.json b/lib/l10n/lb.json index e818fbaaadb..28503f3ede5 100644 --- a/lib/l10n/lb.json +++ b/lib/l10n/lb.json @@ -19,9 +19,9 @@ "__language_name__" : "Lëtzebuergesch", "Apps" : "Applikatiounen", "Users" : "Benotzer", - "Tips & tricks" : "Tipps an Tricks", "Set an admin password." : "Admin Passwuert setzen", "%s shared »%s« with you" : "Den/D' %s huet »%s« mat dir gedeelt", - "Authentication error" : "Authentifikatioun's Fehler" + "Authentication error" : "Authentifikatioun's Fehler", + "Tips & tricks" : "Tipps an Tricks" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/lt_LT.js b/lib/l10n/lt_LT.js index aa9f3aa1b49..08b0f6527b8 100644 --- a/lib/l10n/lt_LT.js +++ b/lib/l10n/lt_LT.js @@ -50,8 +50,6 @@ OC.L10N.register( "Log out" : "Atsijungti", "Users" : "Naudotojai", "Unknown user" : "Nežinomas naudotojas", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Sukurti", "Delete" : "Ištrinti", "Overview" : "Apžvalga", @@ -60,7 +58,6 @@ OC.L10N.register( "Security" : "Saugumas", "Encryption" : "Šifravimas", "Additional settings" : "Papildomi nustatymai", - "Tips & tricks" : "Patarimai ir gudrybės", "Personal info" : "Asmeninė informacija", "Unlimited" : "Neribota", "Verifying" : "Tikrinimas", @@ -203,6 +200,9 @@ OC.L10N.register( "Storage connection error. %s" : "Saugyklos sujungimo ryšio klaida. %s", "Storage is temporarily not available" : "Saugykla yra laikinai neprieinama", "Storage connection timeout. %s" : "Sujungimo su saugykla laikas baigėsi. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Patarimai ir gudrybės", "DB Error: \"%s\"" : "DB klaida: \"%s\"", "Files can't be shared with delete permissions" : "Failai negali būti bendrinami su ištrynimo leidimais", "Files can't be shared with create permissions" : "Failai negali būti bendrinami su sukūrimo leidimais", diff --git a/lib/l10n/lt_LT.json b/lib/l10n/lt_LT.json index 85268029318..2aa2b3ee25b 100644 --- a/lib/l10n/lt_LT.json +++ b/lib/l10n/lt_LT.json @@ -48,8 +48,6 @@ "Log out" : "Atsijungti", "Users" : "Naudotojai", "Unknown user" : "Nežinomas naudotojas", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Sukurti", "Delete" : "Ištrinti", "Overview" : "Apžvalga", @@ -58,7 +56,6 @@ "Security" : "Saugumas", "Encryption" : "Šifravimas", "Additional settings" : "Papildomi nustatymai", - "Tips & tricks" : "Patarimai ir gudrybės", "Personal info" : "Asmeninė informacija", "Unlimited" : "Neribota", "Verifying" : "Tikrinimas", @@ -201,6 +198,9 @@ "Storage connection error. %s" : "Saugyklos sujungimo ryšio klaida. %s", "Storage is temporarily not available" : "Saugykla yra laikinai neprieinama", "Storage connection timeout. %s" : "Sujungimo su saugykla laikas baigėsi. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Patarimai ir gudrybės", "DB Error: \"%s\"" : "DB klaida: \"%s\"", "Files can't be shared with delete permissions" : "Failai negali būti bendrinami su ištrynimo leidimais", "Files can't be shared with create permissions" : "Failai negali būti bendrinami su sukūrimo leidimais", diff --git a/lib/l10n/lv.js b/lib/l10n/lv.js index 5688cc91388..aa175d49ee7 100644 --- a/lib/l10n/lv.js +++ b/lib/l10n/lv.js @@ -40,11 +40,9 @@ OC.L10N.register( "Apps" : "Programmas", "Users" : "Lietotāji", "Unknown user" : "Nezināms lietotājs", - "APCu" : "APCu", "Sharing" : "Koplietošana", "Encryption" : "Šifrēšana", "Additional settings" : "Papildu iestatījumi", - "Tips & tricks" : "Padomi un ieteikumi", "%s enter the database username." : "%s ievadiet datubāzes lietotājvārdu.", "%s enter the database name." : "%s ievadiet datubāzes nosaukumu.", "%s you may not use dots in the database name" : "%s datubāžu nosaukumos nedrīkst izmantot punktus", @@ -124,6 +122,8 @@ OC.L10N.register( "Storage incomplete configuration. %s" : "Storage incomplete configuration. %s", "Storage connection error. %s" : "Datu savienojuma kļūda. %s", "Storage is temporarily not available" : "Glabātuve īslaicīgi nav pieejama", - "Storage connection timeout. %s" : "Datu savienojuma taimauts. %s" + "Storage connection timeout. %s" : "Datu savienojuma taimauts. %s", + "APCu" : "APCu", + "Tips & tricks" : "Padomi un ieteikumi" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); diff --git a/lib/l10n/lv.json b/lib/l10n/lv.json index c31e8f7dc3c..a48d497552c 100644 --- a/lib/l10n/lv.json +++ b/lib/l10n/lv.json @@ -38,11 +38,9 @@ "Apps" : "Programmas", "Users" : "Lietotāji", "Unknown user" : "Nezināms lietotājs", - "APCu" : "APCu", "Sharing" : "Koplietošana", "Encryption" : "Šifrēšana", "Additional settings" : "Papildu iestatījumi", - "Tips & tricks" : "Padomi un ieteikumi", "%s enter the database username." : "%s ievadiet datubāzes lietotājvārdu.", "%s enter the database name." : "%s ievadiet datubāzes nosaukumu.", "%s you may not use dots in the database name" : "%s datubāžu nosaukumos nedrīkst izmantot punktus", @@ -122,6 +120,8 @@ "Storage incomplete configuration. %s" : "Storage incomplete configuration. %s", "Storage connection error. %s" : "Datu savienojuma kļūda. %s", "Storage is temporarily not available" : "Glabātuve īslaicīgi nav pieejama", - "Storage connection timeout. %s" : "Datu savienojuma taimauts. %s" + "Storage connection timeout. %s" : "Datu savienojuma taimauts. %s", + "APCu" : "APCu", + "Tips & tricks" : "Padomi un ieteikumi" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" }
\ No newline at end of file diff --git a/lib/l10n/nb.js b/lib/l10n/nb.js index e1f122ddb12..f8a2efe333a 100644 --- a/lib/l10n/nb.js +++ b/lib/l10n/nb.js @@ -65,8 +65,6 @@ OC.L10N.register( "Log out" : "Logg ut", "Users" : "Brukere", "Unknown user" : "Ukjent bruker", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Opprett", "Change" : "Endre", "Delete" : "Slett", @@ -76,7 +74,6 @@ OC.L10N.register( "Security" : "Sikkerhet", "Encryption" : "Kryptering", "Additional settings" : "Flere innstillinger", - "Tips & tricks" : "Tips og triks", "Personal info" : "Personlig informasjon", "Unlimited" : "Ubegrenset", "Verifying" : "Bekrefter", @@ -233,6 +230,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Tidsavbrudd ved tilkobling av lager: %s", "Personal" : "Personlig", "Admin" : "Administrator", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tips og triks", "DB Error: \"%s\"" : "Databasefeil: \"%s\"", "Offending command was: \"%s\"" : "Kommandoen som mislyktes: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Kommandoen som mislyktes var: \"%s\", navn: %s, passord: %s", diff --git a/lib/l10n/nb.json b/lib/l10n/nb.json index 3f65db55698..8333ef492ef 100644 --- a/lib/l10n/nb.json +++ b/lib/l10n/nb.json @@ -63,8 +63,6 @@ "Log out" : "Logg ut", "Users" : "Brukere", "Unknown user" : "Ukjent bruker", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Opprett", "Change" : "Endre", "Delete" : "Slett", @@ -74,7 +72,6 @@ "Security" : "Sikkerhet", "Encryption" : "Kryptering", "Additional settings" : "Flere innstillinger", - "Tips & tricks" : "Tips og triks", "Personal info" : "Personlig informasjon", "Unlimited" : "Ubegrenset", "Verifying" : "Bekrefter", @@ -231,6 +228,9 @@ "Storage connection timeout. %s" : "Tidsavbrudd ved tilkobling av lager: %s", "Personal" : "Personlig", "Admin" : "Administrator", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tips og triks", "DB Error: \"%s\"" : "Databasefeil: \"%s\"", "Offending command was: \"%s\"" : "Kommandoen som mislyktes: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Kommandoen som mislyktes var: \"%s\", navn: %s, passord: %s", diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js index fe37c608bfe..512924b2416 100644 --- a/lib/l10n/nl.js +++ b/lib/l10n/nl.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Uitloggen", "Users" : "Gebruikers", "Unknown user" : "Onbekende gebruiker", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Aanmaken", "Change" : "Wijzigen", "Delete" : "Verwijderen", @@ -77,7 +75,6 @@ OC.L10N.register( "Security" : "Beveiliging", "Encryption" : "Versleuteling", "Additional settings" : "Aanvullende instellingen", - "Tips & tricks" : "Tips & trucs", "Personal info" : "Persoonlijke informatie", "Unlimited" : "Ongelimiteerd", "Verifying" : "Verifiëren", @@ -234,6 +231,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Opslag verbinding time-out. %s", "Personal" : "Persoonlijk", "Admin" : "Beheerder", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tips & trucs", "DB Error: \"%s\"" : "DB Fout: \"%s\"", "Offending command was: \"%s\"" : "Onjuiste commando was: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Onjuiste commando was: \"%s\", naam: %s, wachtwoord: %s", diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json index 50e91c80a7c..8e8cd0ee92c 100644 --- a/lib/l10n/nl.json +++ b/lib/l10n/nl.json @@ -64,8 +64,6 @@ "Log out" : "Uitloggen", "Users" : "Gebruikers", "Unknown user" : "Onbekende gebruiker", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Aanmaken", "Change" : "Wijzigen", "Delete" : "Verwijderen", @@ -75,7 +73,6 @@ "Security" : "Beveiliging", "Encryption" : "Versleuteling", "Additional settings" : "Aanvullende instellingen", - "Tips & tricks" : "Tips & trucs", "Personal info" : "Persoonlijke informatie", "Unlimited" : "Ongelimiteerd", "Verifying" : "Verifiëren", @@ -232,6 +229,9 @@ "Storage connection timeout. %s" : "Opslag verbinding time-out. %s", "Personal" : "Persoonlijk", "Admin" : "Beheerder", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tips & trucs", "DB Error: \"%s\"" : "DB Fout: \"%s\"", "Offending command was: \"%s\"" : "Onjuiste commando was: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Onjuiste commando was: \"%s\", naam: %s, wachtwoord: %s", diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js index 658d67184d9..de999209f55 100644 --- a/lib/l10n/pl.js +++ b/lib/l10n/pl.js @@ -60,14 +60,11 @@ OC.L10N.register( "Log out" : "Wyloguj", "Users" : "Użytkownicy", "Unknown user" : "Nieznany użytkownik", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Ustawienia podstawowe", "Sharing" : "Udostępnianie", "Security" : "Bepieczeństwo", "Encryption" : "Szyfrowanie", "Additional settings" : "Ustawienia dodatkowe", - "Tips & tricks" : "Porady i wskazówki", "Personal info" : "Informacje Osobiste", "Unlimited" : "Nielimitowane", "Verifying" : "Weryfikacja", @@ -222,6 +219,9 @@ OC.L10N.register( "Storage connection error. %s" : "Błąd połączenia z magazynem. %s", "Storage is temporarily not available" : "Magazyn jest tymczasowo niedostępny", "Storage connection timeout. %s" : "Limit czasu połączenia do magazynu został przekroczony. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Porady i wskazówki", "Sync clients" : "Synchronizuj z klientami" }, "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/lib/l10n/pl.json b/lib/l10n/pl.json index eb1379a2ef7..85777950c2e 100644 --- a/lib/l10n/pl.json +++ b/lib/l10n/pl.json @@ -58,14 +58,11 @@ "Log out" : "Wyloguj", "Users" : "Użytkownicy", "Unknown user" : "Nieznany użytkownik", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Ustawienia podstawowe", "Sharing" : "Udostępnianie", "Security" : "Bepieczeństwo", "Encryption" : "Szyfrowanie", "Additional settings" : "Ustawienia dodatkowe", - "Tips & tricks" : "Porady i wskazówki", "Personal info" : "Informacje Osobiste", "Unlimited" : "Nielimitowane", "Verifying" : "Weryfikacja", @@ -220,6 +217,9 @@ "Storage connection error. %s" : "Błąd połączenia z magazynem. %s", "Storage is temporarily not available" : "Magazyn jest tymczasowo niedostępny", "Storage connection timeout. %s" : "Limit czasu połączenia do magazynu został przekroczony. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Porady i wskazówki", "Sync clients" : "Synchronizuj z klientami" },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" }
\ No newline at end of file diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js index df736aba1f6..1eb6e6c59f2 100644 --- a/lib/l10n/pt_BR.js +++ b/lib/l10n/pt_BR.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Sair", "Users" : "Usuários", "Unknown user" : "Usuário desconhecido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Criar", "Change" : "Mudar", "Delete" : "Excluir", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Segurança", "Encryption" : "Criptografia", "Additional settings" : "Configurações adicionais", - "Tips & tricks" : "Dicas & truques", "Personal info" : "Informação Pessoal", "Mobile & desktop" : "Móvel & desktop", "Unlimited" : "Ilimitado", @@ -236,6 +233,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Esgotado o tempo de conexão ao armazenamento. %s", "Personal" : "Pessoal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Dicas & truques", "DB Error: \"%s\"" : "Erro no BD: \"%s\"", "Offending command was: \"%s\"" : "Comando incorreto foi: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Comando incorreto foi: \"%s\", nome: %s, senha: %s", diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json index 0e5b4792d58..7b15102480c 100644 --- a/lib/l10n/pt_BR.json +++ b/lib/l10n/pt_BR.json @@ -64,8 +64,6 @@ "Log out" : "Sair", "Users" : "Usuários", "Unknown user" : "Usuário desconhecido", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Criar", "Change" : "Mudar", "Delete" : "Excluir", @@ -76,7 +74,6 @@ "Security" : "Segurança", "Encryption" : "Criptografia", "Additional settings" : "Configurações adicionais", - "Tips & tricks" : "Dicas & truques", "Personal info" : "Informação Pessoal", "Mobile & desktop" : "Móvel & desktop", "Unlimited" : "Ilimitado", @@ -234,6 +231,9 @@ "Storage connection timeout. %s" : "Esgotado o tempo de conexão ao armazenamento. %s", "Personal" : "Pessoal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Dicas & truques", "DB Error: \"%s\"" : "Erro no BD: \"%s\"", "Offending command was: \"%s\"" : "Comando incorreto foi: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Comando incorreto foi: \"%s\", nome: %s, senha: %s", diff --git a/lib/l10n/pt_PT.js b/lib/l10n/pt_PT.js index 8641ba1f250..e2a3388743d 100644 --- a/lib/l10n/pt_PT.js +++ b/lib/l10n/pt_PT.js @@ -65,14 +65,11 @@ OC.L10N.register( "Log out" : "Sair", "Users" : "Utilizadores", "Unknown user" : "Utilizador desconhecido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Definições básicas", "Sharing" : "Partilhar", "Security" : "Segurança", "Encryption" : "Encriptação", "Additional settings" : "Definições adicionais", - "Tips & tricks" : "Dicas e truques", "Personal info" : "Informação pessoal", "Unlimited" : "Ilimitado", "Verifying" : "A verificar", @@ -229,6 +226,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Tempo de ligação ao armazenamento expirou. %s", "Personal" : "Pessoal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Dicas e truques", "DB Error: \"%s\"" : "Erro de BD:\"%s\"", "Offending command was: \"%s\"" : "O comando transgressor foi:\"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "O comando transgressor foi: \"%s\", nome: %s, password: %s", diff --git a/lib/l10n/pt_PT.json b/lib/l10n/pt_PT.json index ece9df88d9f..64b68498b86 100644 --- a/lib/l10n/pt_PT.json +++ b/lib/l10n/pt_PT.json @@ -63,14 +63,11 @@ "Log out" : "Sair", "Users" : "Utilizadores", "Unknown user" : "Utilizador desconhecido", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Definições básicas", "Sharing" : "Partilhar", "Security" : "Segurança", "Encryption" : "Encriptação", "Additional settings" : "Definições adicionais", - "Tips & tricks" : "Dicas e truques", "Personal info" : "Informação pessoal", "Unlimited" : "Ilimitado", "Verifying" : "A verificar", @@ -227,6 +224,9 @@ "Storage connection timeout. %s" : "Tempo de ligação ao armazenamento expirou. %s", "Personal" : "Pessoal", "Admin" : "Admin", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Dicas e truques", "DB Error: \"%s\"" : "Erro de BD:\"%s\"", "Offending command was: \"%s\"" : "O comando transgressor foi:\"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "O comando transgressor foi: \"%s\", nome: %s, password: %s", diff --git a/lib/l10n/ro.js b/lib/l10n/ro.js index 8f8c44b4808..cf1fc4c1e45 100644 --- a/lib/l10n/ro.js +++ b/lib/l10n/ro.js @@ -46,7 +46,6 @@ OC.L10N.register( "Security" : "Securitate", "Encryption" : "Încriptare", "Additional settings" : "Setări adiționale", - "Tips & tricks" : "Sfaturi & trucuri", "Personal info" : "Informații personale", "Verifying …" : "Se verifică ...", "Verify" : "Verifică", @@ -139,6 +138,7 @@ OC.L10N.register( "PHP module %s not installed." : "Modulul PHP %s nu este instalat.", "PHP modules have been installed, but they are still listed as missing?" : "Modulele PHP au fost instalate, dar apar ca lipsind?", "PostgreSQL >= 9 required" : "Este necesară versiunea 9 sau mai mare a PostgreSQL", - "Please upgrade your database version" : "Actualizați baza de date la o versiune mai nouă" + "Please upgrade your database version" : "Actualizați baza de date la o versiune mai nouă", + "Tips & tricks" : "Sfaturi & trucuri" }, "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/lib/l10n/ro.json b/lib/l10n/ro.json index b55b524df83..102f1bb5f39 100644 --- a/lib/l10n/ro.json +++ b/lib/l10n/ro.json @@ -44,7 +44,6 @@ "Security" : "Securitate", "Encryption" : "Încriptare", "Additional settings" : "Setări adiționale", - "Tips & tricks" : "Sfaturi & trucuri", "Personal info" : "Informații personale", "Verifying …" : "Se verifică ...", "Verify" : "Verifică", @@ -137,6 +136,7 @@ "PHP module %s not installed." : "Modulul PHP %s nu este instalat.", "PHP modules have been installed, but they are still listed as missing?" : "Modulele PHP au fost instalate, dar apar ca lipsind?", "PostgreSQL >= 9 required" : "Este necesară versiunea 9 sau mai mare a PostgreSQL", - "Please upgrade your database version" : "Actualizați baza de date la o versiune mai nouă" + "Please upgrade your database version" : "Actualizați baza de date la o versiune mai nouă", + "Tips & tricks" : "Sfaturi & trucuri" },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" }
\ No newline at end of file diff --git a/lib/l10n/ru.js b/lib/l10n/ru.js index 02da6357743..bbb94f61a90 100644 --- a/lib/l10n/ru.js +++ b/lib/l10n/ru.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Выйти", "Users" : "Пользователи", "Unknown user" : "Неизвестный пользователь", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Создать", "Change" : "Изменить", "Delete" : "Удалить", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Безопасность", "Encryption" : "Шифрование", "Additional settings" : "Дополнительные настройки", - "Tips & tricks" : "Советы и трюки", "Personal info" : "Личная информация", "Unlimited" : "Неограничено", "Verifying" : "Производится проверка", @@ -235,6 +232,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Истекло время ожидания подключения к хранилищу. %s", "Personal" : "Личное", "Admin" : "Администратор", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Советы и трюки", "DB Error: \"%s\"" : "Ошибка БД: «%s»", "Offending command was: \"%s\"" : "Нарушившая команда была: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Нарушившая команда была: \"%s\", имя: %s, пароль: %s", diff --git a/lib/l10n/ru.json b/lib/l10n/ru.json index cfa8ab90533..1a3a632d21b 100644 --- a/lib/l10n/ru.json +++ b/lib/l10n/ru.json @@ -64,8 +64,6 @@ "Log out" : "Выйти", "Users" : "Пользователи", "Unknown user" : "Неизвестный пользователь", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Создать", "Change" : "Изменить", "Delete" : "Удалить", @@ -76,7 +74,6 @@ "Security" : "Безопасность", "Encryption" : "Шифрование", "Additional settings" : "Дополнительные настройки", - "Tips & tricks" : "Советы и трюки", "Personal info" : "Личная информация", "Unlimited" : "Неограничено", "Verifying" : "Производится проверка", @@ -233,6 +230,9 @@ "Storage connection timeout. %s" : "Истекло время ожидания подключения к хранилищу. %s", "Personal" : "Личное", "Admin" : "Администратор", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Советы и трюки", "DB Error: \"%s\"" : "Ошибка БД: «%s»", "Offending command was: \"%s\"" : "Нарушившая команда была: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Нарушившая команда была: \"%s\", имя: %s, пароль: %s", diff --git a/lib/l10n/sk.js b/lib/l10n/sk.js index da96d01229f..596a3e0dda9 100644 --- a/lib/l10n/sk.js +++ b/lib/l10n/sk.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Odhlásiť sa", "Users" : "Používatelia", "Unknown user" : "Neznámy používateľ", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Vytvoriť", "Change" : "Zmeniť", "Delete" : "Zmazať", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Zabezpečenie", "Encryption" : "Šifrovanie", "Additional settings" : "Ďalšie nastavenia", - "Tips & tricks" : "Tipy a triky", "Personal info" : "Osobné informácie", "Mobile & desktop" : "Mobil a počítač", "Unlimited" : "Neobmedzené", @@ -236,6 +233,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Vypršanie pripojenia k úložisku. %s", "Personal" : "Osobné", "Admin" : "Admi", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tipy a triky", "DB Error: \"%s\"" : "Chyba databázy: \"%s\"", "Offending command was: \"%s\"" : "Problémový príkaz bol: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Problémový príkaz bol: \"%s\", meno: %s, heslo: %s", diff --git a/lib/l10n/sk.json b/lib/l10n/sk.json index 3f95fc88660..1ee63b2641d 100644 --- a/lib/l10n/sk.json +++ b/lib/l10n/sk.json @@ -64,8 +64,6 @@ "Log out" : "Odhlásiť sa", "Users" : "Používatelia", "Unknown user" : "Neznámy používateľ", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Vytvoriť", "Change" : "Zmeniť", "Delete" : "Zmazať", @@ -76,7 +74,6 @@ "Security" : "Zabezpečenie", "Encryption" : "Šifrovanie", "Additional settings" : "Ďalšie nastavenia", - "Tips & tricks" : "Tipy a triky", "Personal info" : "Osobné informácie", "Mobile & desktop" : "Mobil a počítač", "Unlimited" : "Neobmedzené", @@ -234,6 +231,9 @@ "Storage connection timeout. %s" : "Vypršanie pripojenia k úložisku. %s", "Personal" : "Osobné", "Admin" : "Admi", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tipy a triky", "DB Error: \"%s\"" : "Chyba databázy: \"%s\"", "Offending command was: \"%s\"" : "Problémový príkaz bol: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Problémový príkaz bol: \"%s\", meno: %s, heslo: %s", diff --git a/lib/l10n/sl.js b/lib/l10n/sl.js index 833731948bf..e5bfe2028b6 100644 --- a/lib/l10n/sl.js +++ b/lib/l10n/sl.js @@ -46,7 +46,6 @@ OC.L10N.register( "Unknown user" : "Neznan uporabnik", "Basic settings" : "Osnovne nastavitve", "Security" : "Varnost", - "Tips & tricks" : "Triki in nasveti", "%s enter the database username and name." : "%s - vnos uporabniškega imena in imena podatkovne zbirke.", "%s enter the database username." : "%s - vnos uporabniškega imena podatkovne zbirke.", "%s enter the database name." : "%s - vnos imena podatkovne zbirke.", @@ -130,6 +129,7 @@ OC.L10N.register( "Storage unauthorized. %s" : "Dostop do shrambe ni overjen. %s", "Storage incomplete configuration. %s" : "Nepopolna nastavitev shrambe. %s", "Storage connection error. %s" : "Napaka povezave do shrambe. %s", - "Storage connection timeout. %s" : "Povezava do shrambe je časovno potekla. %s" + "Storage connection timeout. %s" : "Povezava do shrambe je časovno potekla. %s", + "Tips & tricks" : "Triki in nasveti" }, "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/lib/l10n/sl.json b/lib/l10n/sl.json index ab789d898f2..f6e025c4077 100644 --- a/lib/l10n/sl.json +++ b/lib/l10n/sl.json @@ -44,7 +44,6 @@ "Unknown user" : "Neznan uporabnik", "Basic settings" : "Osnovne nastavitve", "Security" : "Varnost", - "Tips & tricks" : "Triki in nasveti", "%s enter the database username and name." : "%s - vnos uporabniškega imena in imena podatkovne zbirke.", "%s enter the database username." : "%s - vnos uporabniškega imena podatkovne zbirke.", "%s enter the database name." : "%s - vnos imena podatkovne zbirke.", @@ -128,6 +127,7 @@ "Storage unauthorized. %s" : "Dostop do shrambe ni overjen. %s", "Storage incomplete configuration. %s" : "Nepopolna nastavitev shrambe. %s", "Storage connection error. %s" : "Napaka povezave do shrambe. %s", - "Storage connection timeout. %s" : "Povezava do shrambe je časovno potekla. %s" + "Storage connection timeout. %s" : "Povezava do shrambe je časovno potekla. %s", + "Tips & tricks" : "Triki in nasveti" },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" }
\ No newline at end of file diff --git a/lib/l10n/sq.js b/lib/l10n/sq.js index 233795e19ad..ffb84891648 100644 --- a/lib/l10n/sq.js +++ b/lib/l10n/sq.js @@ -56,14 +56,11 @@ OC.L10N.register( "Log out" : "Shkyçu", "Users" : "Përdorues", "Unknown user" : "Përdorues i panjohur", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Konfigurime bazike", "Sharing" : "Ndarja", "Security" : "Siguria", "Encryption" : "Enkriptimi", "Additional settings" : "Konfigurime shtesë", - "Tips & tricks" : "Këshilla dhe rrengje", "Personal info" : "Informacion personal", "Unlimited" : "E palimituar", "Verifying" : "Duke e verifikuar", @@ -217,6 +214,9 @@ OC.L10N.register( "Storage connection error. %s" : "Gabim lidhje te depozita. %s", "Storage is temporarily not available" : "Hapsira ruajtëse nuk është në dispozicion përkohësisht", "Storage connection timeout. %s" : "Mbarim kohe lidhjeje për depozitën. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Këshilla dhe rrengje", "Sync clients" : "Klientë të sikronizuar" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/sq.json b/lib/l10n/sq.json index fbb15454ef8..edf0e868afb 100644 --- a/lib/l10n/sq.json +++ b/lib/l10n/sq.json @@ -54,14 +54,11 @@ "Log out" : "Shkyçu", "Users" : "Përdorues", "Unknown user" : "Përdorues i panjohur", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Konfigurime bazike", "Sharing" : "Ndarja", "Security" : "Siguria", "Encryption" : "Enkriptimi", "Additional settings" : "Konfigurime shtesë", - "Tips & tricks" : "Këshilla dhe rrengje", "Personal info" : "Informacion personal", "Unlimited" : "E palimituar", "Verifying" : "Duke e verifikuar", @@ -215,6 +212,9 @@ "Storage connection error. %s" : "Gabim lidhje te depozita. %s", "Storage is temporarily not available" : "Hapsira ruajtëse nuk është në dispozicion përkohësisht", "Storage connection timeout. %s" : "Mbarim kohe lidhjeje për depozitën. %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Këshilla dhe rrengje", "Sync clients" : "Klientë të sikronizuar" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/sr.js b/lib/l10n/sr.js index 19c2deef663..dd22cced58f 100644 --- a/lib/l10n/sr.js +++ b/lib/l10n/sr.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Одјава", "Users" : "Корисници", "Unknown user" : "Непознат корисник", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Направи", "Change" : "Измени", "Delete" : "Обриши", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Безбедност", "Encryption" : "Шифровање", "Additional settings" : "Додатне поставке", - "Tips & tricks" : "Савети и трикови", "Personal info" : "Лични подаци", "Mobile & desktop" : "Мобилни и десктоп", "Unlimited" : "Неограничено", @@ -236,6 +233,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Прекорачено време за повезивање на складиште. %s", "Personal" : "Лично", "Admin" : "Администратор", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Савети и трикови", "DB Error: \"%s\"" : "Грешка базе података: \"%s\"", "Offending command was: \"%s\"" : "Неисправна команда је: „%s“", "Offending command was: \"%s\", name: %s, password: %s" : "Неисправна команда је: „%s“, назив: %s, лозинка: %s", diff --git a/lib/l10n/sr.json b/lib/l10n/sr.json index a2ca14fe15b..2d1bb5da8c8 100644 --- a/lib/l10n/sr.json +++ b/lib/l10n/sr.json @@ -64,8 +64,6 @@ "Log out" : "Одјава", "Users" : "Корисници", "Unknown user" : "Непознат корисник", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Направи", "Change" : "Измени", "Delete" : "Обриши", @@ -76,7 +74,6 @@ "Security" : "Безбедност", "Encryption" : "Шифровање", "Additional settings" : "Додатне поставке", - "Tips & tricks" : "Савети и трикови", "Personal info" : "Лични подаци", "Mobile & desktop" : "Мобилни и десктоп", "Unlimited" : "Неограничено", @@ -234,6 +231,9 @@ "Storage connection timeout. %s" : "Прекорачено време за повезивање на складиште. %s", "Personal" : "Лично", "Admin" : "Администратор", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Савети и трикови", "DB Error: \"%s\"" : "Грешка базе података: \"%s\"", "Offending command was: \"%s\"" : "Неисправна команда је: „%s“", "Offending command was: \"%s\", name: %s, password: %s" : "Неисправна команда је: „%s“, назив: %s, лозинка: %s", diff --git a/lib/l10n/sv.js b/lib/l10n/sv.js index 0a8636884da..ff328b58aed 100644 --- a/lib/l10n/sv.js +++ b/lib/l10n/sv.js @@ -65,14 +65,11 @@ OC.L10N.register( "Log out" : "Logga ut", "Users" : "Användare", "Unknown user" : "Okänd användare", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Generella inställningar", "Sharing" : "Delning", "Security" : "Säkerhet", "Encryption" : "Kryptering", "Additional settings" : "Övriga inställningar", - "Tips & tricks" : "Tips & tricks", "Personal info" : "Personlig information", "Unlimited" : "Obegränsad", "Verifying" : "Verifierar", @@ -227,6 +224,9 @@ OC.L10N.register( "Storage connection error. %s" : "Lagringsutrymme lyckas inte ansluta. %s", "Storage is temporarily not available" : "Lagringsutrymme är för tillfället inte tillgängligt", "Storage connection timeout. %s" : "Lagringsutrymme lyckas inte ansluta \"timeout\". %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tips & tricks", "Sync clients" : "Synkklienter" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/sv.json b/lib/l10n/sv.json index 484064f0d12..ea6ceff9a0a 100644 --- a/lib/l10n/sv.json +++ b/lib/l10n/sv.json @@ -63,14 +63,11 @@ "Log out" : "Logga ut", "Users" : "Användare", "Unknown user" : "Okänd användare", - "APCu" : "APCu", - "Redis" : "Redis", "Basic settings" : "Generella inställningar", "Sharing" : "Delning", "Security" : "Säkerhet", "Encryption" : "Kryptering", "Additional settings" : "Övriga inställningar", - "Tips & tricks" : "Tips & tricks", "Personal info" : "Personlig information", "Unlimited" : "Obegränsad", "Verifying" : "Verifierar", @@ -225,6 +222,9 @@ "Storage connection error. %s" : "Lagringsutrymme lyckas inte ansluta. %s", "Storage is temporarily not available" : "Lagringsutrymme är för tillfället inte tillgängligt", "Storage connection timeout. %s" : "Lagringsutrymme lyckas inte ansluta \"timeout\". %s", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "Tips & tricks", "Sync clients" : "Synkklienter" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js index dfb245d2f07..36261fa5904 100644 --- a/lib/l10n/tr.js +++ b/lib/l10n/tr.js @@ -66,8 +66,6 @@ OC.L10N.register( "Log out" : "Oturumu Kapat", "Users" : "Kullanıcılar", "Unknown user" : "Kullanıcı bilinmiyor", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Ekle", "Change" : "Düzenle", "Delete" : "Sil", @@ -78,7 +76,6 @@ OC.L10N.register( "Security" : "Güvenlik", "Encryption" : "Şifreleme", "Additional settings" : "Ek ayarlar", - "Tips & tricks" : "İpucu ve kolaylıklar", "Personal info" : "Kişisel Bilgiler", "Mobile & desktop" : "Mobil ve masaüstü", "Unlimited" : "Sınırsız", @@ -236,6 +233,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "Depolama bağlantısı zaman aşımı. %s", "Personal" : "Kişisel", "Admin" : "Yönetici", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "İpucu ve kolaylıklar", "DB Error: \"%s\"" : "Veritabanı Sorunu: \"%s\"", "Offending command was: \"%s\"" : "Saldırgan komut: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Saldırgan komut: \"%s\", kullanıcı adı: %s, parola: %s", diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json index 8fe9de750bd..31f2ca88815 100644 --- a/lib/l10n/tr.json +++ b/lib/l10n/tr.json @@ -64,8 +64,6 @@ "Log out" : "Oturumu Kapat", "Users" : "Kullanıcılar", "Unknown user" : "Kullanıcı bilinmiyor", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "Ekle", "Change" : "Düzenle", "Delete" : "Sil", @@ -76,7 +74,6 @@ "Security" : "Güvenlik", "Encryption" : "Şifreleme", "Additional settings" : "Ek ayarlar", - "Tips & tricks" : "İpucu ve kolaylıklar", "Personal info" : "Kişisel Bilgiler", "Mobile & desktop" : "Mobil ve masaüstü", "Unlimited" : "Sınırsız", @@ -234,6 +231,9 @@ "Storage connection timeout. %s" : "Depolama bağlantısı zaman aşımı. %s", "Personal" : "Kişisel", "Admin" : "Yönetici", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "İpucu ve kolaylıklar", "DB Error: \"%s\"" : "Veritabanı Sorunu: \"%s\"", "Offending command was: \"%s\"" : "Saldırgan komut: \"%s\"", "Offending command was: \"%s\", name: %s, password: %s" : "Saldırgan komut: \"%s\", kullanıcı adı: %s, parola: %s", diff --git a/lib/l10n/zh_CN.js b/lib/l10n/zh_CN.js index 0b886b2b44a..1c5563cb264 100644 --- a/lib/l10n/zh_CN.js +++ b/lib/l10n/zh_CN.js @@ -65,8 +65,6 @@ OC.L10N.register( "Log out" : "注销", "Users" : "用户", "Unknown user" : "未知用户", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "创建", "Change" : "修改", "Delete" : "删除", @@ -76,7 +74,6 @@ OC.L10N.register( "Security" : "安全", "Encryption" : "加密", "Additional settings" : "其他设置", - "Tips & tricks" : "小提示", "Personal info" : "个人信息", "Unlimited" : "无限制", "Verifying" : "验证", @@ -232,6 +229,9 @@ OC.L10N.register( "Storage is temporarily not available" : "存储暂时不可用", "Storage connection timeout. %s" : "存储连接超时. %s", "Personal" : "个人", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "小提示", "DB Error: \"%s\"" : "数据库错误:\"%s\"", "No app name specified" : "没有指定的 App 名称", "Sync clients" : "同步客户" diff --git a/lib/l10n/zh_CN.json b/lib/l10n/zh_CN.json index 91e733d1567..27aa81f926f 100644 --- a/lib/l10n/zh_CN.json +++ b/lib/l10n/zh_CN.json @@ -63,8 +63,6 @@ "Log out" : "注销", "Users" : "用户", "Unknown user" : "未知用户", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "创建", "Change" : "修改", "Delete" : "删除", @@ -74,7 +72,6 @@ "Security" : "安全", "Encryption" : "加密", "Additional settings" : "其他设置", - "Tips & tricks" : "小提示", "Personal info" : "个人信息", "Unlimited" : "无限制", "Verifying" : "验证", @@ -230,6 +227,9 @@ "Storage is temporarily not available" : "存储暂时不可用", "Storage connection timeout. %s" : "存储连接超时. %s", "Personal" : "个人", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "小提示", "DB Error: \"%s\"" : "数据库错误:\"%s\"", "No app name specified" : "没有指定的 App 名称", "Sync clients" : "同步客户" diff --git a/lib/l10n/zh_TW.js b/lib/l10n/zh_TW.js index 26b671ef41c..280d1c5c180 100644 --- a/lib/l10n/zh_TW.js +++ b/lib/l10n/zh_TW.js @@ -59,8 +59,6 @@ OC.L10N.register( "Log out" : "登出", "Users" : "使用者", "Unknown user" : "未知的使用者", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "建立", "Change" : "更改", "Delete" : "刪除", @@ -70,7 +68,6 @@ OC.L10N.register( "Security" : "安全性", "Encryption" : "加密", "Additional settings" : "其他設定", - "Tips & tricks" : "使用祕訣", "Personal info" : "個人資訊", "Unlimited" : "無限", "Verifying" : "驗證中", @@ -227,6 +224,9 @@ OC.L10N.register( "Storage connection timeout. %s" : "儲存空間連線逾時。%s", "Personal" : "個人", "Admin" : "管理", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "使用祕訣", "DB Error: \"%s\"" : "資料庫錯誤: %s", "Offending command was: \"%s\"" : "有問題的指令: %s", "Offending command was: \"%s\", name: %s, password: %s" : "有問題的指令: %s,名字: %s,密碼: %s", diff --git a/lib/l10n/zh_TW.json b/lib/l10n/zh_TW.json index 59be3ed69ba..906623415f8 100644 --- a/lib/l10n/zh_TW.json +++ b/lib/l10n/zh_TW.json @@ -57,8 +57,6 @@ "Log out" : "登出", "Users" : "使用者", "Unknown user" : "未知的使用者", - "APCu" : "APCu", - "Redis" : "Redis", "Create" : "建立", "Change" : "更改", "Delete" : "刪除", @@ -68,7 +66,6 @@ "Security" : "安全性", "Encryption" : "加密", "Additional settings" : "其他設定", - "Tips & tricks" : "使用祕訣", "Personal info" : "個人資訊", "Unlimited" : "無限", "Verifying" : "驗證中", @@ -225,6 +222,9 @@ "Storage connection timeout. %s" : "儲存空間連線逾時。%s", "Personal" : "個人", "Admin" : "管理", + "APCu" : "APCu", + "Redis" : "Redis", + "Tips & tricks" : "使用祕訣", "DB Error: \"%s\"" : "資料庫錯誤: %s", "Offending command was: \"%s\"" : "有問題的指令: %s", "Offending command was: \"%s\", name: %s, password: %s" : "有問題的指令: %s,名字: %s,密碼: %s", diff --git a/lib/private/Authentication/Token/DefaultToken.php b/lib/private/Authentication/Token/DefaultToken.php index 67aa89ea66b..85ea0dc4cdd 100644 --- a/lib/private/Authentication/Token/DefaultToken.php +++ b/lib/private/Authentication/Token/DefaultToken.php @@ -37,9 +37,12 @@ use OCP\AppFramework\Db\Entity; * @method void setRemember(int $remember) * @method void setLastActivity(int $lastactivity) * @method int getLastActivity() + * @method void setVersion(int $version) */ class DefaultToken extends Entity implements IToken { + const VERSION = 1; + /** @var string user UID */ protected $uid; @@ -73,6 +76,9 @@ class DefaultToken extends Entity implements IToken { /** @var int */ protected $expires; + /** @var int */ + protected $version; + public function __construct() { $this->addType('uid', 'string'); $this->addType('loginName', 'string'); @@ -85,6 +91,7 @@ class DefaultToken extends Entity implements IToken { $this->addType('lastCheck', 'int'); $this->addType('scope', 'string'); $this->addType('expires', 'int'); + $this->addType('version', 'int'); } public function getId(): int { diff --git a/lib/private/Authentication/Token/DefaultTokenMapper.php b/lib/private/Authentication/Token/DefaultTokenMapper.php index a67d7d151e9..b8df00ff094 100644 --- a/lib/private/Authentication/Token/DefaultTokenMapper.php +++ b/lib/private/Authentication/Token/DefaultTokenMapper.php @@ -33,7 +33,6 @@ use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Db\QBMapper; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\IDBConnection; -use OCP\IUser; class DefaultTokenMapper extends QBMapper { @@ -50,8 +49,8 @@ class DefaultTokenMapper extends QBMapper { /* @var $qb IQueryBuilder */ $qb = $this->db->getQueryBuilder(); $qb->delete('authtoken') - ->where($qb->expr()->eq('token', $qb->createParameter('token'))) - ->setParameter('token', $token) + ->where($qb->expr()->eq('token', $qb->createNamedParameter($token, IQueryBuilder::PARAM_STR))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(DefaultToken::VERSION, IQueryBuilder::PARAM_INT))) ->execute(); } @@ -66,6 +65,7 @@ class DefaultTokenMapper extends QBMapper { ->where($qb->expr()->lt('last_activity', $qb->createNamedParameter($olderThan, IQueryBuilder::PARAM_INT))) ->andWhere($qb->expr()->eq('type', $qb->createNamedParameter(IToken::TEMPORARY_TOKEN, IQueryBuilder::PARAM_INT))) ->andWhere($qb->expr()->eq('remember', $qb->createNamedParameter($remember, IQueryBuilder::PARAM_INT))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(DefaultToken::VERSION, IQueryBuilder::PARAM_INT))) ->execute(); } @@ -79,9 +79,10 @@ class DefaultTokenMapper extends QBMapper { public function getToken(string $token): DefaultToken { /* @var $qb IQueryBuilder */ $qb = $this->db->getQueryBuilder(); - $result = $qb->select('*') + $result = $qb->select('id', 'uid', 'login_name', 'password', 'name', 'token', 'type', 'remember', 'last_activity', 'last_check', 'scope', 'expires', 'version') ->from('authtoken') ->where($qb->expr()->eq('token', $qb->createNamedParameter($token))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(DefaultToken::VERSION, IQueryBuilder::PARAM_INT))) ->execute(); $data = $result->fetch(); @@ -102,9 +103,10 @@ class DefaultTokenMapper extends QBMapper { public function getTokenById(int $id): DefaultToken { /* @var $qb IQueryBuilder */ $qb = $this->db->getQueryBuilder(); - $result = $qb->select('*') + $result = $qb->select('id', 'uid', 'login_name', 'password', 'name', 'token', 'type', 'remember', 'last_activity', 'last_check', 'scope', 'expires', 'version') ->from('authtoken') ->where($qb->expr()->eq('id', $qb->createNamedParameter($id))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(DefaultToken::VERSION, IQueryBuilder::PARAM_INT))) ->execute(); $data = $result->fetch(); @@ -121,15 +123,16 @@ class DefaultTokenMapper extends QBMapper { * The provider may limit the number of result rows in case of an abuse * where a high number of (session) tokens is generated * - * @param IUser $user + * @param string $uid * @return DefaultToken[] */ - public function getTokenByUser(IUser $user): array { + public function getTokenByUser(string $uid): array { /* @var $qb IQueryBuilder */ $qb = $this->db->getQueryBuilder(); - $qb->select('*') + $qb->select('id', 'uid', 'login_name', 'password', 'name', 'token', 'type', 'remember', 'last_activity', 'last_check', 'scope', 'expires', 'version') ->from('authtoken') - ->where($qb->expr()->eq('uid', $qb->createNamedParameter($user->getUID()))) + ->where($qb->expr()->eq('uid', $qb->createNamedParameter($uid))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(DefaultToken::VERSION, IQueryBuilder::PARAM_INT))) ->setMaxResults(1000); $result = $qb->execute(); $data = $result->fetchAll(); @@ -142,16 +145,13 @@ class DefaultTokenMapper extends QBMapper { return $entities; } - /** - * @param IUser $user - * @param int $id - */ - public function deleteById(IUser $user, int $id) { + public function deleteById(string $uid, int $id) { /* @var $qb IQueryBuilder */ $qb = $this->db->getQueryBuilder(); $qb->delete('authtoken') ->where($qb->expr()->eq('id', $qb->createNamedParameter($id))) - ->andWhere($qb->expr()->eq('uid', $qb->createNamedParameter($user->getUID()))); + ->andWhere($qb->expr()->eq('uid', $qb->createNamedParameter($uid))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(DefaultToken::VERSION, IQueryBuilder::PARAM_INT))); $qb->execute(); } @@ -163,7 +163,8 @@ class DefaultTokenMapper extends QBMapper { public function deleteByName(string $name) { $qb = $this->db->getQueryBuilder(); $qb->delete('authtoken') - ->where($qb->expr()->eq('name', $qb->createNamedParameter($name), IQueryBuilder::PARAM_STR)); + ->where($qb->expr()->eq('name', $qb->createNamedParameter($name), IQueryBuilder::PARAM_STR)) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(DefaultToken::VERSION, IQueryBuilder::PARAM_INT))); $qb->execute(); } diff --git a/lib/private/Authentication/Token/DefaultTokenProvider.php b/lib/private/Authentication/Token/DefaultTokenProvider.php index 7a43dbb23e1..8c2d8c33a97 100644 --- a/lib/private/Authentication/Token/DefaultTokenProvider.php +++ b/lib/private/Authentication/Token/DefaultTokenProvider.php @@ -35,7 +35,6 @@ use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Utility\ITimeFactory; use OCP\IConfig; use OCP\ILogger; -use OCP\IUser; use OCP\Security\ICrypto; class DefaultTokenProvider implements IProvider { @@ -105,6 +104,7 @@ class DefaultTokenProvider implements IProvider { $dbToken->setRemember($remember); $dbToken->setLastActivity($this->time->getTime()); $dbToken->setLastCheck($this->time->getTime()); + $dbToken->setVersion(DefaultToken::VERSION); $this->mapper->insert($dbToken); @@ -143,17 +143,8 @@ class DefaultTokenProvider implements IProvider { } } - /** - * Get all tokens of a user - * - * The provider may limit the number of result rows in case of an abuse - * where a high number of (session) tokens is generated - * - * @param IUser $user - * @return IToken[] - */ - public function getTokenByUser(IUser $user): array { - return $this->mapper->getTokenByUser($user); + public function getTokenByUser(string $uid): array { + return $this->mapper->getTokenByUser($uid); } /** @@ -265,14 +256,8 @@ class DefaultTokenProvider implements IProvider { $this->mapper->invalidate($this->hashToken($token)); } - /** - * Invalidate (delete) the given token - * - * @param IUser $user - * @param int $id - */ - public function invalidateTokenById(IUser $user, int $id) { - $this->mapper->deleteById($user, $id); + public function invalidateTokenById(string $uid, int $id) { + $this->mapper->deleteById($uid, $id); } /** @@ -313,7 +298,7 @@ class DefaultTokenProvider implements IProvider { * @param string $token * @return string */ - private function hashToken(string $token) { + private function hashToken(string $token): string { $secret = $this->config->getSystemValue('secret'); return hash('sha512', $token . $secret); } diff --git a/lib/private/Authentication/Token/IProvider.php b/lib/private/Authentication/Token/IProvider.php index 0efffefac68..ab46bd12126 100644 --- a/lib/private/Authentication/Token/IProvider.php +++ b/lib/private/Authentication/Token/IProvider.php @@ -28,7 +28,6 @@ namespace OC\Authentication\Token; use OC\Authentication\Exceptions\InvalidTokenException; use OC\Authentication\Exceptions\PasswordlessTokenException; -use OCP\IUser; interface IProvider { @@ -92,10 +91,10 @@ interface IProvider { /** * Invalidate (delete) the given token * - * @param IUser $user + * @param string $uid * @param int $id */ - public function invalidateTokenById(IUser $user, int $id); + public function invalidateTokenById(string $uid, int $id); /** * Invalidate (delete) old session tokens @@ -122,10 +121,10 @@ interface IProvider { * The provider may limit the number of result rows in case of an abuse * where a high number of (session) tokens is generated * - * @param IUser $user + * @param string $uid * @return IToken[] */ - public function getTokenByUser(IUser $user): array; + public function getTokenByUser(string $uid): array; /** * Get the (unencrypted) password of the given token diff --git a/lib/private/Authentication/Token/Manager.php b/lib/private/Authentication/Token/Manager.php new file mode 100644 index 00000000000..254a1598943 --- /dev/null +++ b/lib/private/Authentication/Token/Manager.php @@ -0,0 +1,230 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright 2018, Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +namespace OC\Authentication\Token; + +use OC\Authentication\Exceptions\InvalidTokenException; +use OC\Authentication\Exceptions\PasswordlessTokenException; + +class Manager implements IProvider { + + /** @var DefaultTokenProvider */ + private $defaultTokenProvider; + + /** @var PublicKeyTokenProvider */ + private $publicKeyTokenProvider; + + public function __construct(DefaultTokenProvider $defaultTokenProvider, PublicKeyTokenProvider $publicKeyTokenProvider) { + $this->defaultTokenProvider = $defaultTokenProvider; + $this->publicKeyTokenProvider = $publicKeyTokenProvider; + } + + /** + * Create and persist a new token + * + * @param string $token + * @param string $uid + * @param string $loginName + * @param string|null $password + * @param string $name + * @param int $type token type + * @param int $remember whether the session token should be used for remember-me + * @return IToken + */ + public function generateToken(string $token, + string $uid, + string $loginName, + $password, + string $name, + int $type = IToken::TEMPORARY_TOKEN, + int $remember = IToken::DO_NOT_REMEMBER): IToken { + return $this->publicKeyTokenProvider->generateToken( + $token, + $uid, + $loginName, + $password, + $name, + $type, + $remember + ); + } + + /** + * Save the updated token + * + * @param IToken $token + * @throws InvalidTokenException + */ + public function updateToken(IToken $token) { + $provider = $this->getProvider($token); + $provider->updateToken($token); + } + + /** + * Update token activity timestamp + * + * @throws InvalidTokenException + * @param IToken $token + */ + public function updateTokenActivity(IToken $token) { + $provider = $this->getProvider($token); + $provider->updateTokenActivity($token); + } + + /** + * @param string $uid + * @return IToken[] + */ + public function getTokenByUser(string $uid): array { + $old = $this->defaultTokenProvider->getTokenByUser($uid); + $new = $this->publicKeyTokenProvider->getTokenByUser($uid); + + return array_merge($old, $new); + } + + /** + * Get a token by token + * + * @param string $tokenId + * @throws InvalidTokenException + * @return IToken + */ + public function getToken(string $tokenId): IToken { + try { + return $this->publicKeyTokenProvider->getToken($tokenId); + } catch (InvalidTokenException $e) { + // No worries we try to convert it to a PublicKey Token + } + + //Convert! + $token = $this->defaultTokenProvider->getToken($tokenId); + + try { + $password = $this->defaultTokenProvider->getPassword($token, $tokenId); + } catch (PasswordlessTokenException $e) { + $password = null; + } + + return $this->publicKeyTokenProvider->convertToken($token, $tokenId, $password); + } + + /** + * Get a token by token id + * + * @param int $tokenId + * @throws InvalidTokenException + * @return IToken + */ + public function getTokenById(int $tokenId): IToken { + try { + return $this->publicKeyTokenProvider->getTokenById($tokenId); + } catch (InvalidTokenException $e) { + return $this->defaultTokenProvider->getTokenById($tokenId); + } + } + + /** + * @param string $oldSessionId + * @param string $sessionId + * @throws InvalidTokenException + */ + public function renewSessionToken(string $oldSessionId, string $sessionId) { + try { + $this->publicKeyTokenProvider->renewSessionToken($oldSessionId, $sessionId); + } catch (InvalidTokenException $e) { + $this->defaultTokenProvider->renewSessionToken($oldSessionId, $sessionId); + } + } + + /** + * @param IToken $savedToken + * @param string $tokenId session token + * @throws InvalidTokenException + * @throws PasswordlessTokenException + * @return string + */ + public function getPassword(IToken $savedToken, string $tokenId): string { + $provider = $this->getProvider($savedToken); + return $provider->getPassword($savedToken, $tokenId); + } + + public function setPassword(IToken $token, string $tokenId, string $password) { + $provider = $this->getProvider($token); + $provider->setPassword($token, $tokenId, $password); + } + + public function invalidateToken(string $token) { + $this->defaultTokenProvider->invalidateToken($token); + $this->publicKeyTokenProvider->invalidateToken($token); + } + + public function invalidateTokenById(string $uid, int $id) { + $this->defaultTokenProvider->invalidateTokenById($uid, $id); + $this->publicKeyTokenProvider->invalidateTokenById($uid, $id); + } + + public function invalidateOldTokens() { + $this->defaultTokenProvider->invalidateOldTokens(); + $this->publicKeyTokenProvider->invalidateOldTokens(); + } + + /** + * @param IToken $token + * @param string $oldTokenId + * @param string $newTokenId + * @return IToken + * @throws InvalidTokenException + */ + public function rotate(IToken $token, string $oldTokenId, string $newTokenId): IToken { + if ($token instanceof DefaultToken) { + try { + $password = $this->defaultTokenProvider->getPassword($token, $oldTokenId); + } catch (PasswordlessTokenException $e) { + $password = null; + } + + return $this->publicKeyTokenProvider->convertToken($token, $newTokenId, $password); + } + + if ($token instanceof PublicKeyToken) { + return $this->publicKeyTokenProvider->rotate($token, $oldTokenId, $newTokenId); + } + + throw new InvalidTokenException(); + } + + /** + * @param IToken $token + * @return IProvider + * @throws InvalidTokenException + */ + private function getProvider(IToken $token): IProvider { + if ($token instanceof DefaultToken) { + return $this->defaultTokenProvider; + } + if ($token instanceof PublicKeyToken) { + return $this->publicKeyTokenProvider; + } + throw new InvalidTokenException(); + } +} diff --git a/lib/private/Authentication/Token/PublicKeyToken.php b/lib/private/Authentication/Token/PublicKeyToken.php new file mode 100644 index 00000000000..0e793ce8c7c --- /dev/null +++ b/lib/private/Authentication/Token/PublicKeyToken.php @@ -0,0 +1,217 @@ +<?php +/** @noinspection ALL */ +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OC\Authentication\Token; + +use OCP\AppFramework\Db\Entity; + +/** + * @method void setId(int $id) + * @method void setUid(string $uid); + * @method void setLoginName(string $loginname) + * @method void setName(string $name) + * @method string getToken() + * @method void setType(int $type) + * @method int getType() + * @method void setRemember(int $remember) + * @method void setLastActivity(int $lastactivity) + * @method int getLastActivity() + * @method string getPrivateKey() + * @method void setPrivateKey(string $key) + * @method string getPublicKey() + * @method void setPublicKey(string $key) + * @method void setVersion(int $version) + */ +class PublicKeyToken extends Entity implements IToken { + + const VERSION = 2; + + /** @var string user UID */ + protected $uid; + + /** @var string login name used for generating the token */ + protected $loginName; + + /** @var string encrypted user password */ + protected $password; + + /** @var string token name (e.g. browser/OS) */ + protected $name; + + /** @var string */ + protected $token; + + /** @var int */ + protected $type; + + /** @var int */ + protected $remember; + + /** @var int */ + protected $lastActivity; + + /** @var int */ + protected $lastCheck; + + /** @var string */ + protected $scope; + + /** @var int */ + protected $expires; + + /** @var string */ + protected $privateKey; + + /** @var string */ + protected $publicKey; + + /** @var int */ + protected $version; + + public function __construct() { + $this->addType('uid', 'string'); + $this->addType('loginName', 'string'); + $this->addType('password', 'string'); + $this->addType('name', 'string'); + $this->addType('token', 'string'); + $this->addType('type', 'int'); + $this->addType('remember', 'int'); + $this->addType('lastActivity', 'int'); + $this->addType('lastCheck', 'int'); + $this->addType('scope', 'string'); + $this->addType('expires', 'int'); + $this->addType('publicKey', 'string'); + $this->addType('privateKey', 'string'); + $this->addType('version', 'int'); + } + + public function getId(): int { + return $this->id; + } + + public function getUID(): string { + return $this->uid; + } + + /** + * Get the login name used when generating the token + * + * @return string + */ + public function getLoginName(): string { + return parent::getLoginName(); + } + + /** + * Get the (encrypted) login password + * + * @return string|null + */ + public function getPassword() { + return parent::getPassword(); + } + + public function jsonSerialize() { + return [ + 'id' => $this->id, + 'name' => $this->name, + 'lastActivity' => $this->lastActivity, + 'type' => $this->type, + 'scope' => $this->getScopeAsArray() + ]; + } + + /** + * Get the timestamp of the last password check + * + * @return int + */ + public function getLastCheck(): int { + return parent::getLastCheck(); + } + + /** + * Get the timestamp of the last password check + * + * @param int $time + */ + public function setLastCheck(int $time) { + parent::setLastCheck($time); + } + + public function getScope(): string { + $scope = parent::getScope(); + if ($scope === null) { + return ''; + } + + return $scope; + } + + public function getScopeAsArray(): array { + $scope = json_decode($this->getScope(), true); + if (!$scope) { + return [ + 'filesystem'=> true + ]; + } + return $scope; + } + + public function setScope($scope) { + if (is_array($scope)) { + parent::setScope(json_encode($scope)); + } else { + parent::setScope((string)$scope); + } + } + + public function getName(): string { + return parent::getName(); + } + + public function getRemember(): int { + return parent::getRemember(); + } + + public function setToken(string $token) { + parent::setToken($token); + } + + public function setPassword(string $password = null) { + parent::setPassword($password); + } + + public function setExpires($expires) { + parent::setExpires($expires); + } + + /** + * @return int|null + */ + public function getExpires() { + return parent::getExpires(); + } +} diff --git a/lib/private/Authentication/Token/PublicKeyTokenMapper.php b/lib/private/Authentication/Token/PublicKeyTokenMapper.php new file mode 100644 index 00000000000..5e5c69dbc46 --- /dev/null +++ b/lib/private/Authentication/Token/PublicKeyTokenMapper.php @@ -0,0 +1,172 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OC\Authentication\Token; + +use OCP\AppFramework\Db\DoesNotExistException; +use OCP\AppFramework\Db\QBMapper; +use OCP\DB\QueryBuilder\IQueryBuilder; +use OCP\IDBConnection; + +class PublicKeyTokenMapper extends QBMapper { + + public function __construct(IDBConnection $db) { + parent::__construct($db, 'authtoken'); + } + + /** + * Invalidate (delete) a given token + * + * @param string $token + */ + public function invalidate(string $token) { + /* @var $qb IQueryBuilder */ + $qb = $this->db->getQueryBuilder(); + $qb->delete('authtoken') + ->where($qb->expr()->eq('token', $qb->createNamedParameter($token))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(PublicKeyToken::VERSION, IQueryBuilder::PARAM_INT))) + ->execute(); + } + + /** + * @param int $olderThan + * @param int $remember + */ + public function invalidateOld(int $olderThan, int $remember = IToken::DO_NOT_REMEMBER) { + /* @var $qb IQueryBuilder */ + $qb = $this->db->getQueryBuilder(); + $qb->delete('authtoken') + ->where($qb->expr()->lt('last_activity', $qb->createNamedParameter($olderThan, IQueryBuilder::PARAM_INT))) + ->andWhere($qb->expr()->eq('type', $qb->createNamedParameter(IToken::TEMPORARY_TOKEN, IQueryBuilder::PARAM_INT))) + ->andWhere($qb->expr()->eq('remember', $qb->createNamedParameter($remember, IQueryBuilder::PARAM_INT))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(PublicKeyToken::VERSION, IQueryBuilder::PARAM_INT))) + ->execute(); + } + + /** + * Get the user UID for the given token + * + * @throws DoesNotExistException + */ + public function getToken(string $token): PublicKeyToken { + /* @var $qb IQueryBuilder */ + $qb = $this->db->getQueryBuilder(); + $result = $qb->select('*') + ->from('authtoken') + ->where($qb->expr()->eq('token', $qb->createNamedParameter($token))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(PublicKeyToken::VERSION, IQueryBuilder::PARAM_INT))) + ->execute(); + + $data = $result->fetch(); + $result->closeCursor(); + if ($data === false) { + throw new DoesNotExistException('token does not exist'); + } + return PublicKeyToken::fromRow($data); + } + + /** + * Get the token for $id + * + * @throws DoesNotExistException + */ + public function getTokenById(int $id): PublicKeyToken { + /* @var $qb IQueryBuilder */ + $qb = $this->db->getQueryBuilder(); + $result = $qb->select('*') + ->from('authtoken') + ->where($qb->expr()->eq('id', $qb->createNamedParameter($id))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(PublicKeyToken::VERSION, IQueryBuilder::PARAM_INT))) + ->execute(); + + $data = $result->fetch(); + $result->closeCursor(); + if ($data === false) { + throw new DoesNotExistException('token does not exist'); + } + return PublicKeyToken::fromRow($data); + } + + /** + * Get all tokens of a user + * + * The provider may limit the number of result rows in case of an abuse + * where a high number of (session) tokens is generated + * + * @param string $uid + * @return PublicKeyToken[] + */ + public function getTokenByUser(string $uid): array { + /* @var $qb IQueryBuilder */ + $qb = $this->db->getQueryBuilder(); + $qb->select('*') + ->from('authtoken') + ->where($qb->expr()->eq('uid', $qb->createNamedParameter($uid))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(PublicKeyToken::VERSION, IQueryBuilder::PARAM_INT))) + ->setMaxResults(1000); + $result = $qb->execute(); + $data = $result->fetchAll(); + $result->closeCursor(); + + $entities = array_map(function ($row) { + return PublicKeyToken::fromRow($row); + }, $data); + + return $entities; + } + + public function deleteById(string $uid, int $id) { + /* @var $qb IQueryBuilder */ + $qb = $this->db->getQueryBuilder(); + $qb->delete('authtoken') + ->where($qb->expr()->eq('id', $qb->createNamedParameter($id))) + ->andWhere($qb->expr()->eq('uid', $qb->createNamedParameter($uid))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(PublicKeyToken::VERSION, IQueryBuilder::PARAM_INT))); + $qb->execute(); + } + + /** + * delete all auth token which belong to a specific client if the client was deleted + * + * @param string $name + */ + public function deleteByName(string $name) { + $qb = $this->db->getQueryBuilder(); + $qb->delete('authtoken') + ->where($qb->expr()->eq('name', $qb->createNamedParameter($name), IQueryBuilder::PARAM_STR)) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(PublicKeyToken::VERSION, IQueryBuilder::PARAM_INT))); + $qb->execute(); + } + + public function deleteTempToken(PublicKeyToken $except) { + $qb = $this->db->getQueryBuilder(); + + $qb->delete('authtoken') + ->where($qb->expr()->eq('type', $qb->createNamedParameter(IToken::TEMPORARY_TOKEN))) + ->andWhere($qb->expr()->neq('id', $qb->createNamedParameter($except->getId()))) + ->andWhere($qb->expr()->eq('version', $qb->createNamedParameter(PublicKeyToken::VERSION, IQueryBuilder::PARAM_INT))); + + $qb->execute(); + } +} diff --git a/lib/private/Authentication/Token/PublicKeyTokenProvider.php b/lib/private/Authentication/Token/PublicKeyTokenProvider.php new file mode 100644 index 00000000000..f6a6fc3455f --- /dev/null +++ b/lib/private/Authentication/Token/PublicKeyTokenProvider.php @@ -0,0 +1,320 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright 2018, Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +namespace OC\Authentication\Token; + +use OC\Authentication\Exceptions\InvalidTokenException; +use OC\Authentication\Exceptions\PasswordlessTokenException; +use OCP\AppFramework\Db\DoesNotExistException; +use OCP\AppFramework\Utility\ITimeFactory; +use OCP\IConfig; +use OCP\ILogger; +use OCP\Security\ICrypto; + +class PublicKeyTokenProvider implements IProvider { + /** @var PublicKeyTokenMapper */ + private $mapper; + + /** @var ICrypto */ + private $crypto; + + /** @var IConfig */ + private $config; + + /** @var ILogger $logger */ + private $logger; + + /** @var ITimeFactory $time */ + private $time; + + public function __construct(PublicKeyTokenMapper $mapper, + ICrypto $crypto, + IConfig $config, + ILogger $logger, + ITimeFactory $time) { + $this->mapper = $mapper; + $this->crypto = $crypto; + $this->config = $config; + $this->logger = $logger; + $this->time = $time; + } + + public function generateToken(string $token, + string $uid, + string $loginName, + $password, + string $name, + int $type = IToken::TEMPORARY_TOKEN, + int $remember = IToken::DO_NOT_REMEMBER): IToken { + $dbToken = $this->newToken($token, $uid, $loginName, $password, $name, $type, $remember); + + $this->mapper->insert($dbToken); + + return $dbToken; + } + + public function getToken(string $tokenId): IToken { + try { + $token = $this->mapper->getToken($this->hashToken($tokenId)); + } catch (DoesNotExistException $ex) { + throw new InvalidTokenException(); + } + + if ($token->getExpires() !== null && $token->getExpires() < $this->time->getTime()) { + throw new ExpiredTokenException($token); + } + + return $token; + } + + public function getTokenById(int $tokenId): IToken { + try { + $token = $this->mapper->getTokenById($tokenId); + } catch (DoesNotExistException $ex) { + throw new InvalidTokenException(); + } + + if ($token->getExpires() !== null && $token->getExpires() < $this->time->getTime()) { + throw new ExpiredTokenException($token); + } + + return $token; + } + + public function renewSessionToken(string $oldSessionId, string $sessionId) { + $token = $this->getToken($oldSessionId); + + if (!($token instanceof PublicKeyToken)) { + throw new InvalidTokenException(); + } + + $password = null; + if (!is_null($token->getPassword())) { + $privateKey = $this->decrypt($token->getPrivateKey(), $oldSessionId); + $password = $this->decryptPassword($token->getPassword(), $privateKey); + } + + $this->generateToken( + $sessionId, + $token->getUID(), + $token->getLoginName(), + $password, + $token->getName(), + IToken::TEMPORARY_TOKEN, + $token->getRemember() + ); + + $this->mapper->delete($token); + } + + public function invalidateToken(string $token) { + $this->mapper->invalidate($this->hashToken($token)); + } + + public function invalidateTokenById(string $uid, int $id) { + $this->mapper->deleteById($uid, $id); + } + + public function invalidateOldTokens() { + $olderThan = $this->time->getTime() - (int) $this->config->getSystemValue('session_lifetime', 60 * 60 * 24); + $this->logger->debug('Invalidating session tokens older than ' . date('c', $olderThan), ['app' => 'cron']); + $this->mapper->invalidateOld($olderThan, IToken::DO_NOT_REMEMBER); + $rememberThreshold = $this->time->getTime() - (int) $this->config->getSystemValue('remember_login_cookie_lifetime', 60 * 60 * 24 * 15); + $this->logger->debug('Invalidating remembered session tokens older than ' . date('c', $rememberThreshold), ['app' => 'cron']); + $this->mapper->invalidateOld($rememberThreshold, IToken::REMEMBER); + } + + public function updateToken(IToken $token) { + if (!($token instanceof PublicKeyToken)) { + throw new InvalidTokenException(); + } + $this->mapper->update($token); + } + + public function updateTokenActivity(IToken $token) { + if (!($token instanceof PublicKeyToken)) { + throw new InvalidTokenException(); + } + /** @var DefaultToken $token */ + $now = $this->time->getTime(); + if ($token->getLastActivity() < ($now - 60)) { + // Update token only once per minute + $token->setLastActivity($now); + $this->mapper->update($token); + } + } + + public function getTokenByUser(string $uid): array { + return $this->mapper->getTokenByUser($uid); + } + + public function getPassword(IToken $token, string $tokenId): string { + if (!($token instanceof PublicKeyToken)) { + throw new InvalidTokenException(); + } + + if ($token->getPassword() === null) { + throw new PasswordlessTokenException(); + } + + // Decrypt private key with tokenId + $privateKey = $this->decrypt($token->getPrivateKey(), $tokenId); + + // Decrypt password with private key + return $this->decryptPassword($token->getPassword(), $privateKey); + } + + public function setPassword(IToken $token, string $tokenId, string $password) { + if (!($token instanceof PublicKeyToken)) { + throw new InvalidTokenException(); + } + + // When changing passwords all temp tokens are deleted + $this->mapper->deleteTempToken($token); + + // Update the password for all tokens + $tokens = $this->mapper->getTokenByUser($token->getUID()); + foreach ($tokens as $t) { + $publicKey = $t->getPublicKey(); + $t->setPassword($this->encryptPassword($password, $publicKey)); + $this->updateToken($t); + } + } + + public function rotate(IToken $token, string $oldTokenId, string $newTokenId): IToken { + if (!($token instanceof PublicKeyToken)) { + throw new InvalidTokenException(); + } + + // Decrypt private key with oldTokenId + $privateKey = $this->decrypt($token->getPrivateKey(), $oldTokenId); + // Encrypt with the new token + $token->setPrivateKey($this->encrypt($privateKey, $newTokenId)); + + $token->setToken($this->hashToken($newTokenId)); + $this->updateToken($token); + + return $token; + } + + private function encrypt(string $plaintext, string $token): string { + $secret = $this->config->getSystemValue('secret'); + return $this->crypto->encrypt($plaintext, $token . $secret); + } + + /** + * @throws InvalidTokenException + */ + private function decrypt(string $cipherText, string $token): string { + $secret = $this->config->getSystemValue('secret'); + try { + return $this->crypto->decrypt($cipherText, $token . $secret); + } catch (\Exception $ex) { + // Delete the invalid token + $this->invalidateToken($token); + throw new InvalidTokenException(); + } + } + + private function encryptPassword(string $password, string $publicKey): string { + openssl_public_encrypt($password, $encryptedPassword, $publicKey, OPENSSL_PKCS1_OAEP_PADDING); + $encryptedPassword = base64_encode($encryptedPassword); + + return $encryptedPassword; + } + + private function decryptPassword(string $encryptedPassword, string $privateKey): string { + $encryptedPassword = base64_decode($encryptedPassword); + openssl_private_decrypt($encryptedPassword, $password, $privateKey, OPENSSL_PKCS1_OAEP_PADDING); + + return $password; + } + + private function hashToken(string $token): string { + $secret = $this->config->getSystemValue('secret'); + return hash('sha512', $token . $secret); + } + + /** + * Convert a DefaultToken to a publicKeyToken + * This will also be updated directly in the Database + */ + public function convertToken(DefaultToken $defaultToken, string $token, $password): PublicKeyToken { + $pkToken = $this->newToken( + $token, + $defaultToken->getUID(), + $defaultToken->getLoginName(), + $password, + $defaultToken->getName(), + $defaultToken->getType(), + $defaultToken->getRemember() + ); + + $pkToken->setExpires($defaultToken->getExpires()); + $pkToken->setId($defaultToken->getId()); + + return $this->mapper->update($pkToken); + } + + private function newToken(string $token, + string $uid, + string $loginName, + $password, + string $name, + int $type, + int $remember): PublicKeyToken { + $dbToken = new PublicKeyToken(); + $dbToken->setUid($uid); + $dbToken->setLoginName($loginName); + + $config = [ + 'digest_alg' => 'sha512', + 'private_key_bits' => 2048, + ]; + + // Generate new key + $res = openssl_pkey_new($config); + openssl_pkey_export($res, $privateKey); + + // Extract the public key from $res to $pubKey + $publicKey = openssl_pkey_get_details($res); + $publicKey = $publicKey['key']; + + $dbToken->setPublicKey($publicKey); + $dbToken->setPrivateKey($this->encrypt($privateKey, $token)); + + if (!is_null($password)) { + $dbToken->setPassword($this->encryptPassword($password, $publicKey)); + } + + $dbToken->setName($name); + $dbToken->setToken($this->hashToken($token)); + $dbToken->setType($type); + $dbToken->setRemember($remember); + $dbToken->setLastActivity($this->time->getTime()); + $dbToken->setLastCheck($this->time->getTime()); + $dbToken->setVersion(PublicKeyToken::VERSION); + + return $dbToken; + } +} diff --git a/lib/private/Avatar.php b/lib/private/Avatar.php index 53dea5b966a..9dbeb4ac745 100644 --- a/lib/private/Avatar.php +++ b/lib/private/Avatar.php @@ -11,6 +11,7 @@ * @author Robin Appelman <robin@icewind.nl> * @author Roeland Jago Douma <roeland@famdouma.nl> * @author Thomas Müller <thomas.mueller@tmit.eu> + * @author John Molakvoæ <skjnldsv@protonmail.com> * * @license AGPL-3.0 * @@ -30,7 +31,6 @@ namespace OC; -use OC\User\User; use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; use OCP\Files\SimpleFS\ISimpleFile; @@ -39,8 +39,10 @@ use OCP\IAvatar; use OCP\IConfig; use OCP\IImage; use OCP\IL10N; -use OC_Image; use OCP\ILogger; +use OC\User\User; +use OC_Image; +use Imagick; /** * This class gets and sets users avatars. @@ -59,6 +61,19 @@ class Avatar implements IAvatar { private $config; /** + * https://github.com/sebdesign/cap-height -- for 500px height + * Open Sans cap-height is 0.72 and we want a 200px caps height size (0.4 letter-to-total-height ratio, 500*0.4=200). 200/0.72 = 278px. + * Since we start from the baseline (text-anchor) we need to shift the y axis by 100px (half the caps height): 500/2+100=350 + * + * @var string + */ + private $svgTemplate = '<?xml version="1.0" encoding="UTF-8" standalone="no"?> + <svg width="{size}" height="{size}" version="1.1" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg"> + <rect width="100%" height="100%" fill="#{fill}"></rect> + <text x="50%" y="350" style="font-weight:600;font-size:278px;font-family:\'Open Sans\';text-anchor:middle;fill:#fff">{letter}</text> + </svg>'; + + /** * constructor * * @param ISimpleFolder $folder The folder where the avatars are @@ -68,10 +83,10 @@ class Avatar implements IAvatar { * @param IConfig $config */ public function __construct(ISimpleFolder $folder, - IL10N $l, - $user, - ILogger $logger, - IConfig $config) { + IL10N $l, + $user, + ILogger $logger, + IConfig $config) { $this->folder = $folder; $this->l = $l; $this->user = $user; @@ -82,7 +97,7 @@ class Avatar implements IAvatar { /** * @inheritdoc */ - public function get ($size = 64) { + public function get($size = 64) { try { $file = $this->getFile($size); } catch (NotFoundException $e) { @@ -111,17 +126,17 @@ class Avatar implements IAvatar { * @throws \Exception if the provided image is not valid * @throws NotSquareException if the image is not square * @return void - */ - public function set ($data) { + */ + public function set($data) { - if($data instanceOf IImage) { + if ($data instanceof IImage) { $img = $data; $data = $img->data(); } else { $img = new OC_Image(); if (is_resource($data) && get_resource_type($data) === "gd") { $img->setResource($data); - } elseif(is_resource($data)) { + } elseif (is_resource($data)) { $img->loadFromFileHandle($data); } else { try { @@ -154,7 +169,7 @@ class Avatar implements IAvatar { } $this->remove(); - $file = $this->folder->newFile('avatar.'.$type); + $file = $this->folder->newFile('avatar.' . $type); $file->putContent($data); try { @@ -165,17 +180,17 @@ class Avatar implements IAvatar { // } $this->user->triggerChange('avatar', $file); - } + } /** * remove the users avatar * @return void - */ - public function remove () { + */ + public function remove() { $avatars = $this->folder->getDirectoryListing(); $this->config->setUserValue($this->user->getUID(), 'avatar', 'version', - (int)$this->config->getUserValue($this->user->getUID(), 'avatar', 'version', 0) + 1); + (int) $this->config->getUserValue($this->user->getUID(), 'avatar', 'version', 0) + 1); foreach ($avatars as $avatar) { $avatar->delete(); @@ -191,7 +206,9 @@ class Avatar implements IAvatar { try { $ext = $this->getExtension(); } catch (NotFoundException $e) { - $data = $this->generateAvatar($this->user->getDisplayName(), 1024); + if (!$data = $this->generateAvatarFromSvg(1024)) { + $data = $this->generateAvatar($this->user->getDisplayName(), 1024); + } $avatar = $this->folder->newFile('avatar.png'); $avatar->putContent($data); $ext = 'png'; @@ -214,7 +231,9 @@ class Avatar implements IAvatar { } if ($this->folder->fileExists('generated')) { - $data = $this->generateAvatar($this->user->getDisplayName(), $size); + if (!$data = $this->generateAvatarFromSvg($size)) { + $data = $this->generateAvatar($this->user->getDisplayName(), $size); + } } else { $avatar = new OC_Image(); @@ -235,7 +254,7 @@ class Avatar implements IAvatar { } - if($this->config->getUserValue($this->user->getUID(), 'avatar', 'generated', null) === null) { + if ($this->config->getUserValue($this->user->getUID(), 'avatar', 'generated', null) === null) { $generated = $this->folder->fileExists('generated') ? 'true' : 'false'; $this->config->setUserValue($this->user->getUID(), 'avatar', 'generated', $generated); } @@ -257,8 +276,55 @@ class Avatar implements IAvatar { } throw new NotFoundException; } + + /** + * {size} = 500 + * {fill} = hex color to fill + * {letter} = Letter to display + * + * Generate SVG avatar + * @return string + * + */ + private function getAvatarVector(int $size): string { + $userDisplayName = $this->user->getDisplayName(); + + $bgRGB = $this->avatarBackgroundColor($userDisplayName); + $bgHEX = sprintf("%02x%02x%02x", $bgRGB->r, $bgRGB->g, $bgRGB->b); + $letter = mb_strtoupper(mb_substr($userDisplayName, 0, 1), 'UTF-8'); + + $toReplace = ['{size}', '{fill}', '{letter}']; + return str_replace($toReplace, [$size, $bgHEX, $letter], $this->svgTemplate); + } /** + * Generate png avatar from svg with Imagick + * + * @param int $size + * @return string|boolean + */ + private function generateAvatarFromSvg(int $size) { + if (!extension_loaded('imagick')) { + return false; + } + try { + $font = __DIR__ . '/../../core/fonts/OpenSans-Semibold.ttf'; + $svg = $this->getAvatarVector($size); + $avatar = new Imagick(); + $avatar->setFont($font); + $avatar->readImageBlob($svg); + $avatar->setImageFormat('png'); + $image = new OC_Image(); + $image->loadFromData($avatar); + return $image->data(); + } catch (\Exception $e) { + return false; + } + } + + /** + * Generate png avatar with GD + * * @param string $userDisplayName * @param int $size * @return string @@ -275,12 +341,9 @@ class Avatar implements IAvatar { $font = __DIR__ . '/../../core/fonts/OpenSans-Semibold.ttf'; $fontSize = $size * 0.4; - $box = imagettfbbox($fontSize, 0, $font, $text); - $x = ($size - ($box[2] - $box[0])) / 2; - $y = ($size - ($box[1] - $box[7])) / 2; - $x += 1; - $y -= $box[7]; + list($x, $y) = $this->imageTTFCenter($im, $text, $font, $fontSize); + imagettftext($im, $fontSize, 0, $x, $y, $white, $font, $text); ob_start(); @@ -292,6 +355,35 @@ class Avatar implements IAvatar { } /** + * Calculate real image ttf center + * + * @param resource $image + * @param string $text text string + * @param string $font font path + * @param int $size font size + * @param int $angle + * @return Array + */ + protected function imageTTFCenter($image, string $text, string $font, int $size, $angle = 0): array { + // Image width & height + $xi = imagesx($image); + $yi = imagesy($image); + + // bounding box + $box = imagettfbbox($size, $angle, $font, $text); + + // imagettfbbox can return negative int + $xr = abs(max($box[2], $box[4])); + $yr = abs(max($box[5], $box[7])); + + // calculate bottom left placement + $x = intval(($xi - $xr) / 2); + $y = intval(($yi + $yr) / 2); + + return array($x, $y); + } + + /** * Calculate steps between two Colors * @param object Color $steps start color * @param object Color $ends end color @@ -304,6 +396,7 @@ class Avatar implements IAvatar { $step[2] = ($ends[1]->b - $ends[0]->b) / $steps; return $step; } + /** * Convert a string to an integer evenly * @param string $hash the text to parse @@ -318,12 +411,11 @@ class Avatar implements IAvatar { $r = intval($color1->r + ($step[0] * $i)); $g = intval($color1->g + ($step[1] * $i)); $b = intval($color1->b + ($step[2] * $i)); - $palette[] = new Color($r, $g, $b); + $palette[] = new Color($r, $g, $b); } return $palette; } - /** * Convert a string to an integer evenly * @param string $hash the text to parse @@ -335,7 +427,7 @@ class Avatar implements IAvatar { $result = array(); // Splitting evenly the string - for ($i=0; $i< strlen($hash); $i++) { + for ($i = 0; $i < strlen($hash); $i++) { // chars in md5 goes up to f, hex:16 $result[] = intval(substr($hash, $i, 1), 16) % 16; } @@ -347,20 +439,26 @@ class Avatar implements IAvatar { return intval($final % $maximum); } - /** - * @param string $text + * @param string $hash * @return Color Object containting r g b int in the range [0, 255] */ - function avatarBackgroundColor($text) { - $hash = preg_replace('/[^0-9a-f]+/', '', $text); + public function avatarBackgroundColor(string $hash) { + // Normalize hash + $hash = strtolower($hash); + + // Already a md5 hash? + if( preg_match('/^([0-9a-f]{4}-?){8}$/', $hash, $matches) !== 1 ) { + $hash = md5($hash); + } - $hash = md5($hash); - $hashChars = str_split($hash); + // Remove unwanted char + $hash = preg_replace('/[^0-9a-f]+/', '', $hash); $red = new Color(182, 70, 157); $yellow = new Color(221, 203, 85); $blue = new Color(0, 130, 201); // Nextcloud blue + // Number of steps to go from a color to another // 3 colors * 6 will result in 18 generated colors $steps = 6; @@ -371,7 +469,7 @@ class Avatar implements IAvatar { $finalPalette = array_merge($palette1, $palette2, $palette3); - return $finalPalette[$this->hashToInt($hash, $steps * 3 )]; + return $finalPalette[$this->hashToInt($hash, $steps * 3)]; } public function userChanged($feature, $oldValue, $newValue) { diff --git a/lib/private/Group/Group.php b/lib/private/Group/Group.php index cc6315263d4..275b697bc3b 100644 --- a/lib/private/Group/Group.php +++ b/lib/private/Group/Group.php @@ -211,10 +211,10 @@ class Group implements IGroup { $userIds = $backend->usersInGroup($this->gid, $search, $limit, $offset); $users += $this->getVerifiedUsers($userIds); if (!is_null($limit) and $limit <= 0) { - return array_values($users); + return $users; } } - return array_values($users); + return $users; } /** diff --git a/lib/private/Http/Client/Client.php b/lib/private/Http/Client/Client.php index 0387fcabfaf..03b09bf54b7 100644 --- a/lib/private/Http/Client/Client.php +++ b/lib/private/Http/Client/Client.php @@ -158,7 +158,7 @@ class Client implements IClient { */ public function get(string $uri, array $options = []): IResponse { $this->setDefaultOptions(); - $response = $this->client->request('get', $uri, array_merge($options, $this->getRequestOptions())); + $response = $this->client->request('get', $uri, array_merge($this->getRequestOptions(), $options)); $isStream = isset($options['stream']) && $options['stream']; return new Response($response, $isStream); } @@ -189,7 +189,7 @@ class Client implements IClient { */ public function head(string $uri, array $options = []): IResponse { $this->setDefaultOptions(); - $response = $this->client->request('head', $uri, array_merge($options, $this->getRequestOptions())); + $response = $this->client->request('head', $uri, array_merge($this->getRequestOptions(), $options)); return new Response($response); } @@ -228,7 +228,7 @@ class Client implements IClient { $options['form_params'] = $options['body']; unset($options['body']); } - $response = $this->client->request('post', $uri, array_merge($options, $this->getRequestOptions())); + $response = $this->client->request('post', $uri, array_merge($this->getRequestOptions(), $options)); return new Response($response); } @@ -263,7 +263,7 @@ class Client implements IClient { */ public function put(string $uri, array $options = []): IResponse { $this->setDefaultOptions(); - $response = $this->client->request('put', $uri, array_merge($options, $this->getRequestOptions())); + $response = $this->client->request('put', $uri, array_merge($this->getRequestOptions(), $options)); return new Response($response); } @@ -298,7 +298,7 @@ class Client implements IClient { */ public function delete(string $uri, array $options = []): IResponse { $this->setDefaultOptions(); - $response = $this->client->request('delete', $uri, array_merge($options, $this->getRequestOptions())); + $response = $this->client->request('delete', $uri, array_merge($this->getRequestOptions(), $options)); return new Response($response); } @@ -334,7 +334,7 @@ class Client implements IClient { */ public function options(string $uri, array $options = []): IResponse { $this->setDefaultOptions(); - $response = $this->client->request('options', $uri, array_merge($options, $this->getRequestOptions())); + $response = $this->client->request('options', $uri, array_merge($this->getRequestOptions(), $options)); return new Response($response); } } diff --git a/lib/private/Repair.php b/lib/private/Repair.php index 72407d2570c..78a60392219 100644 --- a/lib/private/Repair.php +++ b/lib/private/Repair.php @@ -30,6 +30,7 @@ namespace OC; +use OC\Repair\AddCleanupUpdaterBackupsJob; use OC\Repair\CleanTags; use OC\Repair\ClearFrontendCaches; use OC\Repair\Collation; @@ -135,6 +136,7 @@ class Repair implements IOutput{ new AddLogRotateJob(\OC::$server->getJobList()), new ClearFrontendCaches(\OC::$server->getMemCacheFactory(), \OC::$server->query(SCSSCacher::class), \OC::$server->query(JSCombiner::class)), new AddPreviewBackgroundCleanupJob(\OC::$server->getJobList()), + new AddCleanupUpdaterBackupsJob(\OC::$server->getJobList()), ]; } diff --git a/lib/private/Repair/AddCleanupUpdaterBackupsJob.php b/lib/private/Repair/AddCleanupUpdaterBackupsJob.php new file mode 100644 index 00000000000..1574e665fb6 --- /dev/null +++ b/lib/private/Repair/AddCleanupUpdaterBackupsJob.php @@ -0,0 +1,48 @@ +<?php +/** + * @copyright Copyright (c) 2018 Morris Jobke <hey@morrisjobke.de> + * + * @author Morris Jobke <hey@morrisjobke.de> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OC\Repair; + +use OC\Core\BackgroundJobs\BackgroundCleanupUpdaterBackupsJob; +use OCP\BackgroundJob\IJobList; +use OCP\Migration\IOutput; +use OCP\Migration\IRepairStep; + +class AddCleanupUpdaterBackupsJob implements IRepairStep { + + /** @var IJobList */ + protected $jobList; + + public function __construct(IJobList $jobList) { + $this->jobList = $jobList; + } + + public function getName() { + return 'Queue a one-time job to cleanup old backups of the updater'; + } + + public function run(IOutput $output) { + $this->jobList->add(BackgroundCleanupUpdaterBackupsJob::class); + } +} + diff --git a/lib/private/Security/Bruteforce/Throttler.php b/lib/private/Security/Bruteforce/Throttler.php index f08b721d143..3282121d967 100644 --- a/lib/private/Security/Bruteforce/Throttler.php +++ b/lib/private/Security/Bruteforce/Throttler.php @@ -228,7 +228,7 @@ class Throttler { return 0; } - $maxDelay = 30; + $maxDelay = 25; $firstDelay = 0.1; if ($attempts > (8 * PHP_INT_SIZE - 1)) { // Don't ever overflow. Just assume the maxDelay time:s diff --git a/lib/private/Server.php b/lib/private/Server.php index f230ce5b884..31f088ea718 100644 --- a/lib/private/Server.php +++ b/lib/private/Server.php @@ -339,15 +339,7 @@ class Server extends ServerContainer implements IServerContainer { $dbConnection = $c->getDatabaseConnection(); return new Authentication\Token\DefaultTokenMapper($dbConnection); }); - $this->registerService(Authentication\Token\DefaultTokenProvider::class, function (Server $c) { - $mapper = $c->query(Authentication\Token\DefaultTokenMapper::class); - $crypto = $c->getCrypto(); - $config = $c->getConfig(); - $logger = $c->getLogger(); - $timeFactory = new TimeFactory(); - return new \OC\Authentication\Token\DefaultTokenProvider($mapper, $crypto, $config, $logger, $timeFactory); - }); - $this->registerAlias(IProvider::class, Authentication\Token\DefaultTokenProvider::class); + $this->registerAlias(IProvider::class, Authentication\Token\Manager::class); $this->registerService(\OCP\IUserSession::class, function (Server $c) { $manager = $c->getUserManager(); @@ -954,7 +946,7 @@ class Server extends ServerContainer implements IServerContainer { $c->getURLGenerator(), $c->getMemCacheFactory(), new Util($c->getConfig(), $this->getAppManager(), $c->getAppDataDir('theming')), - new ImageManager($c->getConfig(), $c->getAppDataDir('theming'), $c->getURLGenerator()), + new ImageManager($c->getConfig(), $c->getAppDataDir('theming'), $c->getURLGenerator(), $this->getMemCacheFactory(), $this->getLogger()), $c->getAppManager() ); } diff --git a/lib/private/Session/CryptoSessionData.php b/lib/private/Session/CryptoSessionData.php index b63b568875e..01cac631870 100644 --- a/lib/private/Session/CryptoSessionData.php +++ b/lib/private/Session/CryptoSessionData.php @@ -150,10 +150,11 @@ class CryptoSessionData implements \ArrayAccess, ISession { * Wrapper around session_regenerate_id * * @param bool $deleteOldSession Whether to delete the old associated session file or not. + * @param bool $updateToken Wheater to update the associated auth token * @return void */ - public function regenerateId(bool $deleteOldSession = true) { - $this->session->regenerateId($deleteOldSession); + public function regenerateId(bool $deleteOldSession = true, bool $updateToken = false) { + $this->session->regenerateId($deleteOldSession, $updateToken); } /** diff --git a/lib/private/Session/Internal.php b/lib/private/Session/Internal.php index 1d0466ec349..182754f457c 100644 --- a/lib/private/Session/Internal.php +++ b/lib/private/Session/Internal.php @@ -30,6 +30,10 @@ declare(strict_types=1); namespace OC\Session; +use OC\Authentication\Exceptions\InvalidTokenException; +use OC\Authentication\Token\IProvider; +use OC\SystemConfig; +use OCP\IConfig; use OCP\Session\Exceptions\SessionNotAvailableException; /** @@ -111,14 +115,41 @@ class Internal extends Session { * Wrapper around session_regenerate_id * * @param bool $deleteOldSession Whether to delete the old associated session file or not. + * @param bool $updateToken Wheater to update the associated auth token * @return void */ - public function regenerateId(bool $deleteOldSession = true) { + public function regenerateId(bool $deleteOldSession = true, bool $updateToken = false) { + $oldId = null; + + if ($updateToken) { + // Get the old id to update the token + try { + $oldId = $this->getId(); + } catch (SessionNotAvailableException $e) { + // We can't update a token if there is no previous id + $updateToken = false; + } + } + try { @session_regenerate_id($deleteOldSession); } catch (\Error $e) { $this->trapError($e->getCode(), $e->getMessage()); } + + if ($updateToken) { + // Get the new id to update the token + $newId = $this->getId(); + + /** @var IProvider $tokenProvider */ + $tokenProvider = \OC::$server->query(IProvider::class); + + try { + $tokenProvider->renewSessionToken($oldId, $newId); + } catch (InvalidTokenException $e) { + // Just ignore + } + } } /** diff --git a/lib/private/Session/Memory.php b/lib/private/Session/Memory.php index 79900bc8067..5a2a3039d7b 100644 --- a/lib/private/Session/Memory.php +++ b/lib/private/Session/Memory.php @@ -91,7 +91,7 @@ class Memory extends Session { * * @param bool $deleteOldSession */ - public function regenerateId(bool $deleteOldSession = true) {} + public function regenerateId(bool $deleteOldSession = true, bool $updateToken = false) {} /** * Wrapper around session_id diff --git a/lib/private/Settings/Admin/Overview.php b/lib/private/Settings/Admin/Overview.php index 6e186dc6f98..51e5808f487 100644 --- a/lib/private/Settings/Admin/Overview.php +++ b/lib/private/Settings/Admin/Overview.php @@ -23,112 +23,24 @@ namespace OC\Settings\Admin; -use Doctrine\DBAL\Connection; -use Doctrine\DBAL\DBALException; -use Doctrine\DBAL\Platforms\SqlitePlatform; -use OC\Lock\DBLockingProvider; -use OC\Lock\NoopLockingProvider; use OCP\AppFramework\Http\TemplateResponse; use OCP\IConfig; -use OCP\IDBConnection; -use OCP\IL10N; -use OCP\IRequest; -use OCP\Lock\ILockingProvider; use OCP\Settings\ISettings; class Overview implements ISettings { - /** @var IDBConnection|Connection */ - private $db; - /** @var IRequest */ - private $request; /** @var IConfig */ private $config; - /** @var ILockingProvider */ - private $lockingProvider; - /** @var IL10N */ - private $l; - /** - * @param IDBConnection $db - * @param IRequest $request - * @param IConfig $config - * @param ILockingProvider $lockingProvider - * @param IL10N $l - */ - public function __construct(IDBConnection $db, - IRequest $request, - IConfig $config, - ILockingProvider $lockingProvider, - IL10N $l) { - $this->db = $db; - $this->request = $request; + public function __construct(IConfig $config) { $this->config = $config; - $this->lockingProvider = $lockingProvider; - $this->l = $l; } /** * @return TemplateResponse */ public function getForm() { - try { - if ($this->db->getDatabasePlatform() instanceof SqlitePlatform) { - $invalidTransactionIsolationLevel = false; - } else { - $invalidTransactionIsolationLevel = $this->db->getTransactionIsolation() !== Connection::TRANSACTION_READ_COMMITTED; - } - } catch (DBALException $e) { - // ignore - $invalidTransactionIsolationLevel = false; - } - - $envPath = getenv('PATH'); - - // warn if outdated version of a memcache module is used - $caches = [ - 'apcu' => ['name' => $this->l->t('APCu'), 'version' => '4.0.6'], - 'redis' => ['name' => $this->l->t('Redis'), 'version' => '2.2.5'], - ]; - $outdatedCaches = []; - foreach ($caches as $php_module => $data) { - $isOutdated = extension_loaded($php_module) && version_compare(phpversion($php_module), $data['version'], '<'); - if ($isOutdated) { - $outdatedCaches[$php_module] = $data; - } - } - - if ($this->lockingProvider instanceof NoopLockingProvider) { - $fileLockingType = 'none'; - } else if ($this->lockingProvider instanceof DBLockingProvider) { - $fileLockingType = 'db'; - } else { - $fileLockingType = 'cache'; - } - - $suggestedOverwriteCliUrl = ''; - if ($this->config->getSystemValue('overwrite.cli.url', '') === '') { - $suggestedOverwriteCliUrl = $this->request->getServerProtocol() . '://' . $this->request->getInsecureServerHost() . \OC::$WEBROOT; - if (!$this->config->getSystemValue('config_is_read_only', false)) { - // Set the overwrite URL when it was not set yet. - $this->config->setSystemValue('overwrite.cli.url', $suggestedOverwriteCliUrl); - $suggestedOverwriteCliUrl = ''; - } - } - $parameters = [ - // Diagnosis - 'readOnlyConfigEnabled' => \OC_Helper::isReadOnlyConfigEnabled(), - 'isLocaleWorking' => \OC_Util::isSetLocaleWorking(), - 'isAnnotationsWorking' => \OC_Util::isAnnotationsWorking(), 'checkForWorkingWellKnownSetup' => $this->config->getSystemValue('check_for_working_wellknown_setup', true), - 'has_fileinfo' => \OC_Util::fileInfoLoaded(), - 'invalidTransactionIsolationLevel' => $invalidTransactionIsolationLevel, - 'getenvServerNotWorking' => empty($envPath), - 'OutdatedCacheWarning' => $outdatedCaches, - 'fileLockingType' => $fileLockingType, - 'suggestedOverwriteCliUrl' => $suggestedOverwriteCliUrl, - 'lastcron' => $this->config->getAppValue('core', 'lastcron', false), - 'cronErrors' => $this->config->getAppValue('core', 'cronErrors'), ]; return new TemplateResponse('settings', 'settings/admin/overview', $parameters, ''); diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index bfccdf392bb..a974eb9808d 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -259,7 +259,7 @@ class Manager implements IManager { if ($section === 'overview') { /** @var ISettings $form */ - $form = new Admin\Overview($this->dbc, $this->request, $this->config, $this->lockingProvider, $this->l); + $form = new Admin\Overview($this->config); $forms[$form->getPriority()] = [$form]; $form = new Admin\ServerDevNotice(); $forms[$form->getPriority()] = [$form]; diff --git a/lib/private/User/Session.php b/lib/private/User/Session.php index 5d8455fb5f7..ee1439b9e20 100644 --- a/lib/private/User/Session.php +++ b/lib/private/User/Session.php @@ -626,6 +626,8 @@ class Session implements IUserSession, Emitter { try { $sessionId = $this->session->getId(); $pwd = $this->getPassword($password); + // Make sure the current sessionId has no leftover tokens + $this->tokenProvider->invalidateToken($sessionId); $this->tokenProvider->generateToken($sessionId, $uid, $loginName, $pwd, $name, IToken::TEMPORARY_TOKEN, $remember); return true; } catch (SessionNotAvailableException $ex) { diff --git a/lib/public/AppFramework/Http/ContentSecurityPolicy.php b/lib/public/AppFramework/Http/ContentSecurityPolicy.php index 9438c6ead61..c705955bb8a 100644 --- a/lib/public/AppFramework/Http/ContentSecurityPolicy.php +++ b/lib/public/AppFramework/Http/ContentSecurityPolicy.php @@ -27,16 +27,19 @@ namespace OCP\AppFramework\Http; /** * Class ContentSecurityPolicy is a simple helper which allows applications to - * modify the Content-Security-Policy sent by ownCloud. Per default only JavaScript, + * modify the Content-Security-Policy sent by Nextcloud. Per default only JavaScript, * stylesheets, images, fonts, media and connections from the same domain * ('self') are allowed. * * Even if a value gets modified above defaults will still get appended. Please - * notice that ownCloud ships already with sensible defaults and those policies + * notice that Nextcloud ships already with sensible defaults and those policies * should require no modification at all for most use-cases. * + * This class allows unsafe-eval of javascript and unsafe-inline of CSS. + * * @package OCP\AppFramework\Http * @since 8.1.0 + * @deprecated 14.0.0 Use one of our stricter CSP policies */ class ContentSecurityPolicy extends EmptyContentSecurityPolicy { /** @var bool Whether inline JS snippets are allowed */ diff --git a/lib/public/AppFramework/Http/StrictContentSecurityPolicy.php b/lib/public/AppFramework/Http/StrictContentSecurityPolicy.php new file mode 100644 index 00000000000..6713796bdd3 --- /dev/null +++ b/lib/public/AppFramework/Http/StrictContentSecurityPolicy.php @@ -0,0 +1,85 @@ +<?php +declare(strict_types=1); +/** + * @copyright 2018, Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCP\AppFramework\Http; + +/** + * Class StrictContentSecurityPolicy is a simple helper which allows applications to + * modify the Content-Security-Policy sent by Nextcloud. Per default only JavaScript, + * stylesheets, images, fonts, media and connections from the same domain + * ('self') are allowed. + * + * Even if a value gets modified above defaults will still get appended. Please + * notice that Nextcloud ships already with sensible defaults and those policies + * should require no modification at all for most use-cases. + * + * This class represents out strictest defaults. They may get change from release + * to release if more strict CSP directives become available. + * + * @package OCP\AppFramework\Http + * @since 14.0.0 + */ +class StrictContentSecurityPolicy extends EmptyContentSecurityPolicy { + /** @var bool Whether inline JS snippets are allowed */ + protected $inlineScriptAllowed = false; + /** @var bool Whether eval in JS scripts is allowed */ + protected $evalScriptAllowed = false; + /** @var array Domains from which scripts can get loaded */ + protected $allowedScriptDomains = [ + '\'self\'', + ]; + /** @var bool Whether inline CSS is allowed */ + protected $inlineStyleAllowed = false; + /** @var array Domains from which CSS can get loaded */ + protected $allowedStyleDomains = [ + '\'self\'', + ]; + /** @var array Domains from which images can get loaded */ + protected $allowedImageDomains = [ + '\'self\'', + 'data:', + 'blob:', + ]; + /** @var array Domains to which connections can be done */ + protected $allowedConnectDomains = [ + '\'self\'', + ]; + /** @var array Domains from which media elements can be loaded */ + protected $allowedMediaDomains = [ + '\'self\'', + ]; + /** @var array Domains from which object elements can be loaded */ + protected $allowedObjectDomains = []; + /** @var array Domains from which iframes can be loaded */ + protected $allowedFrameDomains = []; + /** @var array Domains from which fonts can be loaded */ + protected $allowedFontDomains = [ + '\'self\'', + ]; + /** @var array Domains from which web-workers and nested browsing content can load elements */ + protected $allowedChildSrcDomains = []; + + /** @var array Domains which can embed this Nextcloud instance */ + protected $allowedFrameAncestors = []; +} diff --git a/lib/public/AppFramework/Http/StrictEvalContentSecurityPolicy.php b/lib/public/AppFramework/Http/StrictEvalContentSecurityPolicy.php new file mode 100644 index 00000000000..c1d6093d880 --- /dev/null +++ b/lib/public/AppFramework/Http/StrictEvalContentSecurityPolicy.php @@ -0,0 +1,51 @@ +<?php +declare(strict_types=1); +/** + * @copyright 2018, Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCP\AppFramework\Http; + +/** + * Class StrictInlineContentSecurityPolicy is a simple helper which allows applications to + * modify the Content-Security-Policy sent by Nextcloud. Per default only JavaScript, + * stylesheets, images, fonts, media and connections from the same domain + * ('self') are allowed. + * + * Even if a value gets modified above defaults will still get appended. Please + * notice that Nextcloud ships already with sensible defaults and those policies + * should require no modification at all for most use-cases. + * + * This is a temp helper class from the default ContentSecurityPolicy to allow slow + * migration to a stricter CSP. This does not allow unsafe eval. + * + * @package OCP\AppFramework\Http + * @since 14.0.0 + */ +class StrictEvalContentSecurityPolicy extends ContentSecurityPolicy { + + /** + * @since 14.0.0 + */ + public function __construct() { + $this->inlineStyleAllowed = false; + } +} diff --git a/lib/public/AppFramework/Http/StrictInlineContentSecurityPolicy.php b/lib/public/AppFramework/Http/StrictInlineContentSecurityPolicy.php new file mode 100644 index 00000000000..65630de7b76 --- /dev/null +++ b/lib/public/AppFramework/Http/StrictInlineContentSecurityPolicy.php @@ -0,0 +1,51 @@ +<?php +declare(strict_types=1); +/** + * @copyright 2018, Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCP\AppFramework\Http; + +/** + * Class StrictInlineContentSecurityPolicy is a simple helper which allows applications to + * modify the Content-Security-Policy sent by Nextcloud. Per default only JavaScript, + * stylesheets, images, fonts, media and connections from the same domain + * ('self') are allowed. + * + * Even if a value gets modified above defaults will still get appended. Please + * notice that Nextcloud ships already with sensible defaults and those policies + * should require no modification at all for most use-cases. + * + * This is a temp helper class from the default ContentSecurityPolicy to allow slow + * migration to a stricter CSP. This does not allow inline styles. + * + * @package OCP\AppFramework\Http + * @since 14.0.0 + */ +class StrictInlineContentSecurityPolicy extends ContentSecurityPolicy { + + /** + * @since 14.0.0 + */ + public function __construct() { + $this->inlineStyleAllowed = false; + } +} diff --git a/lib/public/IAvatar.php b/lib/public/IAvatar.php index a6731b63be9..85863357069 100644 --- a/lib/public/IAvatar.php +++ b/lib/public/IAvatar.php @@ -8,6 +8,7 @@ * @author Robin Appelman <robin@icewind.nl> * @author Roeland Jago Douma <roeland@famdouma.nl> * @author Thomas Müller <thomas.mueller@tmit.eu> + * @author John Molakvoæ <skjnldsv@protonmail.com> * * @license AGPL-3.0 * @@ -26,6 +27,7 @@ */ namespace OCP; + use OCP\Files\File; use OCP\Files\NotFoundException; @@ -79,6 +81,13 @@ interface IAvatar { public function getFile($size); /** + * @param string $text + * @return Color Object containting r g b int in the range [0, 255] + * @since 14.0.0 + */ + public function avatarBackgroundColor(string $text); + + /** * Handle a changed user * @since 13.0.0 */ diff --git a/lib/public/ISession.php b/lib/public/ISession.php index 411356b8dcc..bbf36c86520 100644 --- a/lib/public/ISession.php +++ b/lib/public/ISession.php @@ -96,10 +96,11 @@ interface ISession { * Wrapper around session_regenerate_id * * @param bool $deleteOldSession Whether to delete the old associated session file or not. + * @param bool $updateToken Wheater to update the associated auth token * @return void - * @since 9.0.0 + * @since 9.0.0, $updateToken added in 14.0.0 */ - public function regenerateId(bool $deleteOldSession = true); + public function regenerateId(bool $deleteOldSession = true, bool $updateToken = false); /** * Wrapper around session_id diff --git a/settings/Controller/AuthSettingsController.php b/settings/Controller/AuthSettingsController.php index 6eaa64cfac2..06cabd00b07 100644 --- a/settings/Controller/AuthSettingsController.php +++ b/settings/Controller/AuthSettingsController.php @@ -83,11 +83,7 @@ class AuthSettingsController extends Controller { * @return JSONResponse|array */ public function index() { - $user = $this->userManager->get($this->uid); - if ($user === null) { - return []; - } - $tokens = $this->tokenProvider->getTokenByUser($user); + $tokens = $this->tokenProvider->getTokenByUser($this->uid); try { $sessionId = $this->session->getId(); @@ -182,12 +178,7 @@ class AuthSettingsController extends Controller { * @return array */ public function destroy($id) { - $user = $this->userManager->get($this->uid); - if (is_null($user)) { - return []; - } - - $this->tokenProvider->invalidateTokenById($user, $id); + $this->tokenProvider->invalidateTokenById($this->uid, $id); return []; } diff --git a/settings/Controller/CheckSetupController.php b/settings/Controller/CheckSetupController.php index b4619ee4bb0..f83d0966eda 100644 --- a/settings/Controller/CheckSetupController.php +++ b/settings/Controller/CheckSetupController.php @@ -31,21 +31,27 @@ namespace OC\Settings\Controller; use bantu\IniGetWrapper\IniGetWrapper; +use Doctrine\DBAL\DBALException; +use Doctrine\DBAL\Platforms\SqlitePlatform; use GuzzleHttp\Exception\ClientException; use OC\AppFramework\Http; +use OC\DB\Connection; use OC\DB\MissingIndexInformation; use OC\IntegrityCheck\Checker; +use OC\Lock\NoopLockingProvider; use OCP\AppFramework\Controller; use OCP\AppFramework\Http\DataDisplayResponse; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\Http\RedirectResponse; use OCP\Http\Client\IClientService; use OCP\IConfig; +use OCP\IDateTimeFormatter; use OCP\IDBConnection; use OCP\IL10N; use OCP\ILogger; use OCP\IRequest; use OCP\IURLGenerator; +use OCP\Lock\ILockingProvider; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\GenericEvent; @@ -69,6 +75,12 @@ class CheckSetupController extends Controller { private $logger; /** @var EventDispatcherInterface */ private $dispatcher; + /** @var IDBConnection|Connection */ + private $db; + /** @var ILockingProvider */ + private $lockingProvider; + /** @var IDateTimeFormatter */ + private $dateTimeFormatter; public function __construct($AppName, IRequest $request, @@ -79,7 +91,10 @@ class CheckSetupController extends Controller { IL10N $l10n, Checker $checker, ILogger $logger, - EventDispatcherInterface $dispatcher) { + EventDispatcherInterface $dispatcher, + IDBConnection $db, + ILockingProvider $lockingProvider, + IDateTimeFormatter $dateTimeFormatter) { parent::__construct($AppName, $request); $this->config = $config; $this->clientService = $clientService; @@ -89,6 +104,9 @@ class CheckSetupController extends Controller { $this->checker = $checker; $this->logger = $logger; $this->dispatcher = $dispatcher; + $this->db = $db; + $this->lockingProvider = $lockingProvider; + $this->dateTimeFormatter = $dateTimeFormatter; } /** @@ -424,16 +442,92 @@ Raw output return $indexInfo->getListOfMissingIndexes(); } + /** + * warn if outdated version of a memcache module is used + */ + protected function getOutdatedCaches(): array { + $caches = [ + 'apcu' => ['name' => 'APCu', 'version' => '4.0.6'], + 'redis' => ['name' => 'Redis', 'version' => '2.2.5'], + ]; + $outdatedCaches = []; + foreach ($caches as $php_module => $data) { + $isOutdated = extension_loaded($php_module) && version_compare(phpversion($php_module), $data['version'], '<'); + if ($isOutdated) { + $outdatedCaches[] = $data; + } + } + + return $outdatedCaches; + } + protected function isSqliteUsed() { return strpos($this->config->getSystemValue('dbtype'), 'sqlite') !== false; } + protected function isReadOnlyConfig(): bool { + return \OC_Helper::isReadOnlyConfigEnabled(); + } + + protected function hasValidTransactionIsolationLevel(): bool { + try { + if ($this->db->getDatabasePlatform() instanceof SqlitePlatform) { + return true; + } + + return $this->db->getTransactionIsolation() === Connection::TRANSACTION_READ_COMMITTED; + } catch (DBALException $e) { + // ignore + } + + return true; + } + + protected function hasFileinfoInstalled(): bool { + return \OC_Util::fileInfoLoaded(); + } + + protected function hasWorkingFileLocking(): bool { + return !($this->lockingProvider instanceof NoopLockingProvider); + } + + protected function getSuggestedOverwriteCliURL(): string { + $suggestedOverwriteCliUrl = ''; + if ($this->config->getSystemValue('overwrite.cli.url', '') === '') { + $suggestedOverwriteCliUrl = $this->request->getServerProtocol() . '://' . $this->request->getInsecureServerHost() . \OC::$WEBROOT; + if (!$this->config->getSystemValue('config_is_read_only', false)) { + // Set the overwrite URL when it was not set yet. + $this->config->setSystemValue('overwrite.cli.url', $suggestedOverwriteCliUrl); + $suggestedOverwriteCliUrl = ''; + } + } + return $suggestedOverwriteCliUrl; + } + + protected function getLastCronInfo(): array { + $lastCronRun = $this->config->getAppValue('core', 'lastcron', 0); + return [ + 'diffInSeconds' => time() - $lastCronRun, + 'relativeTime' => $this->dateTimeFormatter->formatTimeSpan($lastCronRun), + 'backgroundJobsUrl' => $this->urlGenerator->linkToRoute('settings.AdminSettings.index', ['section' => 'server']) . '#backgroundjobs', + ]; + } + /** * @return DataResponse */ public function check() { return new DataResponse( [ + 'isGetenvServerWorking' => !empty(getenv('PATH')), + 'isReadOnlyConfig' => $this->isReadOnlyConfig(), + 'hasValidTransactionIsolationLevel' => $this->hasValidTransactionIsolationLevel(), + 'outdatedCaches' => $this->getOutdatedCaches(), + 'hasFileinfoInstalled' => $this->hasFileinfoInstalled(), + 'hasWorkingFileLocking' => $this->hasWorkingFileLocking(), + 'suggestedOverwriteCliURL' => $this->getSuggestedOverwriteCliURL(), + 'cronInfo' => $this->getLastCronInfo(), + 'cronErrors' => json_decode($this->config->getAppValue('core', 'cronErrors', ''), true), 'serverHasInternetConnection' => $this->isInternetConnectionWorking(), 'isMemcacheConfigured' => $this->isMemcacheConfigured(), 'memcacheDocs' => $this->urlGenerator->linkToDocs('admin-performance'), @@ -450,7 +544,7 @@ Raw output 'phpOpcacheDocumentation' => $this->urlGenerator->linkToDocs('admin-php-opcache'), 'isSettimelimitAvailable' => $this->isSettimelimitAvailable(), 'hasFreeTypeSupport' => $this->hasFreeTypeSupport(), - 'hasMissingIndexes' => $this->hasMissingIndexes(), + 'missingIndexes' => $this->hasMissingIndexes(), 'isSqliteUsed' => $this->isSqliteUsed(), 'databaseConversionDocumentation' => $this->urlGenerator->linkToDocs('admin-db-conversion'), ] diff --git a/settings/css/settings.scss b/settings/css/settings.scss index 5c1714021fb..a6f93a3e95d 100644 --- a/settings/css/settings.scss +++ b/settings/css/settings.scss @@ -1319,10 +1319,6 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { text-decoration: underline; } - & > ul { - color: $color-error; - } - .extra-top-margin { margin-top: 12px; } diff --git a/settings/js/settings-vue.js b/settings/js/settings-vue.js index 265514dbc24..242562873ed 100644 --- a/settings/js/settings-vue.js +++ b/settings/js/settings-vue.js @@ -35,7 +35,7 @@ t.exports=function(){"use strict";var t=function(){this._properties={},this._nam * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -var n="undefined"!=typeof window&&"undefined"!=typeof document,r=["Edge","Trident","Firefox"],i=0,o=0;o<r.length;o+=1)if(n&&navigator.userAgent.indexOf(r[o])>=0){i=1;break}var s=n&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},i))}};function a(t){return t&&"[object Function]"==={}.toString.call(t)}function u(t,e){if(1!==t.nodeType)return[];var n=getComputedStyle(t,null);return e?n[e]:n}function c(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function l(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=u(t),n=e.overflow,r=e.overflowX,i=e.overflowY;return/(auto|scroll|overlay)/.test(n+i+r)?t:l(c(t))}var f=n&&!(!window.MSInputMethodContext||!document.documentMode),p=n&&/MSIE 10/.test(navigator.userAgent);function d(t){return 11===t?f:10===t?p:f||p}function h(t){if(!t)return document.documentElement;for(var e=d(10)?document.body:null,n=t.offsetParent;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TD","TABLE"].indexOf(n.nodeName)&&"static"===u(n,"position")?h(n):n:t?t.ownerDocument.documentElement:document.documentElement}function v(t){return null!==t.parentNode?v(t.parentNode):t}function m(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?t:e,i=n?e:t,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var s,a,u=o.commonAncestorContainer;if(t!==u&&e!==u||r.contains(i))return"BODY"===(a=(s=u).nodeName)||"HTML"!==a&&h(s.firstElementChild)!==s?h(u):u;var c=v(t);return c.host?m(c.host,e):m(t,v(e).host)}function g(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var r=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||r)[e]}return t[e]}function y(t,e){var n="x"===e?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+r+"Width"],10)}function b(t,e,n,r){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],d(10)?n["offset"+t]+r["margin"+("Height"===t?"Top":"Left")]+r["margin"+("Height"===t?"Bottom":"Right")]:0)}function _(){var t=document.body,e=document.documentElement,n=d(10)&&getComputedStyle(e);return{height:b("Height",t,e,n),width:b("Width",t,e,n)}}var w=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},x=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),C=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},O=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t};function S(t){return O({},t,{right:t.left+t.width,bottom:t.top+t.height})}function A(t){var e={};try{if(d(10)){e=t.getBoundingClientRect();var n=g(t,"top"),r=g(t,"left");e.top+=n,e.left+=r,e.bottom+=n,e.right+=r}else e=t.getBoundingClientRect()}catch(t){}var i={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},o="HTML"===t.nodeName?_():{},s=o.width||t.clientWidth||i.right-i.left,a=o.height||t.clientHeight||i.bottom-i.top,c=t.offsetWidth-s,l=t.offsetHeight-a;if(c||l){var f=u(t);c-=y(f,"x"),l-=y(f,"y"),i.width-=c,i.height-=l}return S(i)}function k(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=d(10),i="HTML"===e.nodeName,o=A(t),s=A(e),a=l(t),c=u(e),f=parseFloat(c.borderTopWidth,10),p=parseFloat(c.borderLeftWidth,10);n&&"HTML"===e.nodeName&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var h=S({top:o.top-s.top-f,left:o.left-s.left-p,width:o.width,height:o.height});if(h.marginTop=0,h.marginLeft=0,!r&&i){var v=parseFloat(c.marginTop,10),m=parseFloat(c.marginLeft,10);h.top-=f-v,h.bottom-=f-v,h.left-=p-m,h.right-=p-m,h.marginTop=v,h.marginLeft=m}return(r&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(h=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=g(e,"top"),i=g(e,"left"),o=n?-1:1;return t.top+=r*o,t.bottom+=r*o,t.left+=i*o,t.right+=i*o,t}(h,e)),h}function E(t){if(!t||!t.parentElement||d())return document.documentElement;for(var e=t.parentElement;e&&"none"===u(e,"transform");)e=e.parentElement;return e||document.documentElement}function $(t,e,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},s=i?E(t):m(t,e);if("viewport"===r)o=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,r=k(t,n),i=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:g(n),a=e?0:g(n,"left");return S({top:s-r.top+r.marginTop,left:a-r.left+r.marginLeft,width:i,height:o})}(s,i);else{var a=void 0;"scrollParent"===r?"BODY"===(a=l(c(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===r?t.ownerDocument.documentElement:r;var f=k(a,s,i);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===u(e,"position")||t(c(e)))}(s))o=f;else{var p=_(),d=p.height,h=p.width;o.top+=f.top-f.marginTop,o.bottom=d+f.top,o.left+=f.left-f.marginLeft,o.right=h+f.left}}return o.left+=n,o.top+=n,o.right-=n,o.bottom-=n,o}function L(t,e,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=$(n,r,o,i),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},u=Object.keys(a).map(function(t){return O({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e}).sort(function(t,e){return e.area-t.area}),c=u.filter(function(t){var e=t.width,r=t.height;return e>=n.clientWidth&&r>=n.clientHeight}),l=c.length>0?c[0].key:u[0].key,f=t.split("-")[1];return l+(f?"-"+f:"")}function T(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return k(n,r?E(e):m(e,n),r)}function P(t){var e=getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),r=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+r,height:t.offsetHeight+n}}function j(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function N(t,e,n){n=n.split("-")[0];var r=P(t),i={width:r.width,height:r.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",u=o?"height":"width",c=o?"width":"height";return i[s]=e[s]+e[u]/2-r[u]/2,i[a]=n===a?e[a]-r[c]:e[j(a)],i}function I(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function M(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var r=I(t,function(t){return t[e]===n});return t.indexOf(r)}(t,"name",n))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&a(n)&&(e.offsets.popper=S(e.offsets.popper),e.offsets.reference=S(e.offsets.reference),e=n(e,t))}),e}function U(t,e){return t.some(function(t){var n=t.name;return t.enabled&&n===e})}function D(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),r=0;r<e.length;r++){var i=e[r],o=i?""+i+n:t;if(void 0!==document.body.style[o])return o}return null}function F(t){var e=t.ownerDocument;return e?e.defaultView:window}function R(t,e,n,r){n.updateBound=r,F(t).addEventListener("resize",n.updateBound,{passive:!0});var i=l(t);return function t(e,n,r,i){var o="BODY"===e.nodeName,s=o?e.ownerDocument.defaultView:e;s.addEventListener(n,r,{passive:!0}),o||t(l(s.parentNode),n,r,i),i.push(s)}(i,"scroll",n.updateBound,n.scrollParents),n.scrollElement=i,n.eventsEnabled=!0,n}function B(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,F(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function G(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function V(t,e){Object.keys(e).forEach(function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&G(e[n])&&(r="px"),t.style[n]=e[n]+r})}function H(t,e,n){var r=I(t,function(t){return t.name===e}),i=!!r&&t.some(function(t){return t.name===n&&t.enabled&&t.order<r.order});if(!i){var o="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return i}var q=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],z=q.slice(3);function W(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=z.indexOf(t),r=z.slice(n+1).concat(z.slice(0,n));return e?r.reverse():r}var Y={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function K(t,e,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),s=t.split(/(\+|\-)/).map(function(t){return t.trim()}),a=s.indexOf(I(s,function(t){return-1!==t.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(u)[0]]),[s[a].split(u)[1]].concat(s.slice(a+1))]:[s];return(c=c.map(function(t,r){var i=(1===r?!o:o)?"height":"width",s=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,n,r){var i=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],s=i[2];if(!o)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=r}return S(a)[e]/100*o}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(t,i,e,n)})})).forEach(function(t,e){t.forEach(function(n,r){G(n)&&(i[e]+=n*("-"===t[r-1]?-1:1))})}),i}var Q={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],r=e.split("-")[1];if(r){var i=t.offsets,o=i.reference,s=i.popper,a=-1!==["bottom","top"].indexOf(n),u=a?"left":"top",c=a?"width":"height",l={start:C({},u,o[u]),end:C({},u,o[u]+o[c]-s[c])};t.offsets.popper=O({},s,l[r])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,r=t.placement,i=t.offsets,o=i.popper,s=i.reference,a=r.split("-")[0],u=void 0;return u=G(+n)?[+n,0]:K(n,o,s,a),"left"===a?(o.top+=u[0],o.left-=u[1]):"right"===a?(o.top+=u[0],o.left+=u[1]):"top"===a?(o.left+=u[0],o.top-=u[1]):"bottom"===a&&(o.left+=u[0],o.top+=u[1]),t.popper=o,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||h(t.instance.popper);t.instance.reference===n&&(n=h(n));var r=D("transform"),i=t.instance.popper.style,o=i.top,s=i.left,a=i[r];i.top="",i.left="",i[r]="";var u=$(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);i.top=o,i.left=s,i[r]=a,e.boundaries=u;var c=e.priority,l=t.offsets.popper,f={primary:function(t){var n=l[t];return l[t]<u[t]&&!e.escapeWithReference&&(n=Math.max(l[t],u[t])),C({},t,n)},secondary:function(t){var n="right"===t?"left":"top",r=l[n];return l[t]>u[t]&&!e.escapeWithReference&&(r=Math.min(l[n],u[t]-("right"===t?l.width:l.height))),C({},n,r)}};return c.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";l=O({},l,f[e](t))}),t.offsets.popper=l,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,r=e.reference,i=t.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(i),a=s?"right":"bottom",u=s?"left":"top",c=s?"width":"height";return n[a]<o(r[u])&&(t.offsets.popper[u]=o(r[u])-n[c]),n[u]>o(r[a])&&(t.offsets.popper[u]=o(r[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!H(t.instance.modifiers,"arrow","keepTogether"))return t;var r=e.element;if("string"==typeof r){if(!(r=t.instance.popper.querySelector(r)))return t}else if(!t.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var i=t.placement.split("-")[0],o=t.offsets,s=o.popper,a=o.reference,c=-1!==["left","right"].indexOf(i),l=c?"height":"width",f=c?"Top":"Left",p=f.toLowerCase(),d=c?"left":"top",h=c?"bottom":"right",v=P(r)[l];a[h]-v<s[p]&&(t.offsets.popper[p]-=s[p]-(a[h]-v)),a[p]+v>s[h]&&(t.offsets.popper[p]+=a[p]+v-s[h]),t.offsets.popper=S(t.offsets.popper);var m=a[p]+a[l]/2-v/2,g=u(t.instance.popper),y=parseFloat(g["margin"+f],10),b=parseFloat(g["border"+f+"Width"],10),_=m-t.offsets.popper[p]-y-b;return _=Math.max(Math.min(s[l]-v,_),0),t.arrowElement=r,t.offsets.arrow=(C(n={},p,Math.round(_)),C(n,d,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(U(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=$(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),r=t.placement.split("-")[0],i=j(r),o=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case Y.FLIP:s=[r,i];break;case Y.CLOCKWISE:s=W(r);break;case Y.COUNTERCLOCKWISE:s=W(r,!0);break;default:s=e.behavior}return s.forEach(function(a,u){if(r!==a||s.length===u+1)return t;r=t.placement.split("-")[0],i=j(r);var c=t.offsets.popper,l=t.offsets.reference,f=Math.floor,p="left"===r&&f(c.right)>f(l.left)||"right"===r&&f(c.left)<f(l.right)||"top"===r&&f(c.bottom)>f(l.top)||"bottom"===r&&f(c.top)<f(l.bottom),d=f(c.left)<f(n.left),h=f(c.right)>f(n.right),v=f(c.top)<f(n.top),m=f(c.bottom)>f(n.bottom),g="left"===r&&d||"right"===r&&h||"top"===r&&v||"bottom"===r&&m,y=-1!==["top","bottom"].indexOf(r),b=!!e.flipVariations&&(y&&"start"===o&&d||y&&"end"===o&&h||!y&&"start"===o&&v||!y&&"end"===o&&m);(p||g||b)&&(t.flipped=!0,(p||g)&&(r=s[u+1]),b&&(o=function(t){return"end"===t?"start":"start"===t?"end":t}(o)),t.placement=r+(o?"-"+o:""),t.offsets.popper=O({},t.offsets.popper,N(t.instance.popper,t.offsets.reference,t.placement)),t=M(t.instance.modifiers,t,"flip"))}),t},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],r=t.offsets,i=r.popper,o=r.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return i[s?"left":"top"]=o[n]-(a?i[s?"width":"height"]:0),t.placement=j(e),t.offsets.popper=S(i),t}},hide:{order:800,enabled:!0,fn:function(t){if(!H(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=I(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,r=e.y,i=t.offsets.popper,o=I(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==o?o:e.gpuAcceleration,a=A(h(t.instance.popper)),u={position:i.position},c={left:Math.floor(i.left),top:Math.round(i.top),bottom:Math.round(i.bottom),right:Math.floor(i.right)},l="bottom"===n?"top":"bottom",f="right"===r?"left":"right",p=D("transform"),d=void 0,v=void 0;if(v="bottom"===l?-a.height+c.bottom:c.top,d="right"===f?-a.width+c.right:c.left,s&&p)u[p]="translate3d("+d+"px, "+v+"px, 0)",u[l]=0,u[f]=0,u.willChange="transform";else{var m="bottom"===l?-1:1,g="right"===f?-1:1;u[l]=v*m,u[f]=d*g,u.willChange=l+", "+f}var y={"x-placement":t.placement};return t.attributes=O({},y,t.attributes),t.styles=O({},u,t.styles),t.arrowStyles=O({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return V(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach(function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)}),t.arrowElement&&Object.keys(t.arrowStyles).length&&V(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,r,i){var o=T(i,e,t,n.positionFixed),s=L(n.placement,o,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),V(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},J=function(){function t(e,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};w(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=s(this.update.bind(this)),this.options=O({},t.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(O({},t.Defaults.modifiers,i.modifiers)).forEach(function(e){r.options.modifiers[e]=O({},t.Defaults.modifiers[e]||{},i.modifiers?i.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return O({name:t},r.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&a(t.onLoad)&&t.onLoad(r.reference,r.popper,r.options,t,r.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return x(t,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=T(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=L(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=N(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=M(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,U(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[D("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=R(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return B.call(this)}}]),t}();J.Utils=("undefined"!=typeof window?window:t).PopperUtils,J.placements=q,J.Defaults=Q;var X=function(){};function Z(t){return"string"==typeof t&&(t=t.split(" ")),t}function tt(t,e){var n=Z(e),r=void 0;r=t.className instanceof X?Z(t.className.baseVal):Z(t.className),n.forEach(function(t){-1===r.indexOf(t)&&r.push(t)}),t instanceof SVGElement?t.setAttribute("class",r.join(" ")):t.className=r.join(" ")}function et(t,e){var n=Z(e),r=void 0;r=t.className instanceof X?Z(t.className.baseVal):Z(t.className),n.forEach(function(t){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}),t instanceof SVGElement?t.setAttribute("class",r.join(" ")):t.className=r.join(" ")}"undefined"!=typeof window&&(X=window.SVGAnimatedString);var nt=!1;if("undefined"!=typeof window){nt=!1;try{var rt=Object.defineProperty({},"passive",{get:function(){nt=!0}});window.addEventListener("test",null,rt)}catch(t){}}var it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ot=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},st=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),at=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},ut={container:!1,delay:0,html:!1,placement:"top",title:"",template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",offset:0},ct=[],lt=function(){function t(e,n){ot(this,t),ft.call(this),n=at({},ut,n),e.jquery&&(e=e[0]),this.reference=e,this.options=n,this._isOpen=!1,this._init()}return st(t,[{key:"setClasses",value:function(t){this._classes=t}},{key:"setContent",value:function(t){this.options.title=t,this._tooltipNode&&this._setContent(t,this.options)}},{key:"setOptions",value:function(t){var e=!1,n=t&&t.classes||_t.options.defaultClass;this._classes!==n&&(this.setClasses(n),e=!0),t=vt(t);var r=!1,i=!1;for(var o in this.options.offset===t.offset&&this.options.placement===t.placement||(r=!0),(this.options.template!==t.template||this.options.trigger!==t.trigger||this.options.container!==t.container||e)&&(i=!0),t)this.options[o]=t[o];if(this._tooltipNode)if(i){var s=this._isOpen;this.dispose(),this._init(),s&&this.show()}else r&&this.popperInstance.update()}},{key:"_init",value:function(){var t="string"==typeof this.options.trigger?this.options.trigger.split(" ").filter(function(t){return-1!==["click","hover","focus"].indexOf(t)}):[];this._isDisposed=!1,this._enableDocumentTouch=-1===t.indexOf("manual"),this._setEventListeners(this.reference,t,this.options)}},{key:"_create",value:function(t,e){var n=window.document.createElement("div");n.innerHTML=e.trim();var r=n.childNodes[0];return r.id="tooltip_"+Math.random().toString(36).substr(2,10),r.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(r.addEventListener("mouseenter",this.hide),r.addEventListener("click",this.hide)),r}},{key:"_setContent",value:function(t,e){var n=this;this.asyncContent=!1,this._applyContent(t,e).then(function(){n.popperInstance.update()})}},{key:"_applyContent",value:function(t,e){var n=this;return new Promise(function(r,i){var o=e.html,s=n._tooltipNode,a=s.querySelector(n.options.innerSelector);if(1===t.nodeType){if(o){for(;a.firstChild;)a.removeChild(a.firstChild);a.appendChild(t)}}else{if("function"==typeof t){var u=t();return void(u&&"function"==typeof u.then?(n.asyncContent=!0,e.loadingClass&&tt(s,e.loadingClass),e.loadingContent&&n._applyContent(e.loadingContent,e),u.then(function(t){return e.loadingClass&&et(s,e.loadingClass),n._applyContent(t,e)}).then(r).catch(i)):n._applyContent(u,e).then(r).catch(i))}o?a.innerHTML=t:a.innerText=t}r()})}},{key:"_show",value:function(t,e){if(e&&"string"==typeof e.container&&!document.querySelector(e.container))return;clearTimeout(this._disposeTimer),delete(e=Object.assign({},e)).offset;var n=!0;this._tooltipNode&&(tt(this._tooltipNode,this._classes),n=!1);var r=this._ensureShown(t,e);return n&&this._tooltipNode&&tt(this._tooltipNode,this._classes),tt(t,["v-tooltip-open"]),r}},{key:"_ensureShown",value:function(t,e){var n=this;if(this._isOpen)return this;if(this._isOpen=!0,ct.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(e.title,e),this;var r=t.getAttribute("title")||e.title;if(!r)return this;var i=this._create(t,e.template);this._tooltipNode=i,this._setContent(r,e),t.setAttribute("aria-describedby",i.id);var o=this._findContainer(e.container,t);this._append(i,o);var s=at({},e.popperOptions,{placement:e.placement});return s.modifiers=at({},s.modifiers,{arrow:{element:this.options.arrowSelector}}),e.boundariesElement&&(s.modifiers.preventOverflow={boundariesElement:e.boundariesElement}),this.popperInstance=new J(t,i,s),requestAnimationFrame(function(){!n._isDisposed&&n.popperInstance?(n.popperInstance.update(),requestAnimationFrame(function(){n._isDisposed?n.dispose():n._isOpen&&i.setAttribute("aria-hidden","false")})):n.dispose()}),this}},{key:"_noLongerOpen",value:function(){var t=ct.indexOf(this);-1!==t&&ct.splice(t,1)}},{key:"_hide",value:function(){var t=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var e=_t.options.disposeTimeout;return null!==e&&(this._disposeTimer=setTimeout(function(){t._tooltipNode&&(t._tooltipNode.removeEventListener("mouseenter",t.hide),t._tooltipNode.removeEventListener("click",t.hide),t._tooltipNode.parentNode.removeChild(t._tooltipNode),t._tooltipNode=null)},e)),et(this.reference,["v-tooltip-open"]),this}},{key:"_dispose",value:function(){var t=this;return this._isDisposed=!0,this._events.forEach(function(e){var n=e.func,r=e.event;t.reference.removeEventListener(r,n)}),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||(this._tooltipNode.parentNode.removeChild(this._tooltipNode),this._tooltipNode=null)):this._noLongerOpen(),this}},{key:"_findContainer",value:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t}},{key:"_append",value:function(t,e){e.appendChild(t)}},{key:"_setEventListeners",value:function(t,e,n){var r=this,i=[],o=[];e.forEach(function(t){switch(t){case"hover":i.push("mouseenter"),o.push("mouseleave"),r.options.hideOnTargetClick&&o.push("click");break;case"focus":i.push("focus"),o.push("blur"),r.options.hideOnTargetClick&&o.push("click");break;case"click":i.push("click"),o.push("click")}}),i.forEach(function(e){var i=function(e){!0!==r._isOpen&&(e.usedByTooltip=!0,r._scheduleShow(t,n.delay,n,e))};r._events.push({event:e,func:i}),t.addEventListener(e,i)}),o.forEach(function(e){var i=function(e){!0!==e.usedByTooltip&&r._scheduleHide(t,n.delay,n,e)};r._events.push({event:e,func:i}),t.addEventListener(e,i)})}},{key:"_onDocumentTouch",value:function(t){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,t)}},{key:"_scheduleShow",value:function(t,e,n){var r=this,i=e&&e.show||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){return r._show(t,n)},i)}},{key:"_scheduleHide",value:function(t,e,n,r){var i=this,o=e&&e.hide||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){if(!1!==i._isOpen&&document.body.contains(i._tooltipNode)){if("mouseleave"===r.type)if(i._setTooltipNodeEvent(r,t,e,n))return;i._hide(t,n)}},o)}}]),t}(),ft=function(){var t=this;this.show=function(){t._show(t.reference,t.options)},this.hide=function(){t._hide()},this.dispose=function(){t._dispose()},this.toggle=function(){return t._isOpen?t.hide():t.show()},this._events=[],this._setTooltipNodeEvent=function(e,n,r,i){var o=e.relatedreference||e.toElement||e.relatedTarget;return!!t._tooltipNode.contains(o)&&(t._tooltipNode.addEventListener(e.type,function r(o){var s=o.relatedreference||o.toElement||o.relatedTarget;t._tooltipNode.removeEventListener(e.type,r),n.contains(s)||t._scheduleHide(n,i.delay,i,o)}),!0)}};"undefined"!=typeof document&&document.addEventListener("touchstart",function(t){for(var e=0;e<ct.length;e++)ct[e]._onDocumentTouch(t)},!nt||{passive:!0,capture:!0});var pt={enabled:!0},dt=["top","top-start","top-end","right","right-start","right-end","bottom","bottom-start","bottom-end","left","left-start","left-end"],ht={defaultPlacement:"top",defaultClass:"vue-tooltip-theme",defaultTargetClass:"has-tooltip",defaultHtml:!0,defaultTemplate:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function vt(t){var e={placement:void 0!==t.placement?t.placement:_t.options.defaultPlacement,delay:void 0!==t.delay?t.delay:_t.options.defaultDelay,html:void 0!==t.html?t.html:_t.options.defaultHtml,template:void 0!==t.template?t.template:_t.options.defaultTemplate,arrowSelector:void 0!==t.arrowSelector?t.arrowSelector:_t.options.defaultArrowSelector,innerSelector:void 0!==t.innerSelector?t.innerSelector:_t.options.defaultInnerSelector,trigger:void 0!==t.trigger?t.trigger:_t.options.defaultTrigger,offset:void 0!==t.offset?t.offset:_t.options.defaultOffset,container:void 0!==t.container?t.container:_t.options.defaultContainer,boundariesElement:void 0!==t.boundariesElement?t.boundariesElement:_t.options.defaultBoundariesElement,autoHide:void 0!==t.autoHide?t.autoHide:_t.options.autoHide,hideOnTargetClick:void 0!==t.hideOnTargetClick?t.hideOnTargetClick:_t.options.defaultHideOnTargetClick,loadingClass:void 0!==t.loadingClass?t.loadingClass:_t.options.defaultLoadingClass,loadingContent:void 0!==t.loadingContent?t.loadingContent:_t.options.defaultLoadingContent,popperOptions:at({},void 0!==t.popperOptions?t.popperOptions:_t.options.defaultPopperOptions)};if(e.offset){var n=it(e.offset),r=e.offset;("number"===n||"string"===n&&-1===r.indexOf(","))&&(r="0, "+r),e.popperOptions.modifiers||(e.popperOptions.modifiers={}),e.popperOptions.modifiers.offset={offset:r}}return e}function mt(t,e){for(var n=t.placement,r=0;r<dt.length;r++){var i=dt[r];e[i]&&(n=i)}return n}function gt(t){var e=void 0===t?"undefined":it(t);return"string"===e?t:!(!t||"object"!==e)&&t.content}function yt(t){t._tooltip&&(t._tooltip.dispose(),delete t._tooltip,delete t._tooltipOldShow),t._tooltipTargetClasses&&(et(t,t._tooltipTargetClasses),delete t._tooltipTargetClasses)}function bt(t,e){var n=e.value,r=(e.oldValue,e.modifiers),i=gt(n);if(i&&pt.enabled){var o=void 0;t._tooltip?((o=t._tooltip).setContent(i),o.setOptions(at({},n,{placement:mt(n,r)}))):o=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=gt(e),i=void 0!==e.classes?e.classes:_t.options.defaultClass,o=at({title:r},vt(at({},e,{placement:mt(e,n)}))),s=t._tooltip=new lt(t,o);s.setClasses(i),s._vueEl=t;var a=void 0!==e.targetClasses?e.targetClasses:_t.options.defaultTargetClass;return t._tooltipTargetClasses=a,tt(t,a),s}(t,n,r),void 0!==n.show&&n.show!==t._tooltipOldShow&&(t._tooltipOldShow=n.show,n.show?o.show():o.hide())}else yt(t)}var _t={options:ht,bind:bt,update:bt,unbind:function(t){yt(t)}};function wt(t){t.addEventListener("click",Ct),t.addEventListener("touchstart",Ot,!!nt&&{passive:!0})}function xt(t){t.removeEventListener("click",Ct),t.removeEventListener("touchstart",Ot),t.removeEventListener("touchend",St),t.removeEventListener("touchcancel",At)}function Ct(t){var e=t.currentTarget;t.closePopover=!e.$_vclosepopover_touch,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function Ot(t){if(1===t.changedTouches.length){var e=t.currentTarget;e.$_vclosepopover_touch=!0;var n=t.changedTouches[0];e.$_vclosepopover_touchPoint=n,e.addEventListener("touchend",St),e.addEventListener("touchcancel",At)}}function St(t){var e=t.currentTarget;if(e.$_vclosepopover_touch=!1,1===t.changedTouches.length){var n=t.changedTouches[0],r=e.$_vclosepopover_touchPoint;t.closePopover=Math.abs(n.screenY-r.screenY)<20&&Math.abs(n.screenX-r.screenX)<20,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function At(t){t.currentTarget.$_vclosepopover_touch=!1}var kt={bind:function(t,e){var n=e.value,r=e.modifiers;t.$_closePopoverModifiers=r,(void 0===n||n)&&wt(t)},update:function(t,e){var n=e.value,r=e.oldValue,i=e.modifiers;t.$_closePopoverModifiers=i,n!==r&&(void 0===n||n?wt(t):xt(t))},unbind:function(t){xt(t)}};var Et=void 0;function $t(){$t.init||($t.init=!0,Et=-1!==function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var n=t.indexOf("rv:");return parseInt(t.substring(n+3,t.indexOf(".",n)),10)}var r=t.indexOf("Edge/");return r>0?parseInt(t.substring(r+5,t.indexOf(".",r)),10):-1}())}var Lt={render:function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{notify:function(){this.$emit("notify")},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.notify),this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||this.notify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!Et&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.notify),delete this._resizeObject.onload)}},mounted:function(){var t=this;$t(),this.$nextTick(function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight});var e=document.createElement("object");this._resizeObject=e,e.setAttribute("style","display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;"),e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",Et&&this.$el.appendChild(e),e.data="about:blank",Et||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()}};var Tt={version:"0.4.4",install:function(t){t.component("resize-observer",Lt)}},Pt=null;function jt(t){var e=_t.options.popover[t];return void 0===e?_t.options[t]:e}"undefined"!=typeof window?Pt=window.Vue:void 0!==t&&(Pt=t.Vue),Pt&&Pt.use(Tt);var Nt=!1;"undefined"!=typeof window&&"undefined"!=typeof navigator&&(Nt=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);var It=[],Mt=function(){};"undefined"!=typeof window&&(Mt=window.Element);var Ut={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"v-popover",class:t.cssClass},[n("span",{ref:"trigger",staticClass:"trigger",staticStyle:{display:"inline-block"},attrs:{"aria-describedby":t.popoverId,tabindex:-1!==t.trigger.indexOf("focus")?0:-1}},[t._t("default")],2),t._v(" "),n("div",{ref:"popover",class:[t.popoverBaseClass,t.popoverClass,t.cssClass],style:{visibility:t.isOpen?"visible":"hidden"},attrs:{id:t.popoverId,"aria-hidden":t.isOpen?"false":"true"}},[n("div",{class:t.popoverWrapperClass},[n("div",{ref:"inner",class:t.popoverInnerClass,staticStyle:{position:"relative"}},[n("div",[t._t("popover")],2),t._v(" "),t.handleResize?n("ResizeObserver",{on:{notify:t.$_handleResize}}):t._e()],1),t._v(" "),n("div",{ref:"arrow",class:t.popoverArrowClass})])])])},staticRenderFns:[],name:"VPopover",components:{ResizeObserver:Lt},props:{open:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placement:{type:String,default:function(){return jt("defaultPlacement")}},delay:{type:[String,Number,Object],default:function(){return jt("defaultDelay")}},offset:{type:[String,Number],default:function(){return jt("defaultOffset")}},trigger:{type:String,default:function(){return jt("defaultTrigger")}},container:{type:[String,Object,Mt],default:function(){return jt("defaultContainer")}},boundariesElement:{type:Mt,default:function(){return jt("defaultBoundariesElement")}},popperOptions:{type:Object,default:function(){return jt("defaultPopperOptions")}},popoverClass:{type:[String,Array],default:function(){return jt("defaultClass")}},popoverBaseClass:{type:[String,Array],default:function(){return _t.options.popover.defaultBaseClass}},popoverInnerClass:{type:[String,Array],default:function(){return _t.options.popover.defaultInnerClass}},popoverWrapperClass:{type:[String,Array],default:function(){return _t.options.popover.defaultWrapperClass}},popoverArrowClass:{type:[String,Array],default:function(){return _t.options.popover.defaultArrowClass}},autoHide:{type:Boolean,default:function(){return _t.options.popover.defaultAutoHide}},handleResize:{type:Boolean,default:function(){return _t.options.popover.defaultHandleResize}},openGroup:{type:String,default:null}},data:function(){return{isOpen:!1,id:Math.random().toString(36).substr(2,10)}},computed:{cssClass:function(){return{open:this.isOpen}},popoverId:function(){return"popover_"+this.id}},watch:{open:function(t){t?this.show():this.hide()},disabled:function(t,e){t!==e&&(t?this.hide():this.open&&this.show())},container:function(t){if(this.isOpen&&this.popperInstance){var e=this.$refs.popover,n=this.$refs.trigger,r=this.$_findContainer(this.container,n);if(!r)return void console.warn("No container for popover",this);r.appendChild(e),this.popperInstance.scheduleUpdate()}},trigger:function(t){this.$_removeEventListeners(),this.$_addEventListeners()},placement:function(t){var e=this;this.$_updatePopper(function(){e.popperInstance.options.placement=t})},offset:"$_restartPopper",boundariesElement:"$_restartPopper",popperOptions:{handler:"$_restartPopper",deep:!0}},created:function(){this.$_isDisposed=!1,this.$_mounted=!1,this.$_events=[],this.$_preventOpen=!1},mounted:function(){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t),this.$_init(),this.open&&this.show()},beforeDestroy:function(){this.dispose()},methods:{show:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.event,r=(e.skipDelay,e.force);!(void 0!==r&&r)&&this.disabled||(this.$_scheduleShow(n),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame(function(){t.$_beingShowed=!1})},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.event;t.skipDelay;this.$_scheduleHide(e),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var t=this,e=this.$refs.trigger,n=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var r=this.$_findContainer(this.container,e);if(!r)return void console.warn("No container for popover",this);r.appendChild(n),this.$_mounted=!0}if(!this.popperInstance){var i=at({},this.popperOptions,{placement:this.placement});if(i.modifiers=at({},i.modifiers,{arrow:{element:this.$refs.arrow}}),this.offset){var o=this.$_getOffset();i.modifiers.offset={offset:o}}this.boundariesElement&&(i.modifiers.preventOverflow={boundariesElement:this.boundariesElement}),this.popperInstance=new J(e,n,i),requestAnimationFrame(function(){!t.$_isDisposed&&t.popperInstance?(t.popperInstance.scheduleUpdate(),requestAnimationFrame(function(){t.$_isDisposed?t.dispose():t.isOpen=!0})):t.dispose()})}var s=this.openGroup;if(s)for(var a=void 0,u=0;u<It.length;u++)(a=It[u]).openGroup!==s&&(a.hide(),a.$emit("close-group"));It.push(this),this.$emit("apply-show")}},$_hide:function(){var t=this;if(this.isOpen){var e=It.indexOf(this);-1!==e&&It.splice(e,1),this.isOpen=!1,this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this.$_disposeTimer);var n=_t.options.popover.disposeTimeout||_t.options.disposeTimeout;null!==n&&(this.$_disposeTimer=setTimeout(function(){var e=t.$refs.popover;e&&(e.parentNode&&e.parentNode.removeChild(e),t.$_mounted=!1)},n)),this.$emit("apply-hide")}},$_findContainer:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t},$_getOffset:function(){var t=it(this.offset),e=this.offset;return("number"===t||"string"===t&&-1===e.indexOf(","))&&(e="0, "+e),e},$_addEventListeners:function(){var t=this,e=this.$refs.trigger,n=[],r=[];("string"==typeof this.trigger?this.trigger.split(" ").filter(function(t){return-1!==["click","hover","focus"].indexOf(t)}):[]).forEach(function(t){switch(t){case"hover":n.push("mouseenter"),r.push("mouseleave");break;case"focus":n.push("focus"),r.push("blur");break;case"click":n.push("click"),r.push("click")}}),n.forEach(function(n){var r=function(e){t.isOpen||(e.usedByTooltip=!0,!t.$_preventOpen&&t.show({event:e}))};t.$_events.push({event:n,func:r}),e.addEventListener(n,r)}),r.forEach(function(n){var r=function(e){e.usedByTooltip||t.hide({event:e})};t.$_events.push({event:n,func:r}),e.addEventListener(n,r)})},$_scheduleShow:function(){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),t)this.$_show();else{var e=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),e)}},$_scheduleHide:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),n)this.$_hide();else{var r=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout(function(){if(t.isOpen){if(e&&"mouseleave"===e.type)if(t.$_setTooltipNodeEvent(e))return;t.$_hide()}},r)}},$_setTooltipNodeEvent:function(t){var e=this,n=this.$refs.trigger,r=this.$refs.popover,i=t.relatedreference||t.toElement||t.relatedTarget;return!!r.contains(i)&&(r.addEventListener(t.type,function i(o){var s=o.relatedreference||o.toElement||o.relatedTarget;r.removeEventListener(t.type,i),n.contains(s)||e.hide({event:o})}),!0)},$_removeEventListeners:function(){var t=this.$refs.trigger;this.$_events.forEach(function(e){var n=e.func,r=e.event;t.removeEventListener(r,n)}),this.$_events=[]},$_updatePopper:function(t){this.popperInstance&&(t(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var t=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),t&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:t}),t.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),n&&(this.$_preventOpen=!0,setTimeout(function(){e.$_preventOpen=!1},300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function Dt(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];requestAnimationFrame(function(){for(var n=void 0,r=0;r<It.length;r++)if((n=It[r]).$refs.popover){var i=n.$refs.popover.contains(t.target);(t.closeAllPopover||t.closePopover&&i||n.autoHide&&!i)&&n.$_handleGlobalClose(t,e)}})}"undefined"!=typeof document&&"undefined"!=typeof window&&(Nt?document.addEventListener("touchend",function(t){Dt(t,!0)},!nt||{passive:!0,capture:!0}):window.addEventListener("click",function(t){Dt(t)},!0));var Ft="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{};var Rt,Bt=(function(t,e){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",u="[object AsyncFunction]",c="[object Function]",l="[object GeneratorFunction]",f="[object Null]",p="[object Object]",d="[object Proxy]",h="[object Undefined]",v=/^\[object .+?Constructor\]$/,m=/^(?:0|[1-9]\d*)$/,g={};g["[object Float32Array]"]=g["[object Float64Array]"]=g["[object Int8Array]"]=g["[object Int16Array]"]=g["[object Int32Array]"]=g["[object Uint8Array]"]=g["[object Uint8ClampedArray]"]=g["[object Uint16Array]"]=g["[object Uint32Array]"]=!0,g[a]=g["[object Array]"]=g["[object ArrayBuffer]"]=g["[object Boolean]"]=g["[object DataView]"]=g["[object Date]"]=g["[object Error]"]=g[c]=g["[object Map]"]=g["[object Number]"]=g[p]=g["[object RegExp]"]=g["[object Set]"]=g["[object String]"]=g["[object WeakMap]"]=!1;var y="object"==typeof Ft&&Ft&&Ft.Object===Object&&Ft,b="object"==typeof self&&self&&self.Object===Object&&self,_=y||b||Function("return this")(),w=e&&!e.nodeType&&e,x=w&&t&&!t.nodeType&&t,C=x&&x.exports===w,O=C&&y.process,S=function(){try{return O&&O.binding&&O.binding("util")}catch(t){}}(),A=S&&S.isTypedArray;function k(t,e){return"__proto__"==e?void 0:t[e]}var E,$,L,T=Array.prototype,P=Function.prototype,j=Object.prototype,N=_["__core-js_shared__"],I=P.toString,M=j.hasOwnProperty,U=(E=/[^.]+$/.exec(N&&N.keys&&N.keys.IE_PROTO||""))?"Symbol(src)_1."+E:"",D=j.toString,F=I.call(Object),R=RegExp("^"+I.call(M).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),B=C?_.Buffer:void 0,G=_.Symbol,V=_.Uint8Array,H=B?B.allocUnsafe:void 0,q=($=Object.getPrototypeOf,L=Object,function(t){return $(L(t))}),z=Object.create,W=j.propertyIsEnumerable,Y=T.splice,K=G?G.toStringTag:void 0,Q=function(){try{var t=wt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),J=B?B.isBuffer:void 0,X=Math.max,Z=Date.now,tt=wt(_,"Map"),et=wt(Object,"create"),nt=function(){function t(){}return function(e){if(!Pt(e))return{};if(z)return z(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();function rt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function it(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function ot(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function st(t){var e=this.__data__=new it(t);this.size=e.size}function at(t,e){var n=kt(t),r=!n&&At(t),i=!n&&!r&&$t(t),o=!n&&!r&&!i&&Nt(t),s=n||r||i||o,a=s?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],u=a.length;for(var c in t)!e&&!M.call(t,c)||s&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||xt(c,u))||a.push(c);return a}function ut(t,e,n){(void 0===n||St(t[e],n))&&(void 0!==n||e in t)||ft(t,e,n)}function ct(t,e,n){var r=t[e];M.call(t,e)&&St(r,n)&&(void 0!==n||e in t)||ft(t,e,n)}function lt(t,e){for(var n=t.length;n--;)if(St(t[n][0],e))return n;return-1}function ft(t,e,n){"__proto__"==e&&Q?Q(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}rt.prototype.clear=function(){this.__data__=et?et(null):{},this.size=0},rt.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},rt.prototype.get=function(t){var e=this.__data__;if(et){var n=e[t];return n===r?void 0:n}return M.call(e,t)?e[t]:void 0},rt.prototype.has=function(t){var e=this.__data__;return et?void 0!==e[t]:M.call(e,t)},rt.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=et&&void 0===e?r:e,this},it.prototype.clear=function(){this.__data__=[],this.size=0},it.prototype.delete=function(t){var e=this.__data__,n=lt(e,t);return!(n<0||(n==e.length-1?e.pop():Y.call(e,n,1),--this.size,0))},it.prototype.get=function(t){var e=this.__data__,n=lt(e,t);return n<0?void 0:e[n][1]},it.prototype.has=function(t){return lt(this.__data__,t)>-1},it.prototype.set=function(t,e){var n=this.__data__,r=lt(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},ot.prototype.clear=function(){this.size=0,this.__data__={hash:new rt,map:new(tt||it),string:new rt}},ot.prototype.delete=function(t){var e=_t(this,t).delete(t);return this.size-=e?1:0,e},ot.prototype.get=function(t){return _t(this,t).get(t)},ot.prototype.has=function(t){return _t(this,t).has(t)},ot.prototype.set=function(t,e){var n=_t(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},st.prototype.clear=function(){this.__data__=new it,this.size=0},st.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},st.prototype.get=function(t){return this.__data__.get(t)},st.prototype.has=function(t){return this.__data__.has(t)},st.prototype.set=function(t,e){var r=this.__data__;if(r instanceof it){var i=r.__data__;if(!tt||i.length<n-1)return i.push([t,e]),this.size=++r.size,this;r=this.__data__=new ot(i)}return r.set(t,e),this.size=r.size,this};var pt,dt=function(t,e,n){for(var r=-1,i=Object(t),o=n(t),s=o.length;s--;){var a=o[pt?s:++r];if(!1===e(i[a],a,i))break}return t};function ht(t){return null==t?void 0===t?h:f:K&&K in Object(t)?function(t){var e=M.call(t,K),n=t[K];try{t[K]=void 0;var r=!0}catch(t){}var i=D.call(t);r&&(e?t[K]=n:delete t[K]);return i}(t):function(t){return D.call(t)}(t)}function vt(t){return jt(t)&&ht(t)==a}function mt(t){return!(!Pt(t)||U&&U in t)&&(Lt(t)?R:v).test(function(t){if(null!=t){try{return I.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t))}function gt(t){if(!Pt(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=Ct(t),n=[];for(var r in t)("constructor"!=r||!e&&M.call(t,r))&&n.push(r);return n}function yt(t,e,n,r,i){t!==e&&dt(e,function(o,s){if(Pt(o))i||(i=new st),function(t,e,n,r,i,o,s){var a=k(t,n),u=k(e,n),c=s.get(u);if(c)return void ut(t,n,c);var l=o?o(a,u,n+"",t,e,s):void 0,f=void 0===l;if(f){var d=kt(u),h=!d&&$t(u),v=!d&&!h&&Nt(u);l=u,d||h||v?kt(a)?l=a:jt(_=a)&&Et(_)?l=function(t,e){var n=-1,r=t.length;e||(e=Array(r));for(;++n<r;)e[n]=t[n];return e}(a):h?(f=!1,l=function(t,e){if(e)return t.slice();var n=t.length,r=H?H(n):new t.constructor(n);return t.copy(r),r}(u,!0)):v?(f=!1,m=u,g=!0?(y=m.buffer,b=new y.constructor(y.byteLength),new V(b).set(new V(y)),b):m.buffer,l=new m.constructor(g,m.byteOffset,m.length)):l=[]:function(t){if(!jt(t)||ht(t)!=p)return!1;var e=q(t);if(null===e)return!0;var n=M.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&I.call(n)==F}(u)||At(u)?(l=a,At(a)?l=function(t){return function(t,e,n,r){var i=!n;n||(n={});var o=-1,s=e.length;for(;++o<s;){var a=e[o],u=r?r(n[a],t[a],a,n,t):void 0;void 0===u&&(u=t[a]),i?ft(n,a,u):ct(n,a,u)}return n}(t,It(t))}(a):(!Pt(a)||r&&Lt(a))&&(l=function(t){return"function"!=typeof t.constructor||Ct(t)?{}:nt(q(t))}(u))):f=!1}var m,g,y,b;var _;f&&(s.set(u,l),i(l,u,r,o,s),s.delete(u));ut(t,n,l)}(t,e,s,n,yt,r,i);else{var a=r?r(k(t,s),o,s+"",t,e,i):void 0;void 0===a&&(a=o),ut(t,s,a)}},It)}function bt(t,e){return Ot(function(t,e,n){return e=X(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=X(r.length-e,0),s=Array(o);++i<o;)s[i]=r[e+i];i=-1;for(var a=Array(e+1);++i<e;)a[i]=r[i];return a[e]=n(s),function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}(t,this,a)}}(t,e,Dt),t+"")}function _t(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function wt(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return mt(n)?n:void 0}function xt(t,e){var n=typeof t;return!!(e=null==e?s:e)&&("number"==n||"symbol"!=n&&m.test(t))&&t>-1&&t%1==0&&t<e}function Ct(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||j)}var Ot=function(t){var e=0,n=0;return function(){var r=Z(),s=o-(r-n);if(n=r,s>0){if(++e>=i)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Q?function(t,e){return Q(t,"toString",{configurable:!0,enumerable:!1,value:(n=e,function(){return n}),writable:!0});var n}:Dt);function St(t,e){return t===e||t!=t&&e!=e}var At=vt(function(){return arguments}())?vt:function(t){return jt(t)&&M.call(t,"callee")&&!W.call(t,"callee")},kt=Array.isArray;function Et(t){return null!=t&&Tt(t.length)&&!Lt(t)}var $t=J||function(){return!1};function Lt(t){if(!Pt(t))return!1;var e=ht(t);return e==c||e==l||e==u||e==d}function Tt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=s}function Pt(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function jt(t){return null!=t&&"object"==typeof t}var Nt=A?function(t){return function(e){return t(e)}}(A):function(t){return jt(t)&&Tt(t.length)&&!!g[ht(t)]};function It(t){return Et(t)?at(t,!0):gt(t)}var Mt,Ut=(Mt=function(t,e,n){yt(t,e,n)},bt(function(t,e){var n=-1,r=e.length,i=r>1?e[r-1]:void 0,o=r>2?e[2]:void 0;for(i=Mt.length>3&&"function"==typeof i?(r--,i):void 0,o&&function(t,e,n){if(!Pt(n))return!1;var r=typeof e;return!!("number"==r?Et(n)&&xt(e,n.length):"string"==r&&e in n)&&St(n[e],t)}(e[0],e[1],o)&&(i=r<3?void 0:i,r=1),t=Object(t);++n<r;){var s=e[n];s&&Mt(t,s,n,i)}return t}));function Dt(t){return t}t.exports=Ut}(Rt={exports:{}},Rt.exports),Rt.exports);var Gt={install:function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t.installed){t.installed=!0;var r={};Bt(r,ht,n),Gt.options=r,_t.options=r,e.directive("tooltip",_t),e.directive("close-popover",kt),e.component("v-popover",Ut)}},get enabled(){return pt.enabled},set enabled(t){pt.enabled=t}},Vt=null;"undefined"!=typeof window?Vt=window.Vue:void 0!==t&&(Vt=t.Vue),Vt&&Vt.use(Gt),e.a=Gt}).call(this,n(52))},function(t,e){function n(t,e){var r={name:t.name,path:t.path,hash:t.hash,query:t.query,params:t.params,fullPath:t.fullPath,meta:t.meta};return e&&(r.from=n(e)),Object.freeze(r)}e.sync=function(t,e,r){var i=(r||{}).moduleName||"route";t.registerModule(i,{namespaced:!0,state:n(e.currentRoute),mutations:{ROUTE_CHANGED:function(e,r){t.state[i]=n(r.to,r.from)}}});var o,s=!1,a=t.watch(function(t){return t[i]},function(t){var n=t.fullPath;n!==o&&(null!=o&&(s=!0,e.push(t)),o=n)},{sync:!0}),u=e.afterEach(function(e,n){s?s=!1:(o=e.fullPath,t.commit(i+"/ROUTE_CHANGED",{to:e,from:n}))});return function(){null!=u&&u(),null!=a&&a(),t.unregisterModule(i)}}},function(e,n,r){"use strict";r.r(n);var i=r(2),o=r(108),s=function(){var t=this.$createElement;return(this._self._c||t)("router-view")};function a(t,e,n,r,i,o,s,a){var u,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),s?(u=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},c._ssrRegister=u):i&&(u=a?function(){i.call(this,this.$root.$options.shadowRoot)}:i),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(t,e){return u.call(e),l(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:c}}s._withStripped=!0;var u=a({name:"App",beforeMount:function(){null!==document.getElementById("serverData")&&this.$store.commit("setServerData",JSON.parse(document.getElementById("serverData").dataset.server))}},s,[],!1,null,null,null);u.options.__file="src/App.vue";var c=u.exports; +var n="undefined"!=typeof window&&"undefined"!=typeof document,r=["Edge","Trident","Firefox"],i=0,o=0;o<r.length;o+=1)if(n&&navigator.userAgent.indexOf(r[o])>=0){i=1;break}var s=n&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},i))}};function a(t){return t&&"[object Function]"==={}.toString.call(t)}function u(t,e){if(1!==t.nodeType)return[];var n=getComputedStyle(t,null);return e?n[e]:n}function c(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function l(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=u(t),n=e.overflow,r=e.overflowX,i=e.overflowY;return/(auto|scroll|overlay)/.test(n+i+r)?t:l(c(t))}var f=n&&!(!window.MSInputMethodContext||!document.documentMode),p=n&&/MSIE 10/.test(navigator.userAgent);function d(t){return 11===t?f:10===t?p:f||p}function h(t){if(!t)return document.documentElement;for(var e=d(10)?document.body:null,n=t.offsetParent;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TD","TABLE"].indexOf(n.nodeName)&&"static"===u(n,"position")?h(n):n:t?t.ownerDocument.documentElement:document.documentElement}function v(t){return null!==t.parentNode?v(t.parentNode):t}function m(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?t:e,i=n?e:t,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var s,a,u=o.commonAncestorContainer;if(t!==u&&e!==u||r.contains(i))return"BODY"===(a=(s=u).nodeName)||"HTML"!==a&&h(s.firstElementChild)!==s?h(u):u;var c=v(t);return c.host?m(c.host,e):m(t,v(e).host)}function g(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var r=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||r)[e]}return t[e]}function y(t,e){var n="x"===e?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+r+"Width"],10)}function b(t,e,n,r){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],d(10)?n["offset"+t]+r["margin"+("Height"===t?"Top":"Left")]+r["margin"+("Height"===t?"Bottom":"Right")]:0)}function _(){var t=document.body,e=document.documentElement,n=d(10)&&getComputedStyle(e);return{height:b("Height",t,e,n),width:b("Width",t,e,n)}}var w=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},x=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),C=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},O=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t};function S(t){return O({},t,{right:t.left+t.width,bottom:t.top+t.height})}function A(t){var e={};try{if(d(10)){e=t.getBoundingClientRect();var n=g(t,"top"),r=g(t,"left");e.top+=n,e.left+=r,e.bottom+=n,e.right+=r}else e=t.getBoundingClientRect()}catch(t){}var i={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},o="HTML"===t.nodeName?_():{},s=o.width||t.clientWidth||i.right-i.left,a=o.height||t.clientHeight||i.bottom-i.top,c=t.offsetWidth-s,l=t.offsetHeight-a;if(c||l){var f=u(t);c-=y(f,"x"),l-=y(f,"y"),i.width-=c,i.height-=l}return S(i)}function k(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=d(10),i="HTML"===e.nodeName,o=A(t),s=A(e),a=l(t),c=u(e),f=parseFloat(c.borderTopWidth,10),p=parseFloat(c.borderLeftWidth,10);n&&"HTML"===e.nodeName&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var h=S({top:o.top-s.top-f,left:o.left-s.left-p,width:o.width,height:o.height});if(h.marginTop=0,h.marginLeft=0,!r&&i){var v=parseFloat(c.marginTop,10),m=parseFloat(c.marginLeft,10);h.top-=f-v,h.bottom-=f-v,h.left-=p-m,h.right-=p-m,h.marginTop=v,h.marginLeft=m}return(r&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(h=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=g(e,"top"),i=g(e,"left"),o=n?-1:1;return t.top+=r*o,t.bottom+=r*o,t.left+=i*o,t.right+=i*o,t}(h,e)),h}function E(t){if(!t||!t.parentElement||d())return document.documentElement;for(var e=t.parentElement;e&&"none"===u(e,"transform");)e=e.parentElement;return e||document.documentElement}function $(t,e,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},s=i?E(t):m(t,e);if("viewport"===r)o=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,r=k(t,n),i=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:g(n),a=e?0:g(n,"left");return S({top:s-r.top+r.marginTop,left:a-r.left+r.marginLeft,width:i,height:o})}(s,i);else{var a=void 0;"scrollParent"===r?"BODY"===(a=l(c(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===r?t.ownerDocument.documentElement:r;var f=k(a,s,i);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===u(e,"position")||t(c(e)))}(s))o=f;else{var p=_(),d=p.height,h=p.width;o.top+=f.top-f.marginTop,o.bottom=d+f.top,o.left+=f.left-f.marginLeft,o.right=h+f.left}}return o.left+=n,o.top+=n,o.right-=n,o.bottom-=n,o}function L(t,e,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=$(n,r,o,i),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},u=Object.keys(a).map(function(t){return O({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e}).sort(function(t,e){return e.area-t.area}),c=u.filter(function(t){var e=t.width,r=t.height;return e>=n.clientWidth&&r>=n.clientHeight}),l=c.length>0?c[0].key:u[0].key,f=t.split("-")[1];return l+(f?"-"+f:"")}function T(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return k(n,r?E(e):m(e,n),r)}function P(t){var e=getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),r=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+r,height:t.offsetHeight+n}}function j(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function N(t,e,n){n=n.split("-")[0];var r=P(t),i={width:r.width,height:r.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",u=o?"height":"width",c=o?"width":"height";return i[s]=e[s]+e[u]/2-r[u]/2,i[a]=n===a?e[a]-r[c]:e[j(a)],i}function I(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function M(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var r=I(t,function(t){return t[e]===n});return t.indexOf(r)}(t,"name",n))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&a(n)&&(e.offsets.popper=S(e.offsets.popper),e.offsets.reference=S(e.offsets.reference),e=n(e,t))}),e}function U(t,e){return t.some(function(t){var n=t.name;return t.enabled&&n===e})}function D(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),r=0;r<e.length;r++){var i=e[r],o=i?""+i+n:t;if(void 0!==document.body.style[o])return o}return null}function F(t){var e=t.ownerDocument;return e?e.defaultView:window}function R(t,e,n,r){n.updateBound=r,F(t).addEventListener("resize",n.updateBound,{passive:!0});var i=l(t);return function t(e,n,r,i){var o="BODY"===e.nodeName,s=o?e.ownerDocument.defaultView:e;s.addEventListener(n,r,{passive:!0}),o||t(l(s.parentNode),n,r,i),i.push(s)}(i,"scroll",n.updateBound,n.scrollParents),n.scrollElement=i,n.eventsEnabled=!0,n}function B(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,F(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function G(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function V(t,e){Object.keys(e).forEach(function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&G(e[n])&&(r="px"),t.style[n]=e[n]+r})}function H(t,e,n){var r=I(t,function(t){return t.name===e}),i=!!r&&t.some(function(t){return t.name===n&&t.enabled&&t.order<r.order});if(!i){var o="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return i}var q=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],z=q.slice(3);function W(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=z.indexOf(t),r=z.slice(n+1).concat(z.slice(0,n));return e?r.reverse():r}var Y={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function K(t,e,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),s=t.split(/(\+|\-)/).map(function(t){return t.trim()}),a=s.indexOf(I(s,function(t){return-1!==t.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(u)[0]]),[s[a].split(u)[1]].concat(s.slice(a+1))]:[s];return(c=c.map(function(t,r){var i=(1===r?!o:o)?"height":"width",s=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,n,r){var i=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],s=i[2];if(!o)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=r}return S(a)[e]/100*o}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(t,i,e,n)})})).forEach(function(t,e){t.forEach(function(n,r){G(n)&&(i[e]+=n*("-"===t[r-1]?-1:1))})}),i}var Q={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],r=e.split("-")[1];if(r){var i=t.offsets,o=i.reference,s=i.popper,a=-1!==["bottom","top"].indexOf(n),u=a?"left":"top",c=a?"width":"height",l={start:C({},u,o[u]),end:C({},u,o[u]+o[c]-s[c])};t.offsets.popper=O({},s,l[r])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,r=t.placement,i=t.offsets,o=i.popper,s=i.reference,a=r.split("-")[0],u=void 0;return u=G(+n)?[+n,0]:K(n,o,s,a),"left"===a?(o.top+=u[0],o.left-=u[1]):"right"===a?(o.top+=u[0],o.left+=u[1]):"top"===a?(o.left+=u[0],o.top-=u[1]):"bottom"===a&&(o.left+=u[0],o.top+=u[1]),t.popper=o,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||h(t.instance.popper);t.instance.reference===n&&(n=h(n));var r=D("transform"),i=t.instance.popper.style,o=i.top,s=i.left,a=i[r];i.top="",i.left="",i[r]="";var u=$(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);i.top=o,i.left=s,i[r]=a,e.boundaries=u;var c=e.priority,l=t.offsets.popper,f={primary:function(t){var n=l[t];return l[t]<u[t]&&!e.escapeWithReference&&(n=Math.max(l[t],u[t])),C({},t,n)},secondary:function(t){var n="right"===t?"left":"top",r=l[n];return l[t]>u[t]&&!e.escapeWithReference&&(r=Math.min(l[n],u[t]-("right"===t?l.width:l.height))),C({},n,r)}};return c.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";l=O({},l,f[e](t))}),t.offsets.popper=l,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,r=e.reference,i=t.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(i),a=s?"right":"bottom",u=s?"left":"top",c=s?"width":"height";return n[a]<o(r[u])&&(t.offsets.popper[u]=o(r[u])-n[c]),n[u]>o(r[a])&&(t.offsets.popper[u]=o(r[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!H(t.instance.modifiers,"arrow","keepTogether"))return t;var r=e.element;if("string"==typeof r){if(!(r=t.instance.popper.querySelector(r)))return t}else if(!t.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var i=t.placement.split("-")[0],o=t.offsets,s=o.popper,a=o.reference,c=-1!==["left","right"].indexOf(i),l=c?"height":"width",f=c?"Top":"Left",p=f.toLowerCase(),d=c?"left":"top",h=c?"bottom":"right",v=P(r)[l];a[h]-v<s[p]&&(t.offsets.popper[p]-=s[p]-(a[h]-v)),a[p]+v>s[h]&&(t.offsets.popper[p]+=a[p]+v-s[h]),t.offsets.popper=S(t.offsets.popper);var m=a[p]+a[l]/2-v/2,g=u(t.instance.popper),y=parseFloat(g["margin"+f],10),b=parseFloat(g["border"+f+"Width"],10),_=m-t.offsets.popper[p]-y-b;return _=Math.max(Math.min(s[l]-v,_),0),t.arrowElement=r,t.offsets.arrow=(C(n={},p,Math.round(_)),C(n,d,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(U(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=$(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),r=t.placement.split("-")[0],i=j(r),o=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case Y.FLIP:s=[r,i];break;case Y.CLOCKWISE:s=W(r);break;case Y.COUNTERCLOCKWISE:s=W(r,!0);break;default:s=e.behavior}return s.forEach(function(a,u){if(r!==a||s.length===u+1)return t;r=t.placement.split("-")[0],i=j(r);var c=t.offsets.popper,l=t.offsets.reference,f=Math.floor,p="left"===r&&f(c.right)>f(l.left)||"right"===r&&f(c.left)<f(l.right)||"top"===r&&f(c.bottom)>f(l.top)||"bottom"===r&&f(c.top)<f(l.bottom),d=f(c.left)<f(n.left),h=f(c.right)>f(n.right),v=f(c.top)<f(n.top),m=f(c.bottom)>f(n.bottom),g="left"===r&&d||"right"===r&&h||"top"===r&&v||"bottom"===r&&m,y=-1!==["top","bottom"].indexOf(r),b=!!e.flipVariations&&(y&&"start"===o&&d||y&&"end"===o&&h||!y&&"start"===o&&v||!y&&"end"===o&&m);(p||g||b)&&(t.flipped=!0,(p||g)&&(r=s[u+1]),b&&(o=function(t){return"end"===t?"start":"start"===t?"end":t}(o)),t.placement=r+(o?"-"+o:""),t.offsets.popper=O({},t.offsets.popper,N(t.instance.popper,t.offsets.reference,t.placement)),t=M(t.instance.modifiers,t,"flip"))}),t},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],r=t.offsets,i=r.popper,o=r.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return i[s?"left":"top"]=o[n]-(a?i[s?"width":"height"]:0),t.placement=j(e),t.offsets.popper=S(i),t}},hide:{order:800,enabled:!0,fn:function(t){if(!H(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=I(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,r=e.y,i=t.offsets.popper,o=I(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==o?o:e.gpuAcceleration,a=A(h(t.instance.popper)),u={position:i.position},c={left:Math.floor(i.left),top:Math.round(i.top),bottom:Math.round(i.bottom),right:Math.floor(i.right)},l="bottom"===n?"top":"bottom",f="right"===r?"left":"right",p=D("transform"),d=void 0,v=void 0;if(v="bottom"===l?-a.height+c.bottom:c.top,d="right"===f?-a.width+c.right:c.left,s&&p)u[p]="translate3d("+d+"px, "+v+"px, 0)",u[l]=0,u[f]=0,u.willChange="transform";else{var m="bottom"===l?-1:1,g="right"===f?-1:1;u[l]=v*m,u[f]=d*g,u.willChange=l+", "+f}var y={"x-placement":t.placement};return t.attributes=O({},y,t.attributes),t.styles=O({},u,t.styles),t.arrowStyles=O({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return V(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach(function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)}),t.arrowElement&&Object.keys(t.arrowStyles).length&&V(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,r,i){var o=T(i,e,t,n.positionFixed),s=L(n.placement,o,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),V(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},J=function(){function t(e,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};w(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=s(this.update.bind(this)),this.options=O({},t.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(O({},t.Defaults.modifiers,i.modifiers)).forEach(function(e){r.options.modifiers[e]=O({},t.Defaults.modifiers[e]||{},i.modifiers?i.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return O({name:t},r.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&a(t.onLoad)&&t.onLoad(r.reference,r.popper,r.options,t,r.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return x(t,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=T(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=L(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=N(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=M(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,U(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[D("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=R(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return B.call(this)}}]),t}();J.Utils=("undefined"!=typeof window?window:t).PopperUtils,J.placements=q,J.Defaults=Q;var X=function(){};function Z(t){return"string"==typeof t&&(t=t.split(" ")),t}function tt(t,e){var n=Z(e),r=void 0;r=t.className instanceof X?Z(t.className.baseVal):Z(t.className),n.forEach(function(t){-1===r.indexOf(t)&&r.push(t)}),t instanceof SVGElement?t.setAttribute("class",r.join(" ")):t.className=r.join(" ")}function et(t,e){var n=Z(e),r=void 0;r=t.className instanceof X?Z(t.className.baseVal):Z(t.className),n.forEach(function(t){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}),t instanceof SVGElement?t.setAttribute("class",r.join(" ")):t.className=r.join(" ")}"undefined"!=typeof window&&(X=window.SVGAnimatedString);var nt=!1;if("undefined"!=typeof window){nt=!1;try{var rt=Object.defineProperty({},"passive",{get:function(){nt=!0}});window.addEventListener("test",null,rt)}catch(t){}}var it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ot=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},st=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),at=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},ut={container:!1,delay:0,html:!1,placement:"top",title:"",template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",offset:0},ct=[],lt=function(){function t(e,n){ot(this,t),ft.call(this),n=at({},ut,n),e.jquery&&(e=e[0]),this.reference=e,this.options=n,this._isOpen=!1,this._init()}return st(t,[{key:"setClasses",value:function(t){this._classes=t}},{key:"setContent",value:function(t){this.options.title=t,this._tooltipNode&&this._setContent(t,this.options)}},{key:"setOptions",value:function(t){var e=!1,n=t&&t.classes||_t.options.defaultClass;this._classes!==n&&(this.setClasses(n),e=!0),t=vt(t);var r=!1,i=!1;for(var o in this.options.offset===t.offset&&this.options.placement===t.placement||(r=!0),(this.options.template!==t.template||this.options.trigger!==t.trigger||this.options.container!==t.container||e)&&(i=!0),t)this.options[o]=t[o];if(this._tooltipNode)if(i){var s=this._isOpen;this.dispose(),this._init(),s&&this.show()}else r&&this.popperInstance.update()}},{key:"_init",value:function(){var t="string"==typeof this.options.trigger?this.options.trigger.split(" ").filter(function(t){return-1!==["click","hover","focus"].indexOf(t)}):[];this._isDisposed=!1,this._enableDocumentTouch=-1===t.indexOf("manual"),this._setEventListeners(this.reference,t,this.options)}},{key:"_create",value:function(t,e){var n=window.document.createElement("div");n.innerHTML=e.trim();var r=n.childNodes[0];return r.id="tooltip_"+Math.random().toString(36).substr(2,10),r.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(r.addEventListener("mouseenter",this.hide),r.addEventListener("click",this.hide)),r}},{key:"_setContent",value:function(t,e){var n=this;this.asyncContent=!1,this._applyContent(t,e).then(function(){n.popperInstance.update()})}},{key:"_applyContent",value:function(t,e){var n=this;return new Promise(function(r,i){var o=e.html,s=n._tooltipNode;if(s){var a=s.querySelector(n.options.innerSelector);if(1===t.nodeType){if(o){for(;a.firstChild;)a.removeChild(a.firstChild);a.appendChild(t)}}else{if("function"==typeof t){var u=t();return void(u&&"function"==typeof u.then?(n.asyncContent=!0,e.loadingClass&&tt(s,e.loadingClass),e.loadingContent&&n._applyContent(e.loadingContent,e),u.then(function(t){return e.loadingClass&&et(s,e.loadingClass),n._applyContent(t,e)}).then(r).catch(i)):n._applyContent(u,e).then(r).catch(i))}o?a.innerHTML=t:a.innerText=t}r()}})}},{key:"_show",value:function(t,e){if(e&&"string"==typeof e.container&&!document.querySelector(e.container))return;clearTimeout(this._disposeTimer),delete(e=Object.assign({},e)).offset;var n=!0;this._tooltipNode&&(tt(this._tooltipNode,this._classes),n=!1);var r=this._ensureShown(t,e);return n&&this._tooltipNode&&tt(this._tooltipNode,this._classes),tt(t,["v-tooltip-open"]),r}},{key:"_ensureShown",value:function(t,e){var n=this;if(this._isOpen)return this;if(this._isOpen=!0,ct.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(e.title,e),this;var r=t.getAttribute("title")||e.title;if(!r)return this;var i=this._create(t,e.template);this._tooltipNode=i,this._setContent(r,e),t.setAttribute("aria-describedby",i.id);var o=this._findContainer(e.container,t);this._append(i,o);var s=at({},e.popperOptions,{placement:e.placement});return s.modifiers=at({},s.modifiers,{arrow:{element:this.options.arrowSelector}}),e.boundariesElement&&(s.modifiers.preventOverflow={boundariesElement:e.boundariesElement}),this.popperInstance=new J(t,i,s),requestAnimationFrame(function(){!n._isDisposed&&n.popperInstance?(n.popperInstance.update(),requestAnimationFrame(function(){n._isDisposed?n.dispose():n._isOpen&&i.setAttribute("aria-hidden","false")})):n.dispose()}),this}},{key:"_noLongerOpen",value:function(){var t=ct.indexOf(this);-1!==t&&ct.splice(t,1)}},{key:"_hide",value:function(){var t=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var e=_t.options.disposeTimeout;return null!==e&&(this._disposeTimer=setTimeout(function(){t._tooltipNode&&(t._tooltipNode.removeEventListener("mouseenter",t.hide),t._tooltipNode.removeEventListener("click",t.hide),t._tooltipNode.parentNode.removeChild(t._tooltipNode),t._tooltipNode=null)},e)),et(this.reference,["v-tooltip-open"]),this}},{key:"_dispose",value:function(){var t=this;return this._isDisposed=!0,this._events.forEach(function(e){var n=e.func,r=e.event;t.reference.removeEventListener(r,n)}),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||(this._tooltipNode.parentNode.removeChild(this._tooltipNode),this._tooltipNode=null)):this._noLongerOpen(),this}},{key:"_findContainer",value:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t}},{key:"_append",value:function(t,e){e.appendChild(t)}},{key:"_setEventListeners",value:function(t,e,n){var r=this,i=[],o=[];e.forEach(function(t){switch(t){case"hover":i.push("mouseenter"),o.push("mouseleave"),r.options.hideOnTargetClick&&o.push("click");break;case"focus":i.push("focus"),o.push("blur"),r.options.hideOnTargetClick&&o.push("click");break;case"click":i.push("click"),o.push("click")}}),i.forEach(function(e){var i=function(e){!0!==r._isOpen&&(e.usedByTooltip=!0,r._scheduleShow(t,n.delay,n,e))};r._events.push({event:e,func:i}),t.addEventListener(e,i)}),o.forEach(function(e){var i=function(e){!0!==e.usedByTooltip&&r._scheduleHide(t,n.delay,n,e)};r._events.push({event:e,func:i}),t.addEventListener(e,i)})}},{key:"_onDocumentTouch",value:function(t){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,t)}},{key:"_scheduleShow",value:function(t,e,n){var r=this,i=e&&e.show||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){return r._show(t,n)},i)}},{key:"_scheduleHide",value:function(t,e,n,r){var i=this,o=e&&e.hide||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){if(!1!==i._isOpen&&document.body.contains(i._tooltipNode)){if("mouseleave"===r.type)if(i._setTooltipNodeEvent(r,t,e,n))return;i._hide(t,n)}},o)}}]),t}(),ft=function(){var t=this;this.show=function(){t._show(t.reference,t.options)},this.hide=function(){t._hide()},this.dispose=function(){t._dispose()},this.toggle=function(){return t._isOpen?t.hide():t.show()},this._events=[],this._setTooltipNodeEvent=function(e,n,r,i){var o=e.relatedreference||e.toElement||e.relatedTarget;return!!t._tooltipNode.contains(o)&&(t._tooltipNode.addEventListener(e.type,function r(o){var s=o.relatedreference||o.toElement||o.relatedTarget;t._tooltipNode.removeEventListener(e.type,r),n.contains(s)||t._scheduleHide(n,i.delay,i,o)}),!0)}};"undefined"!=typeof document&&document.addEventListener("touchstart",function(t){for(var e=0;e<ct.length;e++)ct[e]._onDocumentTouch(t)},!nt||{passive:!0,capture:!0});var pt={enabled:!0},dt=["top","top-start","top-end","right","right-start","right-end","bottom","bottom-start","bottom-end","left","left-start","left-end"],ht={defaultPlacement:"top",defaultClass:"vue-tooltip-theme",defaultTargetClass:"has-tooltip",defaultHtml:!0,defaultTemplate:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function vt(t){var e={placement:void 0!==t.placement?t.placement:_t.options.defaultPlacement,delay:void 0!==t.delay?t.delay:_t.options.defaultDelay,html:void 0!==t.html?t.html:_t.options.defaultHtml,template:void 0!==t.template?t.template:_t.options.defaultTemplate,arrowSelector:void 0!==t.arrowSelector?t.arrowSelector:_t.options.defaultArrowSelector,innerSelector:void 0!==t.innerSelector?t.innerSelector:_t.options.defaultInnerSelector,trigger:void 0!==t.trigger?t.trigger:_t.options.defaultTrigger,offset:void 0!==t.offset?t.offset:_t.options.defaultOffset,container:void 0!==t.container?t.container:_t.options.defaultContainer,boundariesElement:void 0!==t.boundariesElement?t.boundariesElement:_t.options.defaultBoundariesElement,autoHide:void 0!==t.autoHide?t.autoHide:_t.options.autoHide,hideOnTargetClick:void 0!==t.hideOnTargetClick?t.hideOnTargetClick:_t.options.defaultHideOnTargetClick,loadingClass:void 0!==t.loadingClass?t.loadingClass:_t.options.defaultLoadingClass,loadingContent:void 0!==t.loadingContent?t.loadingContent:_t.options.defaultLoadingContent,popperOptions:at({},void 0!==t.popperOptions?t.popperOptions:_t.options.defaultPopperOptions)};if(e.offset){var n=it(e.offset),r=e.offset;("number"===n||"string"===n&&-1===r.indexOf(","))&&(r="0, "+r),e.popperOptions.modifiers||(e.popperOptions.modifiers={}),e.popperOptions.modifiers.offset={offset:r}}return e.trigger&&-1!==e.trigger.indexOf("click")&&(e.hideOnTargetClick=!1),e}function mt(t,e){for(var n=t.placement,r=0;r<dt.length;r++){var i=dt[r];e[i]&&(n=i)}return n}function gt(t){var e=void 0===t?"undefined":it(t);return"string"===e?t:!(!t||"object"!==e)&&t.content}function yt(t){t._tooltip&&(t._tooltip.dispose(),delete t._tooltip,delete t._tooltipOldShow),t._tooltipTargetClasses&&(et(t,t._tooltipTargetClasses),delete t._tooltipTargetClasses)}function bt(t,e){var n=e.value,r=(e.oldValue,e.modifiers),i=gt(n);if(i&&pt.enabled){var o=void 0;t._tooltip?((o=t._tooltip).setContent(i),o.setOptions(at({},n,{placement:mt(n,r)}))):o=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=gt(e),i=void 0!==e.classes?e.classes:_t.options.defaultClass,o=at({title:r},vt(at({},e,{placement:mt(e,n)}))),s=t._tooltip=new lt(t,o);s.setClasses(i),s._vueEl=t;var a=void 0!==e.targetClasses?e.targetClasses:_t.options.defaultTargetClass;return t._tooltipTargetClasses=a,tt(t,a),s}(t,n,r),void 0!==n.show&&n.show!==t._tooltipOldShow&&(t._tooltipOldShow=n.show,n.show?o.show():o.hide())}else yt(t)}var _t={options:ht,bind:bt,update:bt,unbind:function(t){yt(t)}};function wt(t){t.addEventListener("click",Ct),t.addEventListener("touchstart",Ot,!!nt&&{passive:!0})}function xt(t){t.removeEventListener("click",Ct),t.removeEventListener("touchstart",Ot),t.removeEventListener("touchend",St),t.removeEventListener("touchcancel",At)}function Ct(t){var e=t.currentTarget;t.closePopover=!e.$_vclosepopover_touch,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function Ot(t){if(1===t.changedTouches.length){var e=t.currentTarget;e.$_vclosepopover_touch=!0;var n=t.changedTouches[0];e.$_vclosepopover_touchPoint=n,e.addEventListener("touchend",St),e.addEventListener("touchcancel",At)}}function St(t){var e=t.currentTarget;if(e.$_vclosepopover_touch=!1,1===t.changedTouches.length){var n=t.changedTouches[0],r=e.$_vclosepopover_touchPoint;t.closePopover=Math.abs(n.screenY-r.screenY)<20&&Math.abs(n.screenX-r.screenX)<20,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function At(t){t.currentTarget.$_vclosepopover_touch=!1}var kt={bind:function(t,e){var n=e.value,r=e.modifiers;t.$_closePopoverModifiers=r,(void 0===n||n)&&wt(t)},update:function(t,e){var n=e.value,r=e.oldValue,i=e.modifiers;t.$_closePopoverModifiers=i,n!==r&&(void 0===n||n?wt(t):xt(t))},unbind:function(t){xt(t)}};var Et=void 0;function $t(){$t.init||($t.init=!0,Et=-1!==function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var n=t.indexOf("rv:");return parseInt(t.substring(n+3,t.indexOf(".",n)),10)}var r=t.indexOf("Edge/");return r>0?parseInt(t.substring(r+5,t.indexOf(".",r)),10):-1}())}var Lt={render:function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{notify:function(){this.$emit("notify")},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.notify),this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||this.notify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!Et&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.notify),delete this._resizeObject.onload)}},mounted:function(){var t=this;$t(),this.$nextTick(function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight});var e=document.createElement("object");this._resizeObject=e,e.setAttribute("style","display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;"),e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",Et&&this.$el.appendChild(e),e.data="about:blank",Et||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()}};var Tt={version:"0.4.4",install:function(t){t.component("resize-observer",Lt)}},Pt=null;function jt(t){var e=_t.options.popover[t];return void 0===e?_t.options[t]:e}"undefined"!=typeof window?Pt=window.Vue:void 0!==t&&(Pt=t.Vue),Pt&&Pt.use(Tt);var Nt=!1;"undefined"!=typeof window&&"undefined"!=typeof navigator&&(Nt=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);var It=[],Mt=function(){};"undefined"!=typeof window&&(Mt=window.Element);var Ut={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"v-popover",class:t.cssClass},[n("span",{ref:"trigger",staticClass:"trigger",staticStyle:{display:"inline-block"},attrs:{"aria-describedby":t.popoverId,tabindex:-1!==t.trigger.indexOf("focus")?0:-1}},[t._t("default")],2),t._v(" "),n("div",{ref:"popover",class:[t.popoverBaseClass,t.popoverClass,t.cssClass],style:{visibility:t.isOpen?"visible":"hidden"},attrs:{id:t.popoverId,"aria-hidden":t.isOpen?"false":"true"}},[n("div",{class:t.popoverWrapperClass},[n("div",{ref:"inner",class:t.popoverInnerClass,staticStyle:{position:"relative"}},[n("div",[t._t("popover")],2),t._v(" "),t.handleResize?n("ResizeObserver",{on:{notify:t.$_handleResize}}):t._e()],1),t._v(" "),n("div",{ref:"arrow",class:t.popoverArrowClass})])])])},staticRenderFns:[],name:"VPopover",components:{ResizeObserver:Lt},props:{open:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placement:{type:String,default:function(){return jt("defaultPlacement")}},delay:{type:[String,Number,Object],default:function(){return jt("defaultDelay")}},offset:{type:[String,Number],default:function(){return jt("defaultOffset")}},trigger:{type:String,default:function(){return jt("defaultTrigger")}},container:{type:[String,Object,Mt,Boolean],default:function(){return jt("defaultContainer")}},boundariesElement:{type:[String,Mt],default:function(){return jt("defaultBoundariesElement")}},popperOptions:{type:Object,default:function(){return jt("defaultPopperOptions")}},popoverClass:{type:[String,Array],default:function(){return jt("defaultClass")}},popoverBaseClass:{type:[String,Array],default:function(){return _t.options.popover.defaultBaseClass}},popoverInnerClass:{type:[String,Array],default:function(){return _t.options.popover.defaultInnerClass}},popoverWrapperClass:{type:[String,Array],default:function(){return _t.options.popover.defaultWrapperClass}},popoverArrowClass:{type:[String,Array],default:function(){return _t.options.popover.defaultArrowClass}},autoHide:{type:Boolean,default:function(){return _t.options.popover.defaultAutoHide}},handleResize:{type:Boolean,default:function(){return _t.options.popover.defaultHandleResize}},openGroup:{type:String,default:null}},data:function(){return{isOpen:!1,id:Math.random().toString(36).substr(2,10)}},computed:{cssClass:function(){return{open:this.isOpen}},popoverId:function(){return"popover_"+this.id}},watch:{open:function(t){t?this.show():this.hide()},disabled:function(t,e){t!==e&&(t?this.hide():this.open&&this.show())},container:function(t){if(this.isOpen&&this.popperInstance){var e=this.$refs.popover,n=this.$refs.trigger,r=this.$_findContainer(this.container,n);if(!r)return void console.warn("No container for popover",this);r.appendChild(e),this.popperInstance.scheduleUpdate()}},trigger:function(t){this.$_removeEventListeners(),this.$_addEventListeners()},placement:function(t){var e=this;this.$_updatePopper(function(){e.popperInstance.options.placement=t})},offset:"$_restartPopper",boundariesElement:"$_restartPopper",popperOptions:{handler:"$_restartPopper",deep:!0}},created:function(){this.$_isDisposed=!1,this.$_mounted=!1,this.$_events=[],this.$_preventOpen=!1},mounted:function(){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t),this.$_init(),this.open&&this.show()},beforeDestroy:function(){this.dispose()},methods:{show:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.event,r=(e.skipDelay,e.force);!(void 0!==r&&r)&&this.disabled||(this.$_scheduleShow(n),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame(function(){t.$_beingShowed=!1})},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.event;t.skipDelay;this.$_scheduleHide(e),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var t=this,e=this.$refs.trigger,n=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var r=this.$_findContainer(this.container,e);if(!r)return void console.warn("No container for popover",this);r.appendChild(n),this.$_mounted=!0}if(!this.popperInstance){var i=at({},this.popperOptions,{placement:this.placement});if(i.modifiers=at({},i.modifiers,{arrow:at({},i.modifiers&&i.modifiers.arrow,{element:this.$refs.arrow})}),this.offset){var o=this.$_getOffset();i.modifiers.offset=at({},i.modifiers&&i.modifiers.offset,{offset:o})}this.boundariesElement&&(i.modifiers.preventOverflow=at({},i.modifiers&&i.modifiers.preventOverflow,{boundariesElement:this.boundariesElement})),this.popperInstance=new J(e,n,i),requestAnimationFrame(function(){!t.$_isDisposed&&t.popperInstance?(t.popperInstance.scheduleUpdate(),requestAnimationFrame(function(){t.$_isDisposed?t.dispose():t.isOpen=!0})):t.dispose()})}var s=this.openGroup;if(s)for(var a=void 0,u=0;u<It.length;u++)(a=It[u]).openGroup!==s&&(a.hide(),a.$emit("close-group"));It.push(this),this.$emit("apply-show")}},$_hide:function(){var t=this;if(this.isOpen){var e=It.indexOf(this);-1!==e&&It.splice(e,1),this.isOpen=!1,this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this.$_disposeTimer);var n=_t.options.popover.disposeTimeout||_t.options.disposeTimeout;null!==n&&(this.$_disposeTimer=setTimeout(function(){var e=t.$refs.popover;e&&(e.parentNode&&e.parentNode.removeChild(e),t.$_mounted=!1)},n)),this.$emit("apply-hide")}},$_findContainer:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t},$_getOffset:function(){var t=it(this.offset),e=this.offset;return("number"===t||"string"===t&&-1===e.indexOf(","))&&(e="0, "+e),e},$_addEventListeners:function(){var t=this,e=this.$refs.trigger,n=[],r=[];("string"==typeof this.trigger?this.trigger.split(" ").filter(function(t){return-1!==["click","hover","focus"].indexOf(t)}):[]).forEach(function(t){switch(t){case"hover":n.push("mouseenter"),r.push("mouseleave");break;case"focus":n.push("focus"),r.push("blur");break;case"click":n.push("click"),r.push("click")}}),n.forEach(function(n){var r=function(e){t.isOpen||(e.usedByTooltip=!0,!t.$_preventOpen&&t.show({event:e}))};t.$_events.push({event:n,func:r}),e.addEventListener(n,r)}),r.forEach(function(n){var r=function(e){e.usedByTooltip||t.hide({event:e})};t.$_events.push({event:n,func:r}),e.addEventListener(n,r)})},$_scheduleShow:function(){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),t)this.$_show();else{var e=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),e)}},$_scheduleHide:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),n)this.$_hide();else{var r=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout(function(){if(t.isOpen){if(e&&"mouseleave"===e.type)if(t.$_setTooltipNodeEvent(e))return;t.$_hide()}},r)}},$_setTooltipNodeEvent:function(t){var e=this,n=this.$refs.trigger,r=this.$refs.popover,i=t.relatedreference||t.toElement||t.relatedTarget;return!!r.contains(i)&&(r.addEventListener(t.type,function i(o){var s=o.relatedreference||o.toElement||o.relatedTarget;r.removeEventListener(t.type,i),n.contains(s)||e.hide({event:o})}),!0)},$_removeEventListeners:function(){var t=this.$refs.trigger;this.$_events.forEach(function(e){var n=e.func,r=e.event;t.removeEventListener(r,n)}),this.$_events=[]},$_updatePopper:function(t){this.popperInstance&&(t(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var t=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),t&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:t}),t.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),n&&(this.$_preventOpen=!0,setTimeout(function(){e.$_preventOpen=!1},300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function Dt(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];requestAnimationFrame(function(){for(var n=void 0,r=0;r<It.length;r++)if((n=It[r]).$refs.popover){var i=n.$refs.popover.contains(t.target);(t.closeAllPopover||t.closePopover&&i||n.autoHide&&!i)&&n.$_handleGlobalClose(t,e)}})}"undefined"!=typeof document&&"undefined"!=typeof window&&(Nt?document.addEventListener("touchend",function(t){Dt(t,!0)},!nt||{passive:!0,capture:!0}):window.addEventListener("click",function(t){Dt(t)},!0));var Ft="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{};var Rt,Bt=(function(t,e){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",u="[object AsyncFunction]",c="[object Function]",l="[object GeneratorFunction]",f="[object Null]",p="[object Object]",d="[object Proxy]",h="[object Undefined]",v=/^\[object .+?Constructor\]$/,m=/^(?:0|[1-9]\d*)$/,g={};g["[object Float32Array]"]=g["[object Float64Array]"]=g["[object Int8Array]"]=g["[object Int16Array]"]=g["[object Int32Array]"]=g["[object Uint8Array]"]=g["[object Uint8ClampedArray]"]=g["[object Uint16Array]"]=g["[object Uint32Array]"]=!0,g[a]=g["[object Array]"]=g["[object ArrayBuffer]"]=g["[object Boolean]"]=g["[object DataView]"]=g["[object Date]"]=g["[object Error]"]=g[c]=g["[object Map]"]=g["[object Number]"]=g[p]=g["[object RegExp]"]=g["[object Set]"]=g["[object String]"]=g["[object WeakMap]"]=!1;var y="object"==typeof Ft&&Ft&&Ft.Object===Object&&Ft,b="object"==typeof self&&self&&self.Object===Object&&self,_=y||b||Function("return this")(),w=e&&!e.nodeType&&e,x=w&&t&&!t.nodeType&&t,C=x&&x.exports===w,O=C&&y.process,S=function(){try{return O&&O.binding&&O.binding("util")}catch(t){}}(),A=S&&S.isTypedArray;function k(t,e){return"__proto__"==e?void 0:t[e]}var E,$,L,T=Array.prototype,P=Function.prototype,j=Object.prototype,N=_["__core-js_shared__"],I=P.toString,M=j.hasOwnProperty,U=(E=/[^.]+$/.exec(N&&N.keys&&N.keys.IE_PROTO||""))?"Symbol(src)_1."+E:"",D=j.toString,F=I.call(Object),R=RegExp("^"+I.call(M).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),B=C?_.Buffer:void 0,G=_.Symbol,V=_.Uint8Array,H=B?B.allocUnsafe:void 0,q=($=Object.getPrototypeOf,L=Object,function(t){return $(L(t))}),z=Object.create,W=j.propertyIsEnumerable,Y=T.splice,K=G?G.toStringTag:void 0,Q=function(){try{var t=wt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),J=B?B.isBuffer:void 0,X=Math.max,Z=Date.now,tt=wt(_,"Map"),et=wt(Object,"create"),nt=function(){function t(){}return function(e){if(!Pt(e))return{};if(z)return z(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();function rt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function it(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function ot(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function st(t){var e=this.__data__=new it(t);this.size=e.size}function at(t,e){var n=kt(t),r=!n&&At(t),i=!n&&!r&&$t(t),o=!n&&!r&&!i&&Nt(t),s=n||r||i||o,a=s?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],u=a.length;for(var c in t)!e&&!M.call(t,c)||s&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||xt(c,u))||a.push(c);return a}function ut(t,e,n){(void 0===n||St(t[e],n))&&(void 0!==n||e in t)||ft(t,e,n)}function ct(t,e,n){var r=t[e];M.call(t,e)&&St(r,n)&&(void 0!==n||e in t)||ft(t,e,n)}function lt(t,e){for(var n=t.length;n--;)if(St(t[n][0],e))return n;return-1}function ft(t,e,n){"__proto__"==e&&Q?Q(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}rt.prototype.clear=function(){this.__data__=et?et(null):{},this.size=0},rt.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},rt.prototype.get=function(t){var e=this.__data__;if(et){var n=e[t];return n===r?void 0:n}return M.call(e,t)?e[t]:void 0},rt.prototype.has=function(t){var e=this.__data__;return et?void 0!==e[t]:M.call(e,t)},rt.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=et&&void 0===e?r:e,this},it.prototype.clear=function(){this.__data__=[],this.size=0},it.prototype.delete=function(t){var e=this.__data__,n=lt(e,t);return!(n<0||(n==e.length-1?e.pop():Y.call(e,n,1),--this.size,0))},it.prototype.get=function(t){var e=this.__data__,n=lt(e,t);return n<0?void 0:e[n][1]},it.prototype.has=function(t){return lt(this.__data__,t)>-1},it.prototype.set=function(t,e){var n=this.__data__,r=lt(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},ot.prototype.clear=function(){this.size=0,this.__data__={hash:new rt,map:new(tt||it),string:new rt}},ot.prototype.delete=function(t){var e=_t(this,t).delete(t);return this.size-=e?1:0,e},ot.prototype.get=function(t){return _t(this,t).get(t)},ot.prototype.has=function(t){return _t(this,t).has(t)},ot.prototype.set=function(t,e){var n=_t(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},st.prototype.clear=function(){this.__data__=new it,this.size=0},st.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},st.prototype.get=function(t){return this.__data__.get(t)},st.prototype.has=function(t){return this.__data__.has(t)},st.prototype.set=function(t,e){var r=this.__data__;if(r instanceof it){var i=r.__data__;if(!tt||i.length<n-1)return i.push([t,e]),this.size=++r.size,this;r=this.__data__=new ot(i)}return r.set(t,e),this.size=r.size,this};var pt,dt=function(t,e,n){for(var r=-1,i=Object(t),o=n(t),s=o.length;s--;){var a=o[pt?s:++r];if(!1===e(i[a],a,i))break}return t};function ht(t){return null==t?void 0===t?h:f:K&&K in Object(t)?function(t){var e=M.call(t,K),n=t[K];try{t[K]=void 0;var r=!0}catch(t){}var i=D.call(t);r&&(e?t[K]=n:delete t[K]);return i}(t):function(t){return D.call(t)}(t)}function vt(t){return jt(t)&&ht(t)==a}function mt(t){return!(!Pt(t)||U&&U in t)&&(Lt(t)?R:v).test(function(t){if(null!=t){try{return I.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t))}function gt(t){if(!Pt(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=Ct(t),n=[];for(var r in t)("constructor"!=r||!e&&M.call(t,r))&&n.push(r);return n}function yt(t,e,n,r,i){t!==e&&dt(e,function(o,s){if(Pt(o))i||(i=new st),function(t,e,n,r,i,o,s){var a=k(t,n),u=k(e,n),c=s.get(u);if(c)return void ut(t,n,c);var l=o?o(a,u,n+"",t,e,s):void 0,f=void 0===l;if(f){var d=kt(u),h=!d&&$t(u),v=!d&&!h&&Nt(u);l=u,d||h||v?kt(a)?l=a:jt(_=a)&&Et(_)?l=function(t,e){var n=-1,r=t.length;e||(e=Array(r));for(;++n<r;)e[n]=t[n];return e}(a):h?(f=!1,l=function(t,e){if(e)return t.slice();var n=t.length,r=H?H(n):new t.constructor(n);return t.copy(r),r}(u,!0)):v?(f=!1,m=u,g=!0?(y=m.buffer,b=new y.constructor(y.byteLength),new V(b).set(new V(y)),b):m.buffer,l=new m.constructor(g,m.byteOffset,m.length)):l=[]:function(t){if(!jt(t)||ht(t)!=p)return!1;var e=q(t);if(null===e)return!0;var n=M.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&I.call(n)==F}(u)||At(u)?(l=a,At(a)?l=function(t){return function(t,e,n,r){var i=!n;n||(n={});var o=-1,s=e.length;for(;++o<s;){var a=e[o],u=r?r(n[a],t[a],a,n,t):void 0;void 0===u&&(u=t[a]),i?ft(n,a,u):ct(n,a,u)}return n}(t,It(t))}(a):(!Pt(a)||r&&Lt(a))&&(l=function(t){return"function"!=typeof t.constructor||Ct(t)?{}:nt(q(t))}(u))):f=!1}var m,g,y,b;var _;f&&(s.set(u,l),i(l,u,r,o,s),s.delete(u));ut(t,n,l)}(t,e,s,n,yt,r,i);else{var a=r?r(k(t,s),o,s+"",t,e,i):void 0;void 0===a&&(a=o),ut(t,s,a)}},It)}function bt(t,e){return Ot(function(t,e,n){return e=X(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=X(r.length-e,0),s=Array(o);++i<o;)s[i]=r[e+i];i=-1;for(var a=Array(e+1);++i<e;)a[i]=r[i];return a[e]=n(s),function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}(t,this,a)}}(t,e,Dt),t+"")}function _t(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function wt(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return mt(n)?n:void 0}function xt(t,e){var n=typeof t;return!!(e=null==e?s:e)&&("number"==n||"symbol"!=n&&m.test(t))&&t>-1&&t%1==0&&t<e}function Ct(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||j)}var Ot=function(t){var e=0,n=0;return function(){var r=Z(),s=o-(r-n);if(n=r,s>0){if(++e>=i)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Q?function(t,e){return Q(t,"toString",{configurable:!0,enumerable:!1,value:(n=e,function(){return n}),writable:!0});var n}:Dt);function St(t,e){return t===e||t!=t&&e!=e}var At=vt(function(){return arguments}())?vt:function(t){return jt(t)&&M.call(t,"callee")&&!W.call(t,"callee")},kt=Array.isArray;function Et(t){return null!=t&&Tt(t.length)&&!Lt(t)}var $t=J||function(){return!1};function Lt(t){if(!Pt(t))return!1;var e=ht(t);return e==c||e==l||e==u||e==d}function Tt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=s}function Pt(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function jt(t){return null!=t&&"object"==typeof t}var Nt=A?function(t){return function(e){return t(e)}}(A):function(t){return jt(t)&&Tt(t.length)&&!!g[ht(t)]};function It(t){return Et(t)?at(t,!0):gt(t)}var Mt,Ut=(Mt=function(t,e,n){yt(t,e,n)},bt(function(t,e){var n=-1,r=e.length,i=r>1?e[r-1]:void 0,o=r>2?e[2]:void 0;for(i=Mt.length>3&&"function"==typeof i?(r--,i):void 0,o&&function(t,e,n){if(!Pt(n))return!1;var r=typeof e;return!!("number"==r?Et(n)&&xt(e,n.length):"string"==r&&e in n)&&St(n[e],t)}(e[0],e[1],o)&&(i=r<3?void 0:i,r=1),t=Object(t);++n<r;){var s=e[n];s&&Mt(t,s,n,i)}return t}));function Dt(t){return t}t.exports=Ut}(Rt={exports:{}},Rt.exports),Rt.exports);var Gt={install:function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t.installed){t.installed=!0;var r={};Bt(r,ht,n),Gt.options=r,_t.options=r,e.directive("tooltip",_t),e.directive("close-popover",kt),e.component("v-popover",Ut)}},get enabled(){return pt.enabled},set enabled(t){pt.enabled=t}},Vt=null;"undefined"!=typeof window?Vt=window.Vue:void 0!==t&&(Vt=t.Vue),Vt&&Vt.use(Gt),e.a=Gt}).call(this,n(52))},function(t,e){function n(t,e){var r={name:t.name,path:t.path,hash:t.hash,query:t.query,params:t.params,fullPath:t.fullPath,meta:t.meta};return e&&(r.from=n(e)),Object.freeze(r)}e.sync=function(t,e,r){var i=(r||{}).moduleName||"route";t.registerModule(i,{namespaced:!0,state:n(e.currentRoute),mutations:{ROUTE_CHANGED:function(e,r){t.state[i]=n(r.to,r.from)}}});var o,s=!1,a=t.watch(function(t){return t[i]},function(t){var n=t.fullPath;n!==o&&(null!=o&&(s=!0,e.push(t)),o=n)},{sync:!0}),u=e.afterEach(function(e,n){s?s=!1:(o=e.fullPath,t.commit(i+"/ROUTE_CHANGED",{to:e,from:n}))});return function(){null!=u&&u(),null!=a&&a(),t.unregisterModule(i)}}},function(e,n,r){"use strict";r.r(n);var i=r(2),o=r(108),s=function(){var t=this.$createElement;return(this._self._c||t)("router-view")};function a(t,e,n,r,i,o,s,a){var u,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),s?(u=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},c._ssrRegister=u):i&&(u=a?function(){i.call(this,this.$root.$options.shadowRoot)}:i),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(t,e){return u.call(e),l(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:c}}s._withStripped=!0;var u=a({name:"App",beforeMount:function(){null!==document.getElementById("serverData")&&this.$store.commit("setServerData",JSON.parse(document.getElementById("serverData").dataset.server))}},s,[],!1,null,null,null);u.options.__file="src/App.vue";var c=u.exports; /** * vue-router v3.0.1 * (c) 2017 Evan You diff --git a/settings/js/settings-vue.js.map b/settings/js/settings-vue.js.map index 9937487d6ac..f4d374e5606 100644 --- a/settings/js/settings-vue.js.map +++ b/settings/js/settings-vue.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/vue/dist/vue.esm.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/vue-multiselect/dist/vue-multiselect.min.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/vue-localstorage/dist/vue-local-storage.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/vue-click-outside/index.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/core-js/modules/_string-pad.js","webpack:///./node_modules/core-js/modules/_object-to-array.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js","webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///./node_modules/vuex-router-sync/index.js","webpack:///./src/App.vue?73cf","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./src/views/Users.vue?5fd9","webpack:///./src/components/appNavigation.vue?b1bf","webpack:///./src/components/appNavigation/navigationItem.vue?f060","webpack:///./src/components/popoverMenu.vue?bea1","webpack:///./src/components/popoverMenu/popoverItem.vue?53f1","webpack:///src/components/popoverMenu/popoverItem.vue","webpack:///./src/components/popoverMenu/popoverItem.vue","webpack:///./src/components/popoverMenu.vue","webpack:///src/components/popoverMenu.vue","webpack:///./src/components/appNavigation/navigationItem.vue","webpack:///src/components/appNavigation/navigationItem.vue","webpack:///./src/components/appNavigation.vue","webpack:///src/components/appNavigation.vue","webpack:///./src/components/userList.vue?90a1","webpack:///./src/components/userList/userRow.vue?3f6b","webpack:///src/components/userList/userRow.vue","webpack:///./src/components/userList/userRow.vue","webpack:///./src/components/userList.vue","webpack:///src/components/userList.vue","webpack:///./src/store/api.js","webpack:///src/views/Users.vue","webpack:///./src/views/Users.vue","webpack:///./src/views/Apps.vue?c382","webpack:///./src/components/appList.vue?ef0d","webpack:///./src/components/appList/appItem.vue?0546","webpack:///./src/components/appList/appScore.vue?216c","webpack:///src/components/appList/appScore.vue","webpack:///./src/components/appList/appScore.vue","webpack:///./src/components/appManagement.vue","webpack:///src/components/appManagement.vue","webpack:///./src/components/svgFilterMixin.vue","webpack:///src/components/svgFilterMixin.vue","webpack:///./src/components/appList/appItem.vue","webpack:///src/components/appList/appItem.vue","webpack:///./src/components/prefixMixin.vue","webpack:///src/components/prefixMixin.vue","webpack:///./src/components/appList.vue","webpack:///src/components/appList.vue","webpack:///./src/components/appDetails.vue?2047","webpack:///src/components/appDetails.vue","webpack:///./src/components/appDetails.vue","webpack:///src/views/Apps.vue","webpack:///./src/views/Apps.vue","webpack:///./src/router.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./src/store/users.js","webpack:///./src/store/apps.js","webpack:///./src/store/settings.js","webpack:///./src/store/oc.js","webpack:///./src/store/index.js","webpack:///./src/main.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/modules/web.immediate.js","webpack:///./node_modules/core-js/modules/web.timers.js","webpack:///./node_modules/core-js/modules/es7.string.pad-end.js","webpack:///./node_modules/core-js/modules/es7.string.pad-start.js","webpack:///./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/modules/es7.object.entries.js","webpack:///./node_modules/core-js/modules/es7.object.values.js","webpack:///./node_modules/core-js/modules/es7.array.includes.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/helpers/btoa.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/timers-browserify/main.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","Function","U","W","R","it","setImmediate","emptyObject","freeze","isUndef","v","isDef","isTrue","isPrimitive","isObject","obj","_toString","toString","isPlainObject","isRegExp","isValidArrayIndex","val","parseFloat","String","Math","floor","isFinite","JSON","stringify","toNumber","isNaN","makeMap","str","expectsLowerCase","map","list","split","length","toLowerCase","isBuiltInTag","isReservedAttribute","remove","arr","item","index","indexOf","splice","hasOwn","cached","fn","cache","camelizeRE","camelize","replace","_","toUpperCase","capitalize","charAt","slice","hyphenateRE","hyphenate","boundFn","a","arguments","apply","_length","toArray","start","ret","Array","extend","to","_from","toObject","res","noop","b","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArray","isArrayB","every","e","keysA","keys","keysB","looseIndexOf","once","called","this","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","def","writable","configurable","bailRE","_isServer","hasProto","inBrowser","window","inWeex","WXEnvironment","platform","weexPlatform","UA","navigator","userAgent","isIE","test","isIE9","isEdge","isIOS","nativeWatch","watch","supportsPassive","opts","addEventListener","isServerRendering","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","set","has","add","clear","warn","uid","Dep","id","subs","addSub","sub","push","removeSub","depend","addDep","notify","update","targetStack","pushTarget","_target","popTarget","pop","VNode","tag","data","children","text","elm","context","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","componentInstance","parent","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","forEach","method","original","args","len","inserted","result","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","src","__proto__","observe","asRootData","isExtensible","_isVue","defineReactive","customSetter","shallow","getOwnPropertyDescriptor","setter","childOb","dependArray","newVal","max","del","items","strats","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","concat","mergeAssets","hook","key$1","props","methods","inject","computed","provide","defaultStrat","mergeOptions","options","normalizeProps","normalized","normalizeInject","dirs","directives","normalizeDirectives","extendsFrom","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","prop","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","default","$options","_props","getType","getPropDefaultValue","prevShouldObserve","match","isSameType","expectedTypes","handleError","err","info","cur","$parent","hooks","errorCaptured","globalHandleError","logError","console","error","microTimerFunc","macroTimerFunc","callbacks","pending","flushCallbacks","copies","useMacroTask","MessageChannel","setTimeout","channel","port","port2","port1","onmessage","postMessage","Promise","resolve","then","nextTick","cb","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","capture","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","old","event","params","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","checkProp","hash","altKey","preserve","normalizeChildren","normalizeArrayChildren","nestedIndex","lastIndex","last","isTextNode","shift","_isVList","ensureCtor","comp","base","getFirstComponentChild","$once","$on","remove$1","$off","updateComponentListeners","listeners","oldListeners","resolveSlots","slots","attrs","slot","name$1","isWhitespace","resolveScopedSlots","activeInstance","isInInactiveTree","_inactive","activateChildComponent","direct","_directInactive","$children","callHook","handlers","j","_hasHookEvent","$emit","queue","activatedChildren","waiting","flushing","flushSchedulerQueue","watcher","sort","run","activatedQueue","updatedQueue","callActivatedHooks","_watcher","_isMounted","callUpdatedHooks","emit","uid$1","Watcher","expOrFn","isRenderWatcher","_watchers","deep","user","lazy","sync","active","dirty","deps","newDeps","depIds","newDepIds","expression","path","segments","parsePath","cleanupDeps","tmp","queueWatcher","oldValue","evaluate","teardown","_isBeingDestroyed","sharedPropertyDefinition","proxy","sourceKey","initState","propsOptions","_propKeys","loop","initProps","initMethods","_data","getData","charCodeAt","initData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","initComputed","handler","createWatcher","initWatch","shouldCache","createComputedGetter","$watch","resolveInject","filter","provideKey","_provided","provideDefault","renderList","render","renderSlot","fallback","bindObject","nodes","scopedSlotFn","$scopedSlots","slotNodes","$slots","_rendered","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","domProps","$event","renderStatic","isInFor","_staticTrees","tree","markStatic","staticRenderFns","_renderProxy","markOnce","markStaticNode","bindObjectListeners","existing","ours","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","FunctionalRenderContext","contextVm","_original","isCompiled","_compiled","needNormalization","injections","scopedSlots","_scopeId","_c","createElement","cloneAndMarkFunctionalResult","clone","mergeProps","componentVNodeHooks","init","hydrating","parentElm","refElm","_isDestroyed","keepAlive","mountedNode","prepatch","_isComponent","_parentVnode","_parentElm","_refElm","inlineTemplate","createComponentInstanceForVnode","$mount","oldVnode","parentVnode","renderChildren","hasChildren","_renderChildren","$vnode","_vnode","$attrs","$listeners","propKeys","_parentListeners","$forceUpdate","updateChildComponent","insert","destroy","deactivateChildComponent","$destroy","hooksToMerge","createComponent","baseCtor","_base","cid","factory","errorComp","resolved","loading","loadingComp","contexts","forceRender","reject","reason","component","delay","timeout","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","callback","transformModel","extractPropsFromVNodeData","functional","renderContext","vnodes","createFunctionalComponent","nativeOn","abstract","installComponentHooks","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","is","simpleNormalizeChildren","applyNS","force","style","class","registerDeepBindings","_createElement","uid$3","super","superOptions","modifiedOptions","modified","latest","extended","extendOptions","sealed","sealedOptions","dedupe","resolveModifiedOptions","components","Vue","_init","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","constructor","Comp","initProps$1","initComputed$1","mixin","use","getComponentName","matches","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","current","cached$$1","_uid","vnodeComponentOptions","_componentTag","initInternalComponent","_self","$root","$refs","initLifecycle","_events","initEvents","parentData","initRender","initInjections","initProvide","el","initMixin","dataDef","propsDef","$set","$delete","immediate","stateMixin","hookRE","cbs","i$1","eventsMixin","_update","prevEl","$el","prevVnode","prevActiveInstance","__patch__","__vue__","lifecycleMixin","$nextTick","_render","ref","renderMixin","patternTypes","RegExp","builtInComponents","KeepAlive","include","exclude","Number","created","destroyed","mounted","this$1","parseInt","configDef","util","delete","plugin","installedPlugins","_installedPlugins","unshift","install","initUse","initMixin$1","definition","initAssetRegisters","initGlobalAPI","ssrContext","version","acceptValue","attr","isEnumeratedAttr","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","parentNode","childNode","mergeClassData","staticClass","dynamicClass","stringifyClass","renderClass","stringified","stringifyArray","stringifyObject","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","isTextInputType","query","selected","document","querySelector","nodeOps","tagName","multiple","setAttribute","createElementNS","namespace","createTextNode","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","setStyleScope","scopeId","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","typeA","typeB","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","join","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","removeAttribute","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","chr","index$1","expressionPos","expressionEndPos","klass","validDivisionCharRE","parseFilters","prev","filters","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","trim","pushFilter","wrapFilter","baseWarn","msg","pluckModuleFunction","addProp","plain","addAttr","addRawAttr","attrsMap","attrsList","addDirective","arg","addHandler","important","events","right","middle","native","nativeEvents","newHandler","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","genComponentModel","number","valueExpression","assignment","genAssignmentCode","lastIndexOf","eof","isStringStart","next","parseString","parseBracket","parseModel","inBracket","stringQuote","target$1","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","add$1","_withTask","onceHandler","remove$2","createOnceHandler","updateDOMListeners","change","normalizeEvents","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","notInFocus","activeElement","isNotInFocusAndDirty","_vModifiers","isDirtyWithModifiers","parseStyleText","cssText","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","checkChild","styleData","getStyle","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","end","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","rm","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","patch","backend","removeNode","createElm","insertedVnodeQueue","nested","ownerArray","isReactivated","initComponent","innerNode","activate","reactivateComponent","setScope","createChildren","invokeCreateHooks","pendingInsert","isPatchable","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","childElm","createRmCb","findIdxInOld","oldCh","patchVnode","removeOnly","hydrate","newCh","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","updateChildren","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","pre","hasChildNodes","innerHTML","childrenMatch","firstChild","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","parentElm$1","patchable","i$2","createPatchFunction","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","createEvent","initEvent","dispatchEvent","locateNode","platformDirectives","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","h","rawChild","Transition","hasParentTransition","_leaving","oldRawChild","oldChild","isSameChild","delayedLeave","moveClass","callPendingCbs","_moveCb","recordPosition","newPos","getBoundingClientRect","applyTranslation","oldPos","pos","dx","left","dy","top","moved","transform","WebkitTransform","transitionDuration","platformComponents","TransitionGroup","prevChildren","rawChildren","transitionData","kept","removed","c$1","beforeUpdate","updated","hasMove","_reflow","body","offsetHeight","propertyName","_hasMove","cloneNode","HTMLUnknownElement","HTMLElement","mountComponent","defaultTagRE","regexEscapeRE","buildRegex","delimiters","open","close","klass$1","staticKeys","transformNode","classBinding","genData","decoder","style$1","styleBinding","he","html","isUnaryTag","canBeLeftOpenTag","isNonPhrasingTag","attribute","ncname","qnameCapture","startTagOpen","startTagClose","endTag","doctype","comment","conditionalComment","IS_REGEX_CAPTURING_BROKEN","g","isPlainTextElement","reCache","decodingMap","<",">",""","&"," ","	","encodedAttr","encodedAttrWithNewLines","isIgnoreNewlineTag","shouldIgnoreFirstNewline","decodeAttr","shouldDecodeNewlines","re","warn$2","transforms","preTransforms","postTransforms","platformIsPreTag","platformMustUseProp","platformGetTagNamespace","onRE","dirRE","forAliasRE","forIteratorRE","stripParensRE","argRE","bindRE","modifierRE","decodeHTMLCached","createASTElement","makeAttrsMap","parse","template","isPreTag","root","currentParent","stack","preserveWhitespace","inPre","closeElement","element","lastTag","expectHTML","isUnaryTag$$1","canBeLeftOpenTag$$1","endTagLength","stackedTag","reStackedTag","rest$1","all","chars","parseEndTag","textEnd","commentEnd","shouldKeepComment","substring","advance","conditionalEnd","doctypeMatch","endTagMatch","curIndex","startTagMatch","parseStartTag","handleStartTag","rest","unarySlash","unary","shouldDecodeNewlinesForHref","lowerCasedTag","lowerCasedTagName","parseHTML","comments","ieNSBug","ieNSPrefix","guardIESVGBug","forbidden","checkRootConstraints","processPre","processRawAttrs","processed","processFor","if","addIfCondition","block","else","elseif","processIf","processOnce","processElement","findPrevElement","processIfConditions","slotScope","slotTarget","lastNode","tagRE","tokenValue","tokens","rawTokens","exec","@binding","parseText","for","checkInFor","processRef","slotName","processSlot","processComponent","isProp","hasBindings","parseModifiers","camel","argMatch","processAttrs","inMatch","alias","iteratorMatch","iterator1","iterator2","parseFor","condition","ifConditions","cloneASTElement","modules$1","preTransformNode","typeBinding","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","branch1","branch2","isStaticKey","isPlatformReservedTag","baseOptions","_warn","code","genSelect","valueBinding","trueValueBinding","falseValueBinding","genCheckboxModel","genRadioModel","needCompositionGuard","genDefaultModel","reduce","genStaticKeys","genStaticKeysCached","optimize","markStatic$1","static","isDirectChildOfTemplateFor","l$1","markStaticRoots","staticInFor","staticRoot","fnExpRE","simplePathRE","esc","tab","space","up","down","keyNames","genGuard","modifierCode","stop","prevent","self","ctrl","alt","meta","genHandlers","genHandler","isMethodPath","isFunctionExpression","genModifierCode","keyModifier","genFilterCode","genKeyFilter","keyVal","keyCode","keyName","baseDirectives","wrapListeners","wrapData","cloak","CodegenState","dataGenFns","maybeComponent","onceId","generate","ast","state","genElement","staticProcessed","genStatic","onceProcessed","genOnce","forProcessed","altGen","altHelper","genFor","ifProcessed","genIf","genChildren","bind$$1","genSlot","componentName","genData$2","genComponent","altEmpty","genIfConditions","conditions","genTernaryExp","needRuntime","hasRuntime","gen","genDirectives","genProps","genScopedSlot","inlineRenderFns","genInlineTemplate","genForScopedSlot","checkSkip","altGenElement","altGenNode","el$1","needsNormalization","getNormalizationType","genNode","transformSpecialNewlines","createFunction","errors","baseCompile","div","compileToFunctions","compile","finalOptions","tips","tip","compiled","fnGenErrors","createCompileToFunctionFn","getShouldDecode","href","idToTemplate","mount","documentElement","outerHTML","container","getOuterHTML","__webpack_exports__","__g","TypeError","store","USE_SYMBOL","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","toInteger","min","u","y","__e","random","virtual","propertyIsEnumerable","ceil","valueOf","x","w","$isLabel","$groupLabel","search","isOpen","prefferedOpenDirection","optimizedHeight","maxHeight","internalSearch","required","trackBy","label","searchable","clearOnSelect","hideSelected","allowEmpty","resetAfter","closeOnSelect","customLabel","taggable","tagPlaceholder","tagPosition","optionsLimit","groupValues","groupLabel","groupSelect","blockKeys","preserveSearch","preselectFirst","internalValue","select","filteredOptions","filterAndFlat","isSelected","isExistingOption","isTag","valueKeys","optionKeys","flatAndStrip","currentOptionLabel","getOptionLabel","updateSearch","selectGroup","disabled","$isDisabled","pointerDirty","deactivate","removeElement","find","wholeGroupSelected","removeLastElement","adjustPosition","pointer","focus","blur","toggle","innerHeight","bottom","openDirection","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","optionHighlight","multiselect__option--highlight","multiselect__option--selected","groupHighlight","multiselect__option--group-selected","addPointerElement","pointerReset","pointerForward","scrollTop","pointerBackward","pointerSet","L","k","E","V","entries","values","contentWindow","write","getOwnPropertySymbols","inspectSource","selectLabel","selectGroupLabel","selectedLabel","deselectLabel","deselectGroupLabel","showLabels","limit","limitText","showNoResults","tabindex","isSingleLabelVisible","singleValue","visibleValues","isPlaceholderVisible","deselectLabelText","deselectGroupLabelText","selectLabelText","selectGroupLabelText","selectedLabelText","inputStyle","width","position","padding","contentStyle","isAbove","showSearchInput","hasSingleSelectedSlot","visibleSingleValue","done","preventExtensions","KEY","NEED","fastKey","getWeak","onFreeze","getPrototypeOf","Arguments","C","T","A","$","D","M","N","H","QObject","I","findChild","K","z","iterator","J","X","Y","Q","Z","tt","et","keyFor","useSetter","useSimple","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","beforeCreate","_injectStyles","esModule","multiselect--active","multiselect--disabled","multiselect--above","keydown","currentTarget","preventDefault","stopPropagation","keyup","mousedown","aria-hidden","autocomplete","input","data-select","data-selected","data-deselect","click","mouseenter","isBuffer","isFunction","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","product","merge","assignValue","thisArg","createDesc","fails","IObject","defined","pIE","toIObject","gOPD","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toLength","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","$ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","arrayEntries","arrayLastIndexOf","arrayReduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","Uint16Array","FORCED_SET","toOffset","BYTES","offset","validate","speciesFromList","fromList","addGetter","internal","_d","$from","step","aLen","mapfn","mapping","iterFn","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","callbackfn","fill","predicate","findIndex","searchElement","includes","separator","reverse","comparefn","subarray","begin","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","arrayLike","$iterators","isTAIndex","$getDesc","$setDesc","desc","$TypedArrayPrototype$","wrapper","CLAMPED","NAME","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","that","round","$offset","$length","byteLength","$len","iter","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","aFunction","META","setDesc","FREEZE","setMeta","SRC","$toString","TPL","safe","$keys","enumBugKeys","px","bitmap","TYPE","UNSCOPABLES","IE_PROTO","ObjectProto","stat","Constructor","forbiddenField","process","VueLocalStorage","_properties","_namespace","_isSupported","_getLsKey","lsKey","_lsSet","rawValue","localStorage","setItem","_lsGet","defaultValue","defaultType","_process","removeItem","addProperty","array","vueLocalStorage","server","SERVER_BUILD","isSupported","existingProp","log","asc","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","dPs","Empty","createDict","iframeDocument","iframe","lt","Properties","hiddenKeys","SYMBOL","strfn","rxfn","string","forOf","setToStringTag","inheritIfRequired","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","iterable","getConstructor","setStrong","BREAK","RETURN","SAFE_CLOSING","riter","skipClosing","DESCRIPTORS","SPECIES","eval","isServer","vNode","$isServer","elements","composedPath","contains","popupItem","isPopup","__vueClickOutside__","$expm1","expm1","sign","$defineProperty","MATCH","searchString","defer","invoke","cel","setTask","clearTask","clearImmediate","Dispatch","counter","listener","now","importScripts","check","setPrototypeOf","buggy","addToUnscopables","iterated","kind","getIteratorMethod","cof","ARG","tryGet","callee","endPos","shared","IS_INCLUDES","fromIndex","Typed","TypedArrayConstructors","utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","setContentTypeIfUnset","headers","adapter","defaults","XMLHttpRequest","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","Accept","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","title","browser","argv","versions","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","repeat","maxLength","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","getKeys","isEnum","isEntries","log1p","count","Infinity","windowNames","getWindowNames","promise","$$resolve","$$reject","gOPS","getSymbols","un","$has","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","entry","ufstore","$assign","assign","$iterDefine","SIZE","getEntry","inc","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","names","PROTOTYPE","WRONG_INDEX","BaseBuffer","abs","pow","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","intIndex","pack","conversion","ArrayBufferProto","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","Cancel","message","__CANCEL__","enhanceError","request","response","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","requestData","requestHeaders","loadEvent","xDomain","XDomainRequest","url","onprogress","ontimeout","auth","username","password","Authorization","paramsSerializer","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseType","responseText","statusText","onerror","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","cancel","abort","send","unescape","encodeURIComponent","sources","sourceRoot","parts","media","sourceMap","styleSheet","DEBUG","head","getElementsByTagName","locals","STATE_CHANGER","INFINITE_EVENT","INFINITE_LOOP","scrollParent","scrollHandler","isLoading","isComplete","isFirstLoad","debounceTimer","debounceDuration","infiniteLoopChecked","infiniteLoopTimer","continuousCallTimes","Spinner","isNoResults","isNoMore","distance","onInfinite","spinner","direction","forceUseInfiniteWrapper","getScrollParent","Event","attemptLoad","stateChanger","loaded","complete","reset","deactivated","activated","getCurrentDistance","offsetWidth","pageYOffset","overflowY","BUBBLES","CIRCLES","SPIRAL","WAVEDOTS","spinnerView","isBrowser","longerTimeoutBrowsers","timeoutDuration","debounce","scheduled","functionToCheck","getStyleComputedProperty","getParentNode","nodeName","host","ownerDocument","_getStyleComputedProp","overflow","overflowX","isIE11","MSInputMethodContext","documentMode","isIE10","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","scrollingElement","getBordersSize","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","height","classCallCheck","createClass","descriptor","protoProps","staticProps","_extends","getClientRect","offsets","rect","scrollLeft","sizes","clientWidth","clientHeight","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","reference","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","_ref","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","getOuterSizes","marginBottom","marginRight","getOppositePlacement","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","ends","enabled","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","prefix","toCheck","getWindow","defaultView","setupEventListeners","updateBound","scrollElement","attachToScrollParents","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","isNumeric","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","transformProp","popperStyles","priority","primary","escapeWithReference","secondary","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","getOppositeVariation","inner","subtractLength","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","onLoad","modifierOptions","Popper","_this","isDestroyed","isCreated","jquery","enableEventListeners","Utils","PopperUtils","SVGAnimatedString","convertToArray","addClasses","classes","newClasses","className","baseVal","newClass","SVGElement","removeClasses","_typeof","classCallCheck$1","createClass$1","_extends$1","DEFAULT_OPTIONS","openTooltips","Tooltip","_initialiseProps","_isOpen","_classes","content","_tooltipNode","_setContent","classesUpdated","defaultClass","setClasses","getOptions","needPopperUpdate","needRestart","dispose","popperInstance","_isDisposed","_enableDocumentTouch","_setEventListeners","tooltipGenerator","tooltipNode","substr","autoHide","asyncContent","_applyContent","_this2","allowHtml","rootNode","titleNode","innerSelector","loadingClass","loadingContent","asyncResult","catch","innerText","_disposeTimer","updateClasses","_ensureShown","_this3","_create","_findContainer","_append","popperOptions","arrowSelector","_this4","_noLongerOpen","disposeTime","disposeTimeout","_this5","func","_hide","_this6","directEvents","oppositeEvents","hideOnTargetClick","evt","usedByTooltip","_scheduleShow","_scheduleHide","_this7","computedDelay","_scheduleTimer","_show","_this8","_setTooltipNodeEvent","_this9","_dispose","relatedreference","toElement","relatedTarget","evt2","relatedreference2","_onDocumentTouch","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultHtml","defaultTemplate","defaultArrowSelector","defaultInnerSelector","defaultDelay","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","popover","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultAutoHide","defaultHandleResize","typeofOffset","getPlacement","getContent","destroyTooltip","_tooltip","_tooltipOldShow","_tooltipTargetClasses","tooltip","setContent","setOptions","_vueEl","targetClasses","createTooltip","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","screenY","screenX","vclosepopover","isIE$1","initCompat","ua","msie","rv","edge","getInternetExplorerVersion","ResizeObserver","_h","addResizeHandlers","_resizeObject","contentDocument","_w","removeResizeHandlers","onload","beforeDestroy","plugin$2","GlobalVue$1","getDefault","MSStream","openPopovers","Element","Popover","_vm","cssClass","aria-describedby","popoverId","popoverBaseClass","popoverClass","visibility","popoverWrapperClass","popoverInnerClass","handleResize","$_handleResize","popoverArrowClass","openGroup","oldVal","popoverNode","$_findContainer","$_removeEventListeners","$_addEventListeners","$_updatePopper","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","_ref$force","skipDelay","$_scheduleShow","$_beingShowed","$_scheduleHide","$_show","$_disposeTimer","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref3","$_restartPopper","$_handleGlobalClose","handleGlobalClose","commonjsGlobal","lodash_merge","LARGE_ARRAY_SIZE","HASH_UNDEFINED","HOT_COUNT","HOT_SPAN","MAX_SAFE_INTEGER","argsTag","asyncTag","funcTag","genTag","nullTag","objectTag","proxyTag","undefinedTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","freeProcess","nodeUtil","nodeIsTypedArray","isTypedArray","safeGet","funcProto","objectProto","coreJsData","funcToString","maskSrcKey","nativeObjectToString","objectCtorString","reIsNative","Buffer","allocUnsafe","getPrototype","objectCreate","symToStringTag","getNative","nativeIsBuffer","nativeMax","nativeNow","Date","Map","nativeCreate","baseCreate","Hash","ListCache","MapCache","Stack","__data__","size","arrayLikeKeys","inherited","isArr","isArg","isArguments","isBuff","isType","skipIndexes","iteratee","baseTimes","isIndex","assignMergeValue","eq","baseAssignValue","objValue","assocIndexOf","getMapData","pairs","fromRight","baseFor","keysFunc","baseGetTag","isOwn","unmasked","getRawTag","objectToString","baseIsArguments","isObjectLike","baseIsNative","toSource","baseKeysIn","nativeKeysIn","isProto","isPrototype","baseMerge","srcIndex","customizer","srcValue","mergeFunc","stacked","newValue","isCommon","isTyped","isArrayLike","copyArray","isDeep","copy","cloneBuffer","typedArray","arrayBuffer","isNew","copyObject","keysIn","toPlainObject","initCloneObject","baseMergeDeep","baseRest","setToString","otherArgs","overRest","lastCalled","stamp","remaining","shortOut","other","isLength","baseUnary","assigner","guard","isIterateeCall","installed","GlobalVue","cloneRoute","fullPath","router","moduleName","registerModule","namespaced","currentRoute","mutations","ROUTE_CHANGED","currentPath","isTimeTraveling","storeUnwatch","route","afterEachUnHook","afterEach","commit","unregisterModule","Appvue_type_template_id_7ba5bd90_render","normalizeComponent","scriptExports","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","shadowRoot","originalRender","_withStripped","beforeMount","getElementById","$store","dataset","__file","App","isError","View","routerView","$route","_routerViewCache","depth","inactive","_routerRoot","routerViewDepth","registerRouteInstance","instances","propsToPass","resolveProps","encodeReserveRE","encodeReserveReplacer","commaRE","encode","decode","decodeURIComponent","parseQuery","param","stringifyQuery","val2","trailingSlashRE","createRoute","record","location","redirectedFrom","stringifyQuery$$1","getFullPath","formatMatch","START","_stringifyQuery","isSameRoute","isObjectEqual","aKeys","bKeys","aVal","bVal","_Vue","toTypes","eventTypes","Link","exact","append","exactActiveClass","$router","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","queryIncludes","isIncludedRoute","guardEvent","findAnchor","metaKey","ctrlKey","shiftKey","defaultPrevented","button","registerInstance","callVal","_router","history","_route","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","resolvePath","relative","firstChar","segment","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","tokensToFunction","tokensToFunction_1","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","escaped","group","asterisk","partial","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","pretty","token","attachKeys","flags","sensitive","strict","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","regexpCompileCache","fillParams","routeMsg","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","childMatchAs","aliases","aliasRoute","normalizeLocation","_normalized","vue_router_esm_assign","rawPath","parsedPath","hashIndex","queryIndex","basePath","extraQuery","_parseQuery","parsedQuery","resolveQuery","createMatcher","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedMatch","aliasedRecord","addRoutes","positionStore","setupScroll","replaceState","getStateKey","saveScrollPosition","_key","handleScroll","isPop","app","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","pageXOffset","isValidPosition","normalizePosition","selector","docRect","elRect","getElementPosition","scrollTo","supportsPushState","Time","genKey","toFixed","pushState","runQueue","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","flatten","History","baseEl","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","extractGuards","records","guards","extractGuard","bindGuard","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","resolveQueue","extractLeaveGuards","beforeHooks","extractUpdateHooks","postEnterCbs","isValid","poll","bindEnterGuard","extractEnterGuards","resolveHooks","afterHooks","HTML5History","History$$1","expectScroll","initLocation","getLocation","go","fromRoute","getCurrentLocation","pathname","HashHistory","checkFallback","ensureSlash","setupListeners","supportsScroll","getHash","replaceHash","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","registerHook","setupHashListener","beforeEach","beforeResolve","back","forward","getMatchedComponents","createHref","normalizedTo","vue_router_esm","Usersvue_type_template_id_68be103e_render","menu","defaultQuota","quotaOptions","tag-placeholder","track-by","validateQuota","setDefaultQuota","showLanguages","checked","$$a","$$el","$$c","$$i","showLastLogin","showUserBackend","showStoragePath","users","showConfig","selectedGroup","appNavigationvue_type_template_id_142c1cb5_render","icon-loading","new","icon","action","data-apps-slide-toggle","navigationItemvue_type_template_id_2cb61dde_render","icon-loading-small","opened","collapsible","navElement","bullet","backgroundColor","toggleCollapse","iconUrl","isInteger","actions","hideMenu","showMenu","openedMenu","undo","edit","cancelEdit","popoverMenuvue_type_template_id_04ea21c4_render","popoverItemvue_type_template_id_4c6af9e6_render","longtext","popoverItem_component","popoverMenu_component","popoverItem","popoverMenu","navigationItem_component","ClickOutside","vue_click_outside_default","vue_esm","appNavigation_component","navigationItem","appNavigation","userListvue_type_template_id_40745299_render","&scroll","onScroll","sticky","scrolled","showNewUserForm","subAdminsGroups","settings","isAdmin","submit","createUser","newUser","autocapitalize","autocorrect","displayName","mailAddress","minlength","minPasswordLength","close-on-select","$$v","quota","languages","group-values","group-label","language","resetForm","filteredUsers","infinite","infiniteHandler","userRowvue_type_template_id_d19586ce_render","disable","generateAvatar","srcset","updateDisplayName","rand","spellcheck","displayname","canChangePassword","updatePassword","updateEmail","email","userGroups","createGroup","addUserGroup","removeUserGroup","formatGroupsTitle","auto","subadmins","userSubAdminsGroups","addUserSubAdmin","removeUserSubAdmin","userQuota","setUserQuota","usedQuota","userLanguage","setUserLanguage","storageLocation","lastLogin","OC","Util","formatDate","relativeModifiedDate","currentUser","toggleMenu","userActions","v_tooltip_esm","userRow_component","Multiselect","vue_multiselect_min_default","deleteUser","enableDisableUser","subadmin","used","humanQuota","humanFileSize","getters","getPasswordPolicyMinLength","userLang","lang","generateUrl","oc_userconfig","avatar","userid","dispatch","gid","getGroups","_this10","_this11","_this12","_this13","_this14","validQuota","computerFileSize","_this15","userRow","userList_component","InfiniteLoading","vue_infinite_loading_default","unlimitedQuota","Notification","showTemporary","defaultLanguage","setNewUserDefaultGroup","getServerData","disabledUsers","infiniteLoading","oc_current_user","localeCompare","getSubadminGroups","quotaPreset","acc","usersOffset","getUsersOffset","usersLimit","getUsersLimit","commonlanguages","$state","currentGroup","userList","tokenHeaders","requesttoken","sanitize","store_api","passwordTimeout","promiseTimeout","getElementsByClassName","PasswordConfirmation","requirePasswordConfirmation","waitForpassword","requiresPasswordConfirmation","axios_default","post","put","vue_local_storage_default","Users_component","orderBy","sortGroups","userCount","selectedQuota","toggleNewUserMenu","newusername","getLocalstorage","localConfig","$localStorage","setLocalStorage","removeGroup","groupid","dialogs","confirm","success","Usersvue_type_script_lang_js_typeof","getUsers","getUserCount","adminGroup","usercount","disabledGroupIndex","disabledGroup","everyoneGroup","Users","Appsvue_type_template_id_33a216a8_render","with-app-sidebar","currentApp","loadingList","category","appListvue_type_template_id_a1862e02_render","useBundleView","useListView","useAppStoreView","bundles","bundle","bundleApps","bundleToggleText","toggleBundle","list-view","searchApps","appItemvue_type_template_id_1c68d544_render","showAppDetails","listView","preview","screenshot","viewBox","filterId","in","preserveAspectRatio","filterUrl","xlink:href","summary","appstoreData","releases","level","score","installing","canUnInstall","enableButtonTooltip","enableButtonText","canInstall","enable","appScorevue_type_template_id_71d71231_render","scoreImage","appScore_component","imageName","imagePath","appScore","appManagement_component","groupCheckedAppsData","appGroups","needsDownload","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","addGroupLimitation","removeGroupLimitation","currentGroups","Settings","Apps","rebuildNavigation","appManagement_render","appManagement_staticRenderFns","appManagement","svgFilterMixin_component","getSeconds","getMilliseconds","svgFilterMixin_render","svgFilterMixin_staticRenderFns","svgFilterMixin","appItem_component","$route.params.id","AppScore","_prefix","appItem","prefixMixin_component","prefixMixin_render","prefixMixin_staticRenderFns","prefixMixin","appList_component","getAllApps","naturalSortCompare","appstore","bundleId","_app","allBundlesEnabled","disableBundle","enableBundle","appList","appDetailsvue_type_template_id_273c8e71_render","hideAppDetails","previewAsIcon","hasRating","ratingOverall","author","licence","options-limit","appstoreUrl","rel","website","bugs","documentation","admin","developer","missingMinOwnCloudVersion","missingMaxOwnCloudVersion","missingDependencies","renderMarkdown","appDetails_component","ratingNumOverall","@value","renderer","marked","Renderer","link","prot","image","blockquote","quote","DOMPurify","description","gfm","highlight","tables","breaks","pedantic","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","appDetails","Apps_component","AppDetails","setSearch","updateCount","categories","getCategories","getUpdateCount","ident","defaultCategories","appstoreEnabled","activeGroup","developerDocumentation","applyMixin","vuexInit","devtoolHook","forEachValue","Module","rawModule","runtime","_children","_rawModule","rawState","prototypeAccessors$1","addChild","getChild","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","register","getNamespace","targetModule","newModule","rawChildModule","unregister","Store","vuex_esm_install","plugins","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","payload","installModule","resetStoreVM","_devtoolHook","targetState","subscribe","mutation","devtoolPlugin","vuex_esm_prototypeAccessors","genericSubscribe","resetStore","hot","oldVm","$$state","enableStrictMode","_withCommit","rootState","isRoot","parentState","getNestedState","local","noNamespace","_type","_payload","_options","unifyObjectStyle","gettersProxy","splitPos","localType","makeLocalGetters","makeLocalContext","registerMutation","rootGetters","registerAction","rawGetter","registerGetter","subscribeAction","preserveState","hotUpdate","newOptions","committing","mapState","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","helper","vuex_esm","createNamespacedHelpers","orderGroups","appendUsers","usersObj","setPasswordPolicyMinLength","initGroups","addGroup","groupIndex","groupSearch","_ref4","_ref5","_ref6","userIndex","addUserData","ocs","_ref7","setUserData","_ref8","humanValue","resetUsers","_ref9","linkToOCS","_ref10","getUsersFromList","_ref11","getUsersFromGroup","_ref12","oc_capabilities","password_policy","minLength","_ref13","_ref14","_ref15","_ref16","_ref17","addUser","_ref18","_ref19","_ref20","_ref20$enabled","userStatus","_ref21","allowedEmpty","store_apps","APPS_API_FAILURE","showHtml","initCategories","setUpdateCount","addCategory","appendCategories","categoriesArray","setAllApps","setError","clearError","enableApp","disableApp","removable","uninstallApp","updateApp","resetApps","startLoading","_id","stopLoading","appIds","_appId","update_required","reload","serverData","setServerData","oc","setAppConfig","store_mutations","API_FAILURE","vuex_router_sync","main_app","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","regeneratorRuntime","wrap","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","getProto","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","isGeneratorFunction","genFun","ctor","mark","awrap","__await","defineIteratorMethods","AsyncIterator","async","innerFn","outerFn","tryLocsList","Context","skipTempReset","sent","_sent","delegate","tryEntries","resetTryEntry","rootRecord","completion","rval","dispatchException","exception","handle","loc","caught","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","abrupt","finallyEntry","afterLoc","finish","thrown","delegateYield","resultName","nextLoc","protoGenerator","generator","_invoke","doneResult","delegateResult","maybeInvokeDelegate","tryCatch","makeInvokeMethod","previousPromise","callInvokeWithMethodAndArg","unwrapped","return","pushTryEntry","locs","iteratorMethod","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","$task","MSIE","time","boundArgs","setInterval","$pad","padEnd","padStart","createProperty","getOwnPropertyDescriptors","getDesc","$values","$includes","trunc","tanh","sinh","log2","log10","LOG10E","$imul","imul","xn","yn","xl","yl","hypot","value1","value2","sum","larg","sqrt","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","cosh","clz32","LOG2E","cbrt","$atanh","atanh","$asinh","asinh","$acosh","acosh","MAX_VALUE","MIN_SAFE_INTEGER","isSafeInteger","_isFinite","$find","forced","SEARCH","$search","regexp","SPLIT","$split","_split","$push","NPCG","separator2","lastLength","output","ignoreCase","multiline","unicode","lastLastIndex","splitLimit","separatorCopy","REPLACE","$replace","searchValue","replaceValue","$match","$endsWith","endsWith","endPosition","$startsWith","startsWith","TO_STRING","$at","codePointAt","fromCharCode","$fromCodePoint","fromCodePoint","callSite","tpl","FProto","nameRE","$getPrototypeOf","$getOwnPropertyDescriptor","$isExtensible","$isSealed","$isFrozen","$preventExtensions","$seal","$freeze","symbols","wksExt","$fails","wksDefine","enumKeys","gOPNExt","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","setSymbolDesc","protoDesc","sym","isSymbol","$defineProperties","$propertyIsEnumerable","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","replacer","$replacer","newPromiseCapability","promiseCapability","macrotask","MutationObserver","WebKitMutationObserver","isNode","flush","domain","exit","standalone","characterData","task","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","$Promise","empty","FakePromise","PromiseRejectionEvent","isThenable","isReject","chain","ok","reaction","exited","fail","onHandleUnhandled","onUnhandled","unhandled","isUnhandled","onunhandledrejection","_a","onrejectionhandled","$reject","$resolve","executor","onFulfilled","onRejected","capability","$index","alreadyCalled","race","setProto","propertyKey","existingDescriptor","receiver","ownDesc","deleteProperty","factories","partArgs","construct","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","rApply","fApply","thisArgument","argumentsList","weak","InternalMap","each","$WeakMap","strong","$isView","first","final","viewS","viewT","CancelToken","resolvePromise","throwIfRequested","baseURL","relativeURL","transformData","isCancel","isAbsoluteURL","combineURLs","throwIfCancellationRequested","InterceptorManager","fulfilled","rejected","eject","expires","secure","cookie","toGMTString","charCode","idx","originURL","urlParsingNode","resolveURL","protocol","hostname","requestURL","parsed","ignoreDuplicateOf","line","serializedParams","toISOString","dispatchRequest","Axios","instanceConfig","interceptors","interceptor","readFloatLE","isSlowBuffer","_isBuffer","createInstance","defaultConfig","axios","promises","spread","registerImmediate","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","runIfPresent","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","script","onreadystatechange","attachEvent","scope","Timeout","clearFn","_clearFn","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout"],"mappings":"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","file":"settings-vue.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 109);\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","/*!\n * Vue.js v2.5.16\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// these helpers produces better vm code in JS engines due to their\n// explicitness and function inlining\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value e.g. [object Object]\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if a attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured'\n];\n\n/* */\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = /[^\\w.$]/;\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = (function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {};\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false && isObject(value) && ('@binding' in value))\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n logError(e, null, 'config.errorHandler');\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n/* globals MessageChannel */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = function () {\n p.then(flushCallbacks);\n // in problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\n })\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n perf.clearMeasures(name);\n };\n }\n}\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n warnNonPresent(target, key);\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n warnNonPresent(target, key);\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur);\n }\n add(event.name, cur, event.once, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor,\n context\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (isDef(factory.contexts)) {\n // already pending\n factory.contexts.push(context);\n } else {\n var contexts = factory.contexts = [context];\n var sync = true;\n\n var forceRender = function () {\n for (var i = 0, l = contexts.length; i < l; i++) {\n contexts[i].$forceUpdate();\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender();\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender();\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (typeof res.then === 'function') {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isDef(res.component) && typeof res.component.then === 'function') {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n setTimeout(function () {\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender();\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n setTimeout(function () {\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn, once) {\n if (once) {\n target.$once(event, fn);\n } else {\n target.$on(event, fn);\n }\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$off(event[i], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n if (fn) {\n // specific handler\n var cb;\n var i$1 = cbs.length;\n while (i$1--) {\n cb = cbs[i$1];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i$1, 1);\n break\n }\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n for (var i = 0, l = cbs.length; i < l; i++) {\n try {\n cbs[i].apply(vm, args);\n } catch (e) {\n handleError(e, vm, (\"event handler for \\\"\" + event + \"\\\"\"));\n }\n }\n }\n return vm\n };\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n var slots = {};\n if (!children) {\n return slots\n }\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res\n) {\n res = res || {};\n for (var i = 0; i < fns.length; i++) {\n if (Array.isArray(fns[i])) {\n resolveScopedSlots(fns[i], res);\n } else {\n res[fns[i].key] = fns[i].fn;\n }\n }\n return res\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n if (vm._isMounted) {\n callHook(vm, 'beforeUpdate');\n }\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(\n vm.$el, vnode, hydrating, false /* removeOnly */,\n vm.$options._parentElm,\n vm.$options._refElm\n );\n // no need for the ref nodes after initial patch\n // this prevents keeping a detached DOM tree in memory (#5851)\n vm.$options._parentElm = vm.$options._refElm = null;\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n activeInstance = prevActiveInstance;\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, null, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren\n var hasChildren = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n parentVnode.data.scopedSlots || // has new scoped slots\n vm.$scopedSlots !== emptyObject // has old scoped slots\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (hasChildren) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n try {\n handlers[i].call(vm);\n } catch (e) {\n handleError(e, vm, (hook + \" hook\"));\n }\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\nvar uid$1 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$1; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = function () {};\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n var dep = this$1.deps[i];\n if (!this$1.newDepIds.has(dep.id)) {\n dep.removeSub(this$1);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n var this$1 = this;\n\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].removeSub(this$1);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive(props, key, value, function () {\n if (vm.$parent && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : userDef;\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : userDef.get\n : noop;\n sharedPropertyDefinition.set = userDef.set\n ? userDef.set\n : noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (methods[key] == null) {\n warn(\n \"Method \\\"\" + key + \"\\\" has an undefined value in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = methods[key] == null ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function (newData) {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n cb.call(vm, watcher.value);\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject).filter(function (key) {\n /* istanbul ignore next */\n return Object.getOwnPropertyDescriptor(inject, key).enumerable\n })\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n if (isDef(ret)) {\n (ret)._isVList = true;\n }\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n var slotNodes = this.$slots[name];\n // warn duplicate slot usage\n if (slotNodes) {\n if (process.env.NODE_ENV !== 'production' && slotNodes._rendered) {\n warn(\n \"Duplicate presence of slot \\\"\" + name + \"\\\" found in the same render tree \" +\n \"- this will likely cause render errors.\",\n this\n );\n }\n slotNodes._rendered = true;\n }\n nodes = slotNodes || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n if (!(key in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () { return resolveSlots(children, parent); };\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = data.scopedSlots || emptyObject;\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n\n\n\n// Register the component hook to weex native render engine.\n// The hook will be triggered by native, not javascript.\n\n\n// Updates the state of the component to weex native render engine.\n\n/* */\n\n// https://github.com/Hanks10100/weex-native-directive/tree/master/component\n\n// listening on native callback\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (\n vnode,\n hydrating,\n parentElm,\n refElm\n ) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance,\n parentElm,\n refElm\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor, context);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n // Weex specific: invoke recycle-list optimized @render function for\n // extracting cell-slot template.\n // https://github.com/Hanks10100/weex-native-directive/tree/master/component\n /* istanbul ignore if */\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent, // activeInstance in lifecycle state\n parentElm,\n refElm\n) {\n var options = {\n _isComponent: true,\n parent: parent,\n _parentVnode: vnode,\n _parentElm: parentElm || null,\n _refElm: refElm || null\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n hooks[key] = componentVNodeHooks[key];\n }\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input';(data.props || (data.props = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n if (isDef(on[event])) {\n on[event] = [data.model.callback].concat(on[event]);\n } else {\n on[event] = data.model.callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if (isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n // reset _rendered flag on slots for duplicate slot check\n if (process.env.NODE_ENV !== 'production') {\n for (var key in vm.$slots) {\n // $flow-disable-line\n vm.$slots[key]._rendered = false;\n }\n }\n\n if (_parentVnode) {\n vm.$scopedSlots = _parentVnode.data.scopedSlots || emptyObject;\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n if (vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n opts._parentElm = options._parentElm;\n opts._refElm = options._refElm;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var extended = Ctor.extendOptions;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = dedupe(latest[key], extended[key], sealed[key]);\n }\n }\n return modified\n}\n\nfunction dedupe (latest, extended, sealed) {\n // compare latest and sealed to ensure lifecycle hooks won't be duplicated\n // between merges\n if (Array.isArray(latest)) {\n var res = [];\n sealed = Array.isArray(sealed) ? sealed : [sealed];\n extended = Array.isArray(extended) ? extended : [extended];\n for (var i = 0; i < latest.length; i++) {\n // push original options and not sealed options to exclude duplicated options\n if (extended.indexOf(latest[i]) >= 0 || sealed.indexOf(latest[i]) < 0) {\n res.push(latest[i]);\n }\n }\n return res\n } else {\n return latest\n }\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n var this$1 = this;\n\n for (var key in this$1.cache) {\n pruneCacheEntry(this$1.cache, key, this$1.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n}\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n}\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.5.16';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,translate,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isPreTag = function (tag) { return tag === 'pre'; };\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\n\nvar nodeOps = Object.freeze({\n\tcreateElement: createElement$1,\n\tcreateElementNS: createElementNS,\n\tcreateTextNode: createTextNode,\n\tcreateComment: createComment,\n\tinsertBefore: insertBefore,\n\tremoveChild: removeChild,\n\tappendChild: appendChild,\n\tparentNode: parentNode,\n\tnextSibling: nextSibling,\n\ttagName: tagName,\n\tsetTextContent: setTextContent,\n\tsetStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n}\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove () {\n if (--remove.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove.listeners = listeners;\n return remove\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */, parentElm, refElm);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (ref$$1.parentNode === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (oldVnode, vnode, insertedVnodeQueue, removeOnly) {\n if (oldVnode === vnode) {\n return\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly, parentElm, refElm) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue, parentElm, refElm);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm$1 = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm$1,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm$1)) {\n removeVnodes(parentElm$1, [oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n}\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n]\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value) {\n if (el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, isFalsyAttrValue(value) || value === 'false' ? 'false' : 'true');\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n}\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n}\n\n/* */\n\nvar validDivisionCharRE = /[\\w).+\\-_$\\]]/;\n\nfunction parseFilters (exp) {\n var inSingle = false;\n var inDouble = false;\n var inTemplateString = false;\n var inRegex = false;\n var curly = 0;\n var square = 0;\n var paren = 0;\n var lastFilterIndex = 0;\n var c, prev, i, expression, filters;\n\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5C) { inSingle = false; }\n } else if (inDouble) {\n if (c === 0x22 && prev !== 0x5C) { inDouble = false; }\n } else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }\n } else if (inRegex) {\n if (c === 0x2f && prev !== 0x5C) { inRegex = false; }\n } else if (\n c === 0x7C && // pipe\n exp.charCodeAt(i + 1) !== 0x7C &&\n exp.charCodeAt(i - 1) !== 0x7C &&\n !curly && !square && !paren\n ) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22: inDouble = true; break // \"\n case 0x27: inSingle = true; break // '\n case 0x60: inTemplateString = true; break // `\n case 0x28: paren++; break // (\n case 0x29: paren--; break // )\n case 0x5B: square++; break // [\n case 0x5D: square--; break // ]\n case 0x7B: curly++; break // {\n case 0x7D: curly--; break // }\n }\n if (c === 0x2f) { // /\n var j = i - 1;\n var p = (void 0);\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ') { break }\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n function pushFilter () {\n (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n\n if (filters) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i]);\n }\n }\n\n return expression\n}\n\nfunction wrapFilter (exp, filter) {\n var i = filter.indexOf('(');\n if (i < 0) {\n // _f: resolveFilter\n return (\"_f(\\\"\" + filter + \"\\\")(\" + exp + \")\")\n } else {\n var name = filter.slice(0, i);\n var args = filter.slice(i + 1);\n return (\"_f(\\\"\" + name + \"\\\")(\" + exp + (args !== ')' ? ',' + args : args))\n }\n}\n\n/* */\n\nfunction baseWarn (msg) {\n console.error((\"[Vue compiler]: \" + msg));\n}\n\nfunction pluckModuleFunction (\n modules,\n key\n) {\n return modules\n ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })\n : []\n}\n\nfunction addProp (el, name, value) {\n (el.props || (el.props = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\nfunction addAttr (el, name, value) {\n (el.attrs || (el.attrs = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value) {\n el.attrsMap[name] = value;\n el.attrsList.push({ name: name, value: value });\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n modifiers\n) {\n (el.directives || (el.directives = [])).push({ name: name, rawName: rawName, value: value, arg: arg, modifiers: modifiers });\n el.plain = false;\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn\n) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n process.env.NODE_ENV !== 'production' && warn &&\n modifiers.prevent && modifiers.passive\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.'\n );\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = '!' + name; // mark the event as captured\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = '~' + name; // mark the event as once\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = '&' + name; // mark the event as passive\n }\n\n // normalize click.right and click.middle since they don't actually fire\n // this is technically browser-specific, but at least for now browsers are\n // the only target envs that have right/middle clicks.\n if (name === 'click') {\n if (modifiers.right) {\n name = 'contextmenu';\n delete modifiers.right;\n } else if (modifiers.middle) {\n name = 'mouseup';\n }\n }\n\n var events;\n if (modifiers.native) {\n delete modifiers.native;\n events = el.nativeEvents || (el.nativeEvents = {});\n } else {\n events = el.events || (el.events = {});\n }\n\n var newHandler = {\n value: value.trim()\n };\n if (modifiers !== emptyObject) {\n newHandler.modifiers = modifiers;\n }\n\n var handlers = events[name];\n /* istanbul ignore if */\n if (Array.isArray(handlers)) {\n important ? handlers.unshift(newHandler) : handlers.push(newHandler);\n } else if (handlers) {\n events[name] = important ? [newHandler, handlers] : [handlers, newHandler];\n } else {\n events[name] = newHandler;\n }\n\n el.plain = false;\n}\n\nfunction getBindingAttr (\n el,\n name,\n getStatic\n) {\n var dynamicValue =\n getAndRemoveAttr(el, ':' + name) ||\n getAndRemoveAttr(el, 'v-bind:' + name);\n if (dynamicValue != null) {\n return parseFilters(dynamicValue)\n } else if (getStatic !== false) {\n var staticValue = getAndRemoveAttr(el, name);\n if (staticValue != null) {\n return JSON.stringify(staticValue)\n }\n }\n}\n\n// note: this only removes the attr from the Array (attrsList) so that it\n// doesn't get processed by processAttrs.\n// By default it does NOT remove it from the map (attrsMap) because the map is\n// needed during codegen.\nfunction getAndRemoveAttr (\n el,\n name,\n removeFromMap\n) {\n var val;\n if ((val = el.attrsMap[name]) != null) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i].name === name) {\n list.splice(i, 1);\n break\n }\n }\n }\n if (removeFromMap) {\n delete el.attrsMap[name];\n }\n return val\n}\n\n/* */\n\n/**\n * Cross-platform code generation for component v-model\n */\nfunction genComponentModel (\n el,\n value,\n modifiers\n) {\n var ref = modifiers || {};\n var number = ref.number;\n var trim = ref.trim;\n\n var baseValueExpression = '$$v';\n var valueExpression = baseValueExpression;\n if (trim) {\n valueExpression =\n \"(typeof \" + baseValueExpression + \" === 'string'\" +\n \"? \" + baseValueExpression + \".trim()\" +\n \": \" + baseValueExpression + \")\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n var assignment = genAssignmentCode(value, valueExpression);\n\n el.model = {\n value: (\"(\" + value + \")\"),\n expression: (\"\\\"\" + value + \"\\\"\"),\n callback: (\"function (\" + baseValueExpression + \") {\" + assignment + \"}\")\n };\n}\n\n/**\n * Cross-platform codegen helper for generating v-model value assignment code.\n */\nfunction genAssignmentCode (\n value,\n assignment\n) {\n var res = parseModel(value);\n if (res.key === null) {\n return (value + \"=\" + assignment)\n } else {\n return (\"$set(\" + (res.exp) + \", \" + (res.key) + \", \" + assignment + \")\")\n }\n}\n\n/**\n * Parse a v-model expression into a base path and a final key segment.\n * Handles both dot-path and possible square brackets.\n *\n * Possible cases:\n *\n * - test\n * - test[key]\n * - test[test1[key]]\n * - test[\"a\"][key]\n * - xxx.test[a[a].test1[key]]\n * - test.xxx.a[\"asa\"][test1[key]]\n *\n */\n\nvar len;\nvar str;\nvar chr;\nvar index$1;\nvar expressionPos;\nvar expressionEndPos;\n\n\n\nfunction parseModel (val) {\n // Fix https://github.com/vuejs/vue/pull/7730\n // allow v-model=\"obj.val \" (trailing whitespace)\n val = val.trim();\n len = val.length;\n\n if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {\n index$1 = val.lastIndexOf('.');\n if (index$1 > -1) {\n return {\n exp: val.slice(0, index$1),\n key: '\"' + val.slice(index$1 + 1) + '\"'\n }\n } else {\n return {\n exp: val,\n key: null\n }\n }\n }\n\n str = val;\n index$1 = expressionPos = expressionEndPos = 0;\n\n while (!eof()) {\n chr = next();\n /* istanbul ignore if */\n if (isStringStart(chr)) {\n parseString(chr);\n } else if (chr === 0x5B) {\n parseBracket(chr);\n }\n }\n\n return {\n exp: val.slice(0, expressionPos),\n key: val.slice(expressionPos + 1, expressionEndPos)\n }\n}\n\nfunction next () {\n return str.charCodeAt(++index$1)\n}\n\nfunction eof () {\n return index$1 >= len\n}\n\nfunction isStringStart (chr) {\n return chr === 0x22 || chr === 0x27\n}\n\nfunction parseBracket (chr) {\n var inBracket = 1;\n expressionPos = index$1;\n while (!eof()) {\n chr = next();\n if (isStringStart(chr)) {\n parseString(chr);\n continue\n }\n if (chr === 0x5B) { inBracket++; }\n if (chr === 0x5D) { inBracket--; }\n if (inBracket === 0) {\n expressionEndPos = index$1;\n break\n }\n }\n}\n\nfunction parseString (chr) {\n var stringQuote = chr;\n while (!eof()) {\n chr = next();\n if (chr === stringQuote) {\n break\n }\n }\n}\n\n/* */\n\nvar warn$1;\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\nfunction model (\n el,\n dir,\n _warn\n) {\n warn$1 = _warn;\n var value = dir.value;\n var modifiers = dir.modifiers;\n var tag = el.tag;\n var type = el.attrsMap.type;\n\n if (process.env.NODE_ENV !== 'production') {\n // inputs with type=\"file\" are read only and setting the input's\n // value will throw an error.\n if (tag === 'input' && type === 'file') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\" type=\\\"file\\\">:\\n\" +\n \"File inputs are read only. Use a v-on:change listener instead.\"\n );\n }\n }\n\n if (el.component) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (tag === 'select') {\n genSelect(el, value, modifiers);\n } else if (tag === 'input' && type === 'checkbox') {\n genCheckboxModel(el, value, modifiers);\n } else if (tag === 'input' && type === 'radio') {\n genRadioModel(el, value, modifiers);\n } else if (tag === 'input' || tag === 'textarea') {\n genDefaultModel(el, value, modifiers);\n } else if (!config.isReservedTag(tag)) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (process.env.NODE_ENV !== 'production') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"v-model is not supported on this element type. \" +\n 'If you are working with contenteditable, it\\'s recommended to ' +\n 'wrap a library dedicated for that purpose inside a custom component.'\n );\n }\n\n // ensure runtime directive metadata\n return true\n}\n\nfunction genCheckboxModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';\n var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';\n addProp(el, 'checked',\n \"Array.isArray(\" + value + \")\" +\n \"?_i(\" + value + \",\" + valueBinding + \")>-1\" + (\n trueValueBinding === 'true'\n ? (\":(\" + value + \")\")\n : (\":_q(\" + value + \",\" + trueValueBinding + \")\")\n )\n );\n addHandler(el, 'change',\n \"var $$a=\" + value + \",\" +\n '$$el=$event.target,' +\n \"$$c=$$el.checked?(\" + trueValueBinding + \"):(\" + falseValueBinding + \");\" +\n 'if(Array.isArray($$a)){' +\n \"var $$v=\" + (number ? '_n(' + valueBinding + ')' : valueBinding) + \",\" +\n '$$i=_i($$a,$$v);' +\n \"if($$el.checked){$$i<0&&(\" + (genAssignmentCode(value, '$$a.concat([$$v])')) + \")}\" +\n \"else{$$i>-1&&(\" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + \")}\" +\n \"}else{\" + (genAssignmentCode(value, '$$c')) + \"}\",\n null, true\n );\n}\n\nfunction genRadioModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n valueBinding = number ? (\"_n(\" + valueBinding + \")\") : valueBinding;\n addProp(el, 'checked', (\"_q(\" + value + \",\" + valueBinding + \")\"));\n addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);\n}\n\nfunction genSelect (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var selectedVal = \"Array.prototype.filter\" +\n \".call($event.target.options,function(o){return o.selected})\" +\n \".map(function(o){var val = \\\"_value\\\" in o ? o._value : o.value;\" +\n \"return \" + (number ? '_n(val)' : 'val') + \"})\";\n\n var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';\n var code = \"var $$selectedVal = \" + selectedVal + \";\";\n code = code + \" \" + (genAssignmentCode(value, assignment));\n addHandler(el, 'change', code, null, true);\n}\n\nfunction genDefaultModel (\n el,\n value,\n modifiers\n) {\n var type = el.attrsMap.type;\n\n // warn if v-bind:value conflicts with v-model\n // except for inputs with v-bind:type\n if (process.env.NODE_ENV !== 'production') {\n var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];\n var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];\n if (value$1 && !typeBinding) {\n var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';\n warn$1(\n binding + \"=\\\"\" + value$1 + \"\\\" conflicts with v-model on the same element \" +\n 'because the latter already expands to a value binding internally'\n );\n }\n }\n\n var ref = modifiers || {};\n var lazy = ref.lazy;\n var number = ref.number;\n var trim = ref.trim;\n var needCompositionGuard = !lazy && type !== 'range';\n var event = lazy\n ? 'change'\n : type === 'range'\n ? RANGE_TOKEN\n : 'input';\n\n var valueExpression = '$event.target.value';\n if (trim) {\n valueExpression = \"$event.target.value.trim()\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n\n var code = genAssignmentCode(value, valueExpression);\n if (needCompositionGuard) {\n code = \"if($event.target.composing)return;\" + code;\n }\n\n addProp(el, 'value', (\"(\" + value + \")\"));\n addHandler(el, event, code, null, true);\n if (trim || number) {\n addHandler(el, 'blur', '$forceUpdate()');\n }\n}\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler (handler, event, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\nfunction add$1 (\n event,\n handler,\n once$$1,\n capture,\n passive\n) {\n handler = withMacroTask(handler);\n if (once$$1) { handler = createOnceHandler(handler, event, capture); }\n target$1.addEventListener(\n event,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n event,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n event,\n handler._withTask || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n}\n\n/* */\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (isUndef(props[key])) {\n elm[key] = '';\n }\n }\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else {\n elm[key] = cur;\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.lazy) {\n // inputs with lazy should only be updated when not in focus\n return false\n }\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(name, val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n}\n\n/* */\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(/\\s+/).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(/\\s+/).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def) {\n if (!def) {\n return\n }\n /* istanbul ignore else */\n if (typeof def === 'object') {\n var res = {};\n if (def.css !== false) {\n extend(res, autoCssTransition(def.name || 'v'));\n }\n extend(res, def);\n return res\n } else if (typeof def === 'string') {\n return autoCssTransition(def)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n var transitionDelays = styles[transitionProp + 'Delay'].split(', ');\n var transitionDurations = styles[transitionProp + 'Duration'].split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = styles[animationProp + 'Delay'].split(', ');\n var animationDurations = styles[animationProp + 'Duration'].split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\nfunction toMs (s) {\n return Number(s.slice(0, -1)) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n transitionNode = transitionNode.parent;\n context = transitionNode.context;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {}\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n]\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n}\n\nvar platformDirectives = {\n model: directive,\n show: show\n}\n\n/* */\n\n// Provides transition support for a single element/component.\n// supports transition mode (out-in / in-out)\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(function (c) { return c.tag || isAsyncPlaceholder(c); });\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(function (d) { return d.name === 'show'; })) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n}\n\n/* */\n\n// Provides transition support for list items.\n// supports move transitions using the FLIP technique.\n\n// Because the vdom's children update algorithm is \"unstable\" - i.e.\n// it doesn't guarantee the relative positioning of removed elements,\n// we force transition-group to update its children into two passes:\n// in the first pass, we remove all nodes that need to be removed,\n// triggering their leaving transition; in the second pass, we insert/move\n// into the final desired state. This way in the second pass removed\n// nodes will remain where they should be.\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n beforeUpdate: function beforeUpdate () {\n // force removing pass\n this.__patch__(\n this._vnode,\n this.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this._vnode = this.kept;\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n}\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n}\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n isChrome\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nvar defaultTagRE = /\\{\\{((?:.|\\n)+?)\\}\\}/g;\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\nvar buildRegex = cached(function (delimiters) {\n var open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n var close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n});\n\n\n\nfunction parseText (\n text,\n delimiters\n) {\n var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n var tokens = [];\n var rawTokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, tokenValue;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n rawTokens.push(tokenValue = text.slice(lastIndex, index));\n tokens.push(JSON.stringify(tokenValue));\n }\n // tag token\n var exp = parseFilters(match[1].trim());\n tokens.push((\"_s(\" + exp + \")\"));\n rawTokens.push({ '@binding': exp });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n rawTokens.push(tokenValue = text.slice(lastIndex));\n tokens.push(JSON.stringify(tokenValue));\n }\n return {\n expression: tokens.join('+'),\n tokens: rawTokens\n }\n}\n\n/* */\n\nfunction transformNode (el, options) {\n var warn = options.warn || baseWarn;\n var staticClass = getAndRemoveAttr(el, 'class');\n if (process.env.NODE_ENV !== 'production' && staticClass) {\n var res = parseText(staticClass, options.delimiters);\n if (res) {\n warn(\n \"class=\\\"\" + staticClass + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div class=\"{{ val }}\">, use <div :class=\"val\">.'\n );\n }\n }\n if (staticClass) {\n el.staticClass = JSON.stringify(staticClass);\n }\n var classBinding = getBindingAttr(el, 'class', false /* getStatic */);\n if (classBinding) {\n el.classBinding = classBinding;\n }\n}\n\nfunction genData (el) {\n var data = '';\n if (el.staticClass) {\n data += \"staticClass:\" + (el.staticClass) + \",\";\n }\n if (el.classBinding) {\n data += \"class:\" + (el.classBinding) + \",\";\n }\n return data\n}\n\nvar klass$1 = {\n staticKeys: ['staticClass'],\n transformNode: transformNode,\n genData: genData\n}\n\n/* */\n\nfunction transformNode$1 (el, options) {\n var warn = options.warn || baseWarn;\n var staticStyle = getAndRemoveAttr(el, 'style');\n if (staticStyle) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(staticStyle, options.delimiters);\n if (res) {\n warn(\n \"style=\\\"\" + staticStyle + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div style=\"{{ val }}\">, use <div :style=\"val\">.'\n );\n }\n }\n el.staticStyle = JSON.stringify(parseStyleText(staticStyle));\n }\n\n var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);\n if (styleBinding) {\n el.styleBinding = styleBinding;\n }\n}\n\nfunction genData$1 (el) {\n var data = '';\n if (el.staticStyle) {\n data += \"staticStyle:\" + (el.staticStyle) + \",\";\n }\n if (el.styleBinding) {\n data += \"style:(\" + (el.styleBinding) + \"),\";\n }\n return data\n}\n\nvar style$1 = {\n staticKeys: ['staticStyle'],\n transformNode: transformNode$1,\n genData: genData$1\n}\n\n/* */\n\nvar decoder;\n\nvar he = {\n decode: function decode (html) {\n decoder = decoder || document.createElement('div');\n decoder.innerHTML = html;\n return decoder.textContent\n }\n}\n\n/* */\n\nvar isUnaryTag = makeMap(\n 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +\n 'link,meta,param,source,track,wbr'\n);\n\n// Elements that you can, intentionally, leave open\n// (and which close themselves)\nvar canBeLeftOpenTag = makeMap(\n 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'\n);\n\n// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3\n// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content\nvar isNonPhrasingTag = makeMap(\n 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +\n 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +\n 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +\n 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +\n 'title,tr,track'\n);\n\n/**\n * Not type-checking this file because it's mostly vendor code.\n */\n\n/*!\n * HTML Parser By John Resig (ejohn.org)\n * Modified by Juriy \"kangax\" Zaytsev\n * Original code by Erik Arvidsson, Mozilla Public License\n * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js\n */\n\n// Regular Expressions for parsing tags and attributes\nvar attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\n// could use https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName\n// but for Vue templates we can enforce a simple charset\nvar ncname = '[a-zA-Z_][\\\\w\\\\-\\\\.]*';\nvar qnameCapture = \"((?:\" + ncname + \"\\\\:)?\" + ncname + \")\";\nvar startTagOpen = new RegExp((\"^<\" + qnameCapture));\nvar startTagClose = /^\\s*(\\/?)>/;\nvar endTag = new RegExp((\"^<\\\\/\" + qnameCapture + \"[^>]*>\"));\nvar doctype = /^<!DOCTYPE [^>]+>/i;\n// #7298: escape - to avoid being pased as HTML comment when inlined in page\nvar comment = /^<!\\--/;\nvar conditionalComment = /^<!\\[/;\n\nvar IS_REGEX_CAPTURING_BROKEN = false;\n'x'.replace(/x(.)?/g, function (m, g) {\n IS_REGEX_CAPTURING_BROKEN = g === '';\n});\n\n// Special Elements (can contain anything)\nvar isPlainTextElement = makeMap('script,style,textarea', true);\nvar reCache = {};\n\nvar decodingMap = {\n '<': '<',\n '>': '>',\n '"': '\"',\n '&': '&',\n ' ': '\\n',\n '	': '\\t'\n};\nvar encodedAttr = /&(?:lt|gt|quot|amp);/g;\nvar encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#10|#9);/g;\n\n// #5992\nvar isIgnoreNewlineTag = makeMap('pre,textarea', true);\nvar shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\\n'; };\n\nfunction decodeAttr (value, shouldDecodeNewlines) {\n var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;\n return value.replace(re, function (match) { return decodingMap[match]; })\n}\n\nfunction parseHTML (html, options) {\n var stack = [];\n var expectHTML = options.expectHTML;\n var isUnaryTag$$1 = options.isUnaryTag || no;\n var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;\n var index = 0;\n var last, lastTag;\n while (html) {\n last = html;\n // Make sure we're not in a plaintext content element like script/style\n if (!lastTag || !isPlainTextElement(lastTag)) {\n var textEnd = html.indexOf('<');\n if (textEnd === 0) {\n // Comment:\n if (comment.test(html)) {\n var commentEnd = html.indexOf('-->');\n\n if (commentEnd >= 0) {\n if (options.shouldKeepComment) {\n options.comment(html.substring(4, commentEnd));\n }\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n var conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n var doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n var endTagMatch = html.match(endTag);\n if (endTagMatch) {\n var curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n var startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n if (shouldIgnoreFirstNewline(lastTag, html)) {\n advance(1);\n }\n continue\n }\n }\n\n var text = (void 0), rest = (void 0), next = (void 0);\n if (textEnd >= 0) {\n rest = html.slice(textEnd);\n while (\n !endTag.test(rest) &&\n !startTagOpen.test(rest) &&\n !comment.test(rest) &&\n !conditionalComment.test(rest)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest.indexOf('<', 1);\n if (next < 0) { break }\n textEnd += next;\n rest = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n advance(textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n html = '';\n }\n\n if (options.chars && text) {\n options.chars(text);\n }\n } else {\n var endTagLength = 0;\n var stackedTag = lastTag.toLowerCase();\n var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));\n var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(/<!\\--([\\s\\S]*?)-->/g, '$1') // #7298\n .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1');\n }\n if (shouldIgnoreFirstNewline(stackedTag, text)) {\n text = text.slice(1);\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest$1.length;\n html = rest$1;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"));\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n var start = html.match(startTagOpen);\n if (start) {\n var match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n var end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(attribute))) {\n advance(attr[0].length);\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n var tagName = match.tagName;\n var unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n var unary = isUnaryTag$$1(tagName) || !!unarySlash;\n\n var l = match.attrs.length;\n var attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n var args = match.attrs[i];\n // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778\n if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('\"\"') === -1) {\n if (args[3] === '') { delete args[3]; }\n if (args[4] === '') { delete args[4]; }\n if (args[5] === '') { delete args[5]; }\n }\n var value = args[3] || args[4] || args[5] || '';\n var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'\n ? options.shouldDecodeNewlinesForHref\n : options.shouldDecodeNewlines;\n attrs[i] = {\n name: args[1],\n value: decodeAttr(value, shouldDecodeNewlines)\n };\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n var pos, lowerCasedTagName;\n if (start == null) { start = index; }\n if (end == null) { end = index; }\n\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n }\n\n // Find the closest opened tag of the same type\n if (tagName) {\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (process.env.NODE_ENV !== 'production' &&\n (i > pos || !tagName) &&\n options.warn\n ) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\")\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n}\n\n/* */\n\nvar onRE = /^@|^v-on:/;\nvar dirRE = /^v-|^@|^:/;\nvar forAliasRE = /([^]*?)\\s+(?:in|of)\\s+([^]*)/;\nvar forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nvar stripParensRE = /^\\(|\\)$/g;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^v-bind:/;\nvar modifierRE = /\\.[^.]+/g;\n\nvar decodeHTMLCached = cached(he.decode);\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\n\n\n\nfunction createASTElement (\n tag,\n attrs,\n parent\n) {\n return {\n type: 1,\n tag: tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n parent: parent,\n children: []\n }\n}\n\n/**\n * Convert HTML string to AST.\n */\nfunction parse (\n template,\n options\n) {\n warn$2 = options.warn || baseWarn;\n\n platformIsPreTag = options.isPreTag || no;\n platformMustUseProp = options.mustUseProp || no;\n platformGetTagNamespace = options.getTagNamespace || no;\n\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n\n delimiters = options.delimiters;\n\n var stack = [];\n var preserveWhitespace = options.preserveWhitespace !== false;\n var root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg) {\n if (!warned) {\n warned = true;\n warn$2(msg);\n }\n }\n\n function closeElement (element) {\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n // apply post-transforms\n for (var i = 0; i < postTransforms.length; i++) {\n postTransforms[i](element, options);\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,\n shouldKeepComment: options.comments,\n start: function start (tag, attrs, unary) {\n // check namespace.\n // inherit parent ns if there is one\n var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n var element = createASTElement(tag, attrs, currentParent);\n if (ns) {\n element.ns = ns;\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n process.env.NODE_ENV !== 'production' && warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n \"<\" + tag + \">\" + ', as they will not be parsed.'\n );\n }\n\n // apply pre-transforms\n for (var i = 0; i < preTransforms.length; i++) {\n element = preTransforms[i](element, options) || element;\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else if (!element.processed) {\n // structural directives\n processFor(element);\n processIf(element);\n processOnce(element);\n // element-scope stuff\n processElement(element, options);\n }\n\n function checkRootConstraints (el) {\n if (process.env.NODE_ENV !== 'production') {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n \"Cannot use <\" + (el.tag) + \"> as component root element because it may \" +\n 'contain multiple nodes.'\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.'\n );\n }\n }\n }\n\n // tree management\n if (!root) {\n root = element;\n checkRootConstraints(root);\n } else if (!stack.length) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n checkRootConstraints(element);\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warnOnce(\n \"Component template should contain exactly one root element. \" +\n \"If you are using v-if on multiple elements, \" +\n \"use v-else-if to chain them instead.\"\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else if (element.slotScope) { // scoped slot\n currentParent.plain = false;\n var name = element.slotTarget || '\"default\"';(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n } else {\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end () {\n // remove trailing whitespace\n var element = stack[stack.length - 1];\n var lastNode = element.children[element.children.length - 1];\n if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) {\n element.children.pop();\n }\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n closeElement(element);\n },\n\n chars: function chars (text) {\n if (!currentParent) {\n if (process.env.NODE_ENV !== 'production') {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.'\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\")\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text\n ) {\n return\n }\n var children = currentParent.children;\n text = inPre || text.trim()\n ? isTextTag(currentParent) ? text : decodeHTMLCached(text)\n // only preserve whitespace if its not right after a starting tag\n : preserveWhitespace && children.length ? ' ' : '';\n if (text) {\n var res;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n children.push({\n type: 2,\n expression: res.expression,\n tokens: res.tokens,\n text: text\n });\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n children.push({\n type: 3,\n text: text\n });\n }\n }\n },\n comment: function comment (text) {\n currentParent.children.push({\n type: 3,\n text: text,\n isComment: true\n });\n }\n });\n return root\n}\n\nfunction processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n}\n\nfunction processRawAttrs (el) {\n var l = el.attrsList.length;\n if (l) {\n var attrs = el.attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n attrs[i] = {\n name: el.attrsList[i].name,\n value: JSON.stringify(el.attrsList[i].value)\n };\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n}\n\nfunction processElement (element, options) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = !element.key && !element.attrsList.length;\n\n processRef(element);\n processSlot(element);\n processComponent(element);\n for (var i = 0; i < transforms.length; i++) {\n element = transforms[i](element, options) || element;\n }\n processAttrs(element);\n}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (process.env.NODE_ENV !== 'production' && el.tag === 'template') {\n warn$2(\"<template> cannot be keyed. Place the key on real elements instead.\");\n }\n el.key = exp;\n }\n}\n\nfunction processRef (el) {\n var ref = getBindingAttr(el, 'ref');\n if (ref) {\n el.ref = ref;\n el.refInFor = checkInFor(el);\n }\n}\n\nfunction processFor (el) {\n var exp;\n if ((exp = getAndRemoveAttr(el, 'v-for'))) {\n var res = parseFor(exp);\n if (res) {\n extend(el, res);\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n (\"Invalid v-for expression: \" + exp)\n );\n }\n }\n}\n\n\n\nfunction parseFor (exp) {\n var inMatch = exp.match(forAliasRE);\n if (!inMatch) { return }\n var res = {};\n res.for = inMatch[2].trim();\n var alias = inMatch[1].trim().replace(stripParensRE, '');\n var iteratorMatch = alias.match(forIteratorRE);\n if (iteratorMatch) {\n res.alias = alias.replace(forIteratorRE, '');\n res.iterator1 = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.iterator2 = iteratorMatch[2].trim();\n }\n } else {\n res.alias = alias;\n }\n return res\n}\n\nfunction processIf (el) {\n var exp = getAndRemoveAttr(el, 'v-if');\n if (exp) {\n el.if = exp;\n addIfCondition(el, {\n exp: exp,\n block: el\n });\n } else {\n if (getAndRemoveAttr(el, 'v-else') != null) {\n el.else = true;\n }\n var elseif = getAndRemoveAttr(el, 'v-else-if');\n if (elseif) {\n el.elseif = elseif;\n }\n }\n}\n\nfunction processIfConditions (el, parent) {\n var prev = findPrevElement(parent.children);\n if (prev && prev.if) {\n addIfCondition(prev, {\n exp: el.elseif,\n block: el\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n \"v-\" + (el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else') + \" \" +\n \"used on element <\" + (el.tag) + \"> without corresponding v-if.\"\n );\n }\n}\n\nfunction findPrevElement (children) {\n var i = children.length;\n while (i--) {\n if (children[i].type === 1) {\n return children[i]\n } else {\n if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {\n warn$2(\n \"text \\\"\" + (children[i].text.trim()) + \"\\\" between v-if and v-else(-if) \" +\n \"will be ignored.\"\n );\n }\n children.pop();\n }\n }\n}\n\nfunction addIfCondition (el, condition) {\n if (!el.ifConditions) {\n el.ifConditions = [];\n }\n el.ifConditions.push(condition);\n}\n\nfunction processOnce (el) {\n var once$$1 = getAndRemoveAttr(el, 'v-once');\n if (once$$1 != null) {\n el.once = true;\n }\n}\n\nfunction processSlot (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (process.env.NODE_ENV !== 'production' && el.key) {\n warn$2(\n \"`key` does not work on <slot> because slots are abstract outlets \" +\n \"and can possibly expand into multiple elements. \" +\n \"Use the key on a wrapping element instead.\"\n );\n }\n } else {\n var slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && slotScope) {\n warn$2(\n \"the \\\"scope\\\" attribute for scoped slots have been deprecated and \" +\n \"replaced by \\\"slot-scope\\\" since 2.5. The new \\\"slot-scope\\\" attribute \" +\n \"can also be used on plain elements in addition to <template> to \" +\n \"denote scoped slots.\",\n true\n );\n }\n el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');\n } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {\n warn$2(\n \"Ambiguous combined usage of slot-scope and v-for on <\" + (el.tag) + \"> \" +\n \"(v-for takes higher priority). Use a wrapper <template> for the \" +\n \"scoped slot to make it clearer.\",\n true\n );\n }\n el.slotScope = slotScope;\n }\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\n // preserve slot as an attribute for native shadow DOM compat\n // only for non-scoped slots.\n if (el.tag !== 'template' && !el.slotScope) {\n addAttr(el, 'slot', slotTarget);\n }\n }\n }\n}\n\nfunction processComponent (el) {\n var binding;\n if ((binding = getBindingAttr(el, 'is'))) {\n el.component = binding;\n }\n if (getAndRemoveAttr(el, 'inline-template') != null) {\n el.inlineTemplate = true;\n }\n}\n\nfunction processAttrs (el) {\n var list = el.attrsList;\n var i, l, name, rawName, value, modifiers, isProp;\n for (i = 0, l = list.length; i < l; i++) {\n name = rawName = list[i].name;\n value = list[i].value;\n if (dirRE.test(name)) {\n // mark element as dynamic\n el.hasBindings = true;\n // modifiers\n modifiers = parseModifiers(name);\n if (modifiers) {\n name = name.replace(modifierRE, '');\n }\n if (bindRE.test(name)) { // v-bind\n name = name.replace(bindRE, '');\n value = parseFilters(value);\n isProp = false;\n if (modifiers) {\n if (modifiers.prop) {\n isProp = true;\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n genAssignmentCode(value, \"$event\")\n );\n }\n }\n if (isProp || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value);\n } else {\n addAttr(el, name, value);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n addHandler(el, name, value, modifiers, false, warn$2);\n } else { // normal directives\n name = name.replace(dirRE, '');\n // parse arg\n var argMatch = name.match(argRE);\n var arg = argMatch && argMatch[1];\n if (arg) {\n name = name.slice(0, -(arg.length + 1));\n }\n addDirective(el, name, rawName, value, arg, modifiers);\n if (process.env.NODE_ENV !== 'production' && name === 'model') {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(value, delimiters);\n if (res) {\n warn$2(\n name + \"=\\\"\" + value + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div id=\"{{ val }}\">, use <div :id=\"val\">.'\n );\n }\n }\n addAttr(el, name, JSON.stringify(value));\n // #6887 firefox doesn't update muted state if set via attribute\n // even immediately after element creation\n if (!el.component &&\n name === 'muted' &&\n platformMustUseProp(el.tag, el.attrsMap.type, name)) {\n addProp(el, name, 'true');\n }\n }\n }\n}\n\nfunction checkInFor (el) {\n var parent = el;\n while (parent) {\n if (parent.for !== undefined) {\n return true\n }\n parent = parent.parent;\n }\n return false\n}\n\nfunction parseModifiers (name) {\n var match = name.match(modifierRE);\n if (match) {\n var ret = {};\n match.forEach(function (m) { ret[m.slice(1)] = true; });\n return ret\n }\n}\n\nfunction makeAttrsMap (attrs) {\n var map = {};\n for (var i = 0, l = attrs.length; i < l; i++) {\n if (\n process.env.NODE_ENV !== 'production' &&\n map[attrs[i].name] && !isIE && !isEdge\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name);\n }\n map[attrs[i].name] = attrs[i].value;\n }\n return map\n}\n\n// for script (e.g. type=\"x/template\") or style, do not decode content\nfunction isTextTag (el) {\n return el.tag === 'script' || el.tag === 'style'\n}\n\nfunction isForbiddenTag (el) {\n return (\n el.tag === 'style' ||\n (el.tag === 'script' && (\n !el.attrsMap.type ||\n el.attrsMap.type === 'text/javascript'\n ))\n )\n}\n\nvar ieNSBug = /^xmlns:NS\\d+/;\nvar ieNSPrefix = /^NS\\d+:/;\n\n/* istanbul ignore next */\nfunction guardIESVGBug (attrs) {\n var res = [];\n for (var i = 0; i < attrs.length; i++) {\n var attr = attrs[i];\n if (!ieNSBug.test(attr.name)) {\n attr.name = attr.name.replace(ieNSPrefix, '');\n res.push(attr);\n }\n }\n return res\n}\n\nfunction checkForAliasModel (el, value) {\n var _el = el;\n while (_el) {\n if (_el.for && _el.alias === value) {\n warn$2(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"You are binding v-model directly to a v-for iteration alias. \" +\n \"This will not be able to modify the v-for source array because \" +\n \"writing to the alias is like modifying a function local variable. \" +\n \"Consider using an array of objects and use v-model on an object property instead.\"\n );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\n/**\n * Expand input[v-model] with dyanmic type bindings into v-if-else chains\n * Turn this:\n * <input v-model=\"data[type]\" :type=\"type\">\n * into this:\n * <input v-if=\"type === 'checkbox'\" type=\"checkbox\" v-model=\"data[type]\">\n * <input v-else-if=\"type === 'radio'\" type=\"radio\" v-model=\"data[type]\">\n * <input v-else :type=\"type\" v-model=\"data[type]\">\n */\n\nfunction preTransformNode (el, options) {\n if (el.tag === 'input') {\n var map = el.attrsMap;\n if (!map['v-model']) {\n return\n }\n\n var typeBinding;\n if (map[':type'] || map['v-bind:type']) {\n typeBinding = getBindingAttr(el, 'type');\n }\n if (!map.type && !typeBinding && map['v-bind']) {\n typeBinding = \"(\" + (map['v-bind']) + \").type\";\n }\n\n if (typeBinding) {\n var ifCondition = getAndRemoveAttr(el, 'v-if', true);\n var ifConditionExtra = ifCondition ? (\"&&(\" + ifCondition + \")\") : \"\";\n var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;\n var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);\n // 1. checkbox\n var branch0 = cloneASTElement(el);\n // process for on the main node\n processFor(branch0);\n addRawAttr(branch0, 'type', 'checkbox');\n processElement(branch0, options);\n branch0.processed = true; // prevent it from double-processed\n branch0.if = \"(\" + typeBinding + \")==='checkbox'\" + ifConditionExtra;\n addIfCondition(branch0, {\n exp: branch0.if,\n block: branch0\n });\n // 2. add radio else-if condition\n var branch1 = cloneASTElement(el);\n getAndRemoveAttr(branch1, 'v-for', true);\n addRawAttr(branch1, 'type', 'radio');\n processElement(branch1, options);\n addIfCondition(branch0, {\n exp: \"(\" + typeBinding + \")==='radio'\" + ifConditionExtra,\n block: branch1\n });\n // 3. other\n var branch2 = cloneASTElement(el);\n getAndRemoveAttr(branch2, 'v-for', true);\n addRawAttr(branch2, ':type', typeBinding);\n processElement(branch2, options);\n addIfCondition(branch0, {\n exp: ifCondition,\n block: branch2\n });\n\n if (hasElse) {\n branch0.else = true;\n } else if (elseIfCondition) {\n branch0.elseif = elseIfCondition;\n }\n\n return branch0\n }\n }\n}\n\nfunction cloneASTElement (el) {\n return createASTElement(el.tag, el.attrsList.slice(), el.parent)\n}\n\nvar model$2 = {\n preTransformNode: preTransformNode\n}\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$2\n]\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\nvar directives$1 = {\n model: model,\n text: text,\n html: html\n}\n\n/* */\n\nvar baseOptions = {\n expectHTML: true,\n modules: modules$1,\n directives: directives$1,\n isPreTag: isPreTag,\n isUnaryTag: isUnaryTag,\n mustUseProp: mustUseProp,\n canBeLeftOpenTag: canBeLeftOpenTag,\n isReservedTag: isReservedTag,\n getTagNamespace: getTagNamespace,\n staticKeys: genStaticKeys(modules$1)\n};\n\n/* */\n\nvar isStaticKey;\nvar isPlatformReservedTag;\n\nvar genStaticKeysCached = cached(genStaticKeys$1);\n\n/**\n * Goal of the optimizer: walk the generated template AST tree\n * and detect sub-trees that are purely static, i.e. parts of\n * the DOM that never needs to change.\n *\n * Once we detect these sub-trees, we can:\n *\n * 1. Hoist them into constants, so that we no longer need to\n * create fresh nodes for them on each re-render;\n * 2. Completely skip them in the patching process.\n */\nfunction optimize (root, options) {\n if (!root) { return }\n isStaticKey = genStaticKeysCached(options.staticKeys || '');\n isPlatformReservedTag = options.isReservedTag || no;\n // first pass: mark all non-static nodes.\n markStatic$1(root);\n // second pass: mark static roots.\n markStaticRoots(root, false);\n}\n\nfunction genStaticKeys$1 (keys) {\n return makeMap(\n 'type,tag,attrsList,attrsMap,plain,parent,children,attrs' +\n (keys ? ',' + keys : '')\n )\n}\n\nfunction markStatic$1 (node) {\n node.static = isStatic(node);\n if (node.type === 1) {\n // do not make component slot content static. this avoids\n // 1. components not able to mutate slot nodes\n // 2. static slot content fails for hot-reloading\n if (\n !isPlatformReservedTag(node.tag) &&\n node.tag !== 'slot' &&\n node.attrsMap['inline-template'] == null\n ) {\n return\n }\n for (var i = 0, l = node.children.length; i < l; i++) {\n var child = node.children[i];\n markStatic$1(child);\n if (!child.static) {\n node.static = false;\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n var block = node.ifConditions[i$1].block;\n markStatic$1(block);\n if (!block.static) {\n node.static = false;\n }\n }\n }\n }\n}\n\nfunction markStaticRoots (node, isInFor) {\n if (node.type === 1) {\n if (node.static || node.once) {\n node.staticInFor = isInFor;\n }\n // For a node to qualify as a static root, it should have children that\n // are not just static text. Otherwise the cost of hoisting out will\n // outweigh the benefits and it's better off to just always render it fresh.\n if (node.static && node.children.length && !(\n node.children.length === 1 &&\n node.children[0].type === 3\n )) {\n node.staticRoot = true;\n return\n } else {\n node.staticRoot = false;\n }\n if (node.children) {\n for (var i = 0, l = node.children.length; i < l; i++) {\n markStaticRoots(node.children[i], isInFor || !!node.for);\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n markStaticRoots(node.ifConditions[i$1].block, isInFor);\n }\n }\n }\n}\n\nfunction isStatic (node) {\n if (node.type === 2) { // expression\n return false\n }\n if (node.type === 3) { // text\n return true\n }\n return !!(node.pre || (\n !node.hasBindings && // no dynamic bindings\n !node.if && !node.for && // not v-if or v-for or v-else\n !isBuiltInTag(node.tag) && // not a built-in\n isPlatformReservedTag(node.tag) && // not a component\n !isDirectChildOfTemplateFor(node) &&\n Object.keys(node).every(isStaticKey)\n ))\n}\n\nfunction isDirectChildOfTemplateFor (node) {\n while (node.parent) {\n node = node.parent;\n if (node.tag !== 'template') {\n return false\n }\n if (node.for) {\n return true\n }\n }\n return false\n}\n\n/* */\n\nvar fnExpRE = /^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function\\s*\\(/;\nvar simplePathRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/;\n\n// KeyboardEvent.keyCode aliases\nvar keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n};\n\n// KeyboardEvent.key aliases\nvar keyNames = {\n esc: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: ' ',\n // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.\n up: ['Up', 'ArrowUp'],\n left: ['Left', 'ArrowLeft'],\n right: ['Right', 'ArrowRight'],\n down: ['Down', 'ArrowDown'],\n 'delete': ['Backspace', 'Delete']\n};\n\n// #4868: modifiers that prevent the execution of the listener\n// need to explicitly return null so that we can determine whether to remove\n// the listener for .once\nvar genGuard = function (condition) { return (\"if(\" + condition + \")return null;\"); };\n\nvar modifierCode = {\n stop: '$event.stopPropagation();',\n prevent: '$event.preventDefault();',\n self: genGuard(\"$event.target !== $event.currentTarget\"),\n ctrl: genGuard(\"!$event.ctrlKey\"),\n shift: genGuard(\"!$event.shiftKey\"),\n alt: genGuard(\"!$event.altKey\"),\n meta: genGuard(\"!$event.metaKey\"),\n left: genGuard(\"'button' in $event && $event.button !== 0\"),\n middle: genGuard(\"'button' in $event && $event.button !== 1\"),\n right: genGuard(\"'button' in $event && $event.button !== 2\")\n};\n\nfunction genHandlers (\n events,\n isNative,\n warn\n) {\n var res = isNative ? 'nativeOn:{' : 'on:{';\n for (var name in events) {\n res += \"\\\"\" + name + \"\\\":\" + (genHandler(name, events[name])) + \",\";\n }\n return res.slice(0, -1) + '}'\n}\n\nfunction genHandler (\n name,\n handler\n) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(name, handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n /* istanbul ignore if */\n return (\"function($event){\" + (handler.value) + \"}\") // inline statement\n } else {\n var code = '';\n var genModifierCode = '';\n var keys = [];\n for (var key in handler.modifiers) {\n if (modifierCode[key]) {\n genModifierCode += modifierCode[key];\n // left/right\n if (keyCodes[key]) {\n keys.push(key);\n }\n } else if (key === 'exact') {\n var modifiers = (handler.modifiers);\n genModifierCode += genGuard(\n ['ctrl', 'shift', 'alt', 'meta']\n .filter(function (keyModifier) { return !modifiers[keyModifier]; })\n .map(function (keyModifier) { return (\"$event.\" + keyModifier + \"Key\"); })\n .join('||')\n );\n } else {\n keys.push(key);\n }\n }\n if (keys.length) {\n code += genKeyFilter(keys);\n }\n // Make sure modifiers like prevent and stop get executed after key filtering\n if (genModifierCode) {\n code += genModifierCode;\n }\n var handlerCode = isMethodPath\n ? (\"return \" + (handler.value) + \"($event)\")\n : isFunctionExpression\n ? (\"return (\" + (handler.value) + \")($event)\")\n : handler.value;\n /* istanbul ignore if */\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\"if(!('button' in $event)&&\" + (keys.map(genFilterCode).join('&&')) + \")return null;\")\n}\n\nfunction genFilterCode (key) {\n var keyVal = parseInt(key, 10);\n if (keyVal) {\n return (\"$event.keyCode!==\" + keyVal)\n }\n var keyCode = keyCodes[key];\n var keyName = keyNames[key];\n return (\n \"_k($event.keyCode,\" +\n (JSON.stringify(key)) + \",\" +\n (JSON.stringify(keyCode)) + \",\" +\n \"$event.key,\" +\n \"\" + (JSON.stringify(keyName)) +\n \")\"\n )\n}\n\n/* */\n\nfunction on (el, dir) {\n if (process.env.NODE_ENV !== 'production' && dir.modifiers) {\n warn(\"v-on without argument does not support modifiers.\");\n }\n el.wrapListeners = function (code) { return (\"_g(\" + code + \",\" + (dir.value) + \")\"); };\n}\n\n/* */\n\nfunction bind$1 (el, dir) {\n el.wrapData = function (code) {\n return (\"_b(\" + code + \",'\" + (el.tag) + \"',\" + (dir.value) + \",\" + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + \")\")\n };\n}\n\n/* */\n\nvar baseDirectives = {\n on: on,\n bind: bind$1,\n cloak: noop\n}\n\n/* */\n\nvar CodegenState = function CodegenState (options) {\n this.options = options;\n this.warn = options.warn || baseWarn;\n this.transforms = pluckModuleFunction(options.modules, 'transformCode');\n this.dataGenFns = pluckModuleFunction(options.modules, 'genData');\n this.directives = extend(extend({}, baseDirectives), options.directives);\n var isReservedTag = options.isReservedTag || no;\n this.maybeComponent = function (el) { return !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\n};\n\n\n\nfunction generate (\n ast,\n options\n) {\n var state = new CodegenState(options);\n var code = ast ? genElement(ast, state) : '_c(\"div\")';\n return {\n render: (\"with(this){return \" + code + \"}\"),\n staticRenderFns: state.staticRenderFns\n }\n}\n\nfunction genElement (el, state) {\n if (el.staticRoot && !el.staticProcessed) {\n return genStatic(el, state)\n } else if (el.once && !el.onceProcessed) {\n return genOnce(el, state)\n } else if (el.for && !el.forProcessed) {\n return genFor(el, state)\n } else if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.tag === 'template' && !el.slotTarget) {\n return genChildren(el, state) || 'void 0'\n } else if (el.tag === 'slot') {\n return genSlot(el, state)\n } else {\n // component or element\n var code;\n if (el.component) {\n code = genComponent(el.component, el, state);\n } else {\n var data = el.plain ? undefined : genData$2(el, state);\n\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n code = \"_c('\" + (el.tag) + \"'\" + (data ? (\",\" + data) : '') + (children ? (\",\" + children) : '') + \")\";\n }\n // module transforms\n for (var i = 0; i < state.transforms.length; i++) {\n code = state.transforms[i](el, code);\n }\n return code\n }\n}\n\n// hoist static sub-trees out\nfunction genStatic (el, state) {\n el.staticProcessed = true;\n state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\n return (\"_m(\" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + \")\")\n}\n\n// v-once\nfunction genOnce (el, state) {\n el.onceProcessed = true;\n if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.staticInFor) {\n var key = '';\n var parent = el.parent;\n while (parent) {\n if (parent.for) {\n key = parent.key;\n break\n }\n parent = parent.parent;\n }\n if (!key) {\n process.env.NODE_ENV !== 'production' && state.warn(\n \"v-once can only be used inside v-for that is keyed. \"\n );\n return genElement(el, state)\n }\n return (\"_o(\" + (genElement(el, state)) + \",\" + (state.onceId++) + \",\" + key + \")\")\n } else {\n return genStatic(el, state)\n }\n}\n\nfunction genIf (\n el,\n state,\n altGen,\n altEmpty\n) {\n el.ifProcessed = true; // avoid recursion\n return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)\n}\n\nfunction genIfConditions (\n conditions,\n state,\n altGen,\n altEmpty\n) {\n if (!conditions.length) {\n return altEmpty || '_e()'\n }\n\n var condition = conditions.shift();\n if (condition.exp) {\n return (\"(\" + (condition.exp) + \")?\" + (genTernaryExp(condition.block)) + \":\" + (genIfConditions(conditions, state, altGen, altEmpty)))\n } else {\n return (\"\" + (genTernaryExp(condition.block)))\n }\n\n // v-if with v-once should generate code like (a)?_m(0):_m(1)\n function genTernaryExp (el) {\n return altGen\n ? altGen(el, state)\n : el.once\n ? genOnce(el, state)\n : genElement(el, state)\n }\n}\n\nfunction genFor (\n el,\n state,\n altGen,\n altHelper\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n\n if (process.env.NODE_ENV !== 'production' &&\n state.maybeComponent(el) &&\n el.tag !== 'slot' &&\n el.tag !== 'template' &&\n !el.key\n ) {\n state.warn(\n \"<\" + (el.tag) + \" v-for=\\\"\" + alias + \" in \" + exp + \"\\\">: component lists rendered with \" +\n \"v-for should have explicit keys. \" +\n \"See https://vuejs.org/guide/list.html#key for more info.\",\n true /* tip */\n );\n }\n\n el.forProcessed = true; // avoid recursion\n return (altHelper || '_l') + \"((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + ((altGen || genElement)(el, state)) +\n '})'\n}\n\nfunction genData$2 (el, state) {\n var data = '{';\n\n // directives first.\n // directives may mutate the el's other properties before they are generated.\n var dirs = genDirectives(el, state);\n if (dirs) { data += dirs + ','; }\n\n // key\n if (el.key) {\n data += \"key:\" + (el.key) + \",\";\n }\n // ref\n if (el.ref) {\n data += \"ref:\" + (el.ref) + \",\";\n }\n if (el.refInFor) {\n data += \"refInFor:true,\";\n }\n // pre\n if (el.pre) {\n data += \"pre:true,\";\n }\n // record original tag name for components using \"is\" attribute\n if (el.component) {\n data += \"tag:\\\"\" + (el.tag) + \"\\\",\";\n }\n // module data generation functions\n for (var i = 0; i < state.dataGenFns.length; i++) {\n data += state.dataGenFns[i](el);\n }\n // attributes\n if (el.attrs) {\n data += \"attrs:{\" + (genProps(el.attrs)) + \"},\";\n }\n // DOM props\n if (el.props) {\n data += \"domProps:{\" + (genProps(el.props)) + \"},\";\n }\n // event handlers\n if (el.events) {\n data += (genHandlers(el.events, false, state.warn)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true, state.warn)) + \",\";\n }\n // slot target\n // only for non-scoped slots\n if (el.slotTarget && !el.slotScope) {\n data += \"slot:\" + (el.slotTarget) + \",\";\n }\n // scoped slots\n if (el.scopedSlots) {\n data += (genScopedSlots(el.scopedSlots, state)) + \",\";\n }\n // component v-model\n if (el.model) {\n data += \"model:{value:\" + (el.model.value) + \",callback:\" + (el.model.callback) + \",expression:\" + (el.model.expression) + \"},\";\n }\n // inline-template\n if (el.inlineTemplate) {\n var inlineTemplate = genInlineTemplate(el, state);\n if (inlineTemplate) {\n data += inlineTemplate + \",\";\n }\n }\n data = data.replace(/,$/, '') + '}';\n // v-bind data wrap\n if (el.wrapData) {\n data = el.wrapData(data);\n }\n // v-on data wrap\n if (el.wrapListeners) {\n data = el.wrapListeners(data);\n }\n return data\n}\n\nfunction genDirectives (el, state) {\n var dirs = el.directives;\n if (!dirs) { return }\n var res = 'directives:[';\n var hasRuntime = false;\n var i, l, dir, needRuntime;\n for (i = 0, l = dirs.length; i < l; i++) {\n dir = dirs[i];\n needRuntime = true;\n var gen = state.directives[dir.name];\n if (gen) {\n // compile-time directive that manipulates AST.\n // returns true if it also needs a runtime counterpart.\n needRuntime = !!gen(el, dir, state.warn);\n }\n if (needRuntime) {\n hasRuntime = true;\n res += \"{name:\\\"\" + (dir.name) + \"\\\",rawName:\\\"\" + (dir.rawName) + \"\\\"\" + (dir.value ? (\",value:(\" + (dir.value) + \"),expression:\" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (\",arg:\\\"\" + (dir.arg) + \"\\\"\") : '') + (dir.modifiers ? (\",modifiers:\" + (JSON.stringify(dir.modifiers))) : '') + \"},\";\n }\n }\n if (hasRuntime) {\n return res.slice(0, -1) + ']'\n }\n}\n\nfunction genInlineTemplate (el, state) {\n var ast = el.children[0];\n if (process.env.NODE_ENV !== 'production' && (\n el.children.length !== 1 || ast.type !== 1\n )) {\n state.warn('Inline-template components must have exactly one child element.');\n }\n if (ast.type === 1) {\n var inlineRenderFns = generate(ast, state.options);\n return (\"inlineTemplate:{render:function(){\" + (inlineRenderFns.render) + \"},staticRenderFns:[\" + (inlineRenderFns.staticRenderFns.map(function (code) { return (\"function(){\" + code + \"}\"); }).join(',')) + \"]}\")\n }\n}\n\nfunction genScopedSlots (\n slots,\n state\n) {\n return (\"scopedSlots:_u([\" + (Object.keys(slots).map(function (key) {\n return genScopedSlot(key, slots[key], state)\n }).join(',')) + \"])\")\n}\n\nfunction genScopedSlot (\n key,\n el,\n state\n) {\n if (el.for && !el.forProcessed) {\n return genForScopedSlot(key, el, state)\n }\n var fn = \"function(\" + (String(el.slotScope)) + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if\n ? ((el.if) + \"?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n return (\"{key:\" + key + \",fn:\" + fn + \"}\")\n}\n\nfunction genForScopedSlot (\n key,\n el,\n state\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n el.forProcessed = true; // avoid recursion\n return \"_l((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + (genScopedSlot(key, el, state)) +\n '})'\n}\n\nfunction genChildren (\n el,\n state,\n checkSkip,\n altGenElement,\n altGenNode\n) {\n var children = el.children;\n if (children.length) {\n var el$1 = children[0];\n // optimize single v-for\n if (children.length === 1 &&\n el$1.for &&\n el$1.tag !== 'template' &&\n el$1.tag !== 'slot'\n ) {\n return (altGenElement || genElement)(el$1, state)\n }\n var normalizationType = checkSkip\n ? getNormalizationType(children, state.maybeComponent)\n : 0;\n var gen = altGenNode || genNode;\n return (\"[\" + (children.map(function (c) { return gen(c, state); }).join(',')) + \"]\" + (normalizationType ? (\",\" + normalizationType) : ''))\n }\n}\n\n// determine the normalization needed for the children array.\n// 0: no normalization needed\n// 1: simple normalization needed (possible 1-level deep nested array)\n// 2: full normalization needed\nfunction getNormalizationType (\n children,\n maybeComponent\n) {\n var res = 0;\n for (var i = 0; i < children.length; i++) {\n var el = children[i];\n if (el.type !== 1) {\n continue\n }\n if (needsNormalization(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {\n res = 2;\n break\n }\n if (maybeComponent(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {\n res = 1;\n }\n }\n return res\n}\n\nfunction needsNormalization (el) {\n return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'\n}\n\nfunction genNode (node, state) {\n if (node.type === 1) {\n return genElement(node, state)\n } if (node.type === 3 && node.isComment) {\n return genComment(node)\n } else {\n return genText(node)\n }\n}\n\nfunction genText (text) {\n return (\"_v(\" + (text.type === 2\n ? text.expression // no need for () because already wrapped in _s()\n : transformSpecialNewlines(JSON.stringify(text.text))) + \")\")\n}\n\nfunction genComment (comment) {\n return (\"_e(\" + (JSON.stringify(comment.text)) + \")\")\n}\n\nfunction genSlot (el, state) {\n var slotName = el.slotName || '\"default\"';\n var children = genChildren(el, state);\n var res = \"_t(\" + slotName + (children ? (\",\" + children) : '');\n var attrs = el.attrs && (\"{\" + (el.attrs.map(function (a) { return ((camelize(a.name)) + \":\" + (a.value)); }).join(',')) + \"}\");\n var bind$$1 = el.attrsMap['v-bind'];\n if ((attrs || bind$$1) && !children) {\n res += \",null\";\n }\n if (attrs) {\n res += \",\" + attrs;\n }\n if (bind$$1) {\n res += (attrs ? '' : ',null') + \",\" + bind$$1;\n }\n return res + ')'\n}\n\n// componentName is el.component, take it as argument to shun flow's pessimistic refinement\nfunction genComponent (\n componentName,\n el,\n state\n) {\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n return (\"_c(\" + componentName + \",\" + (genData$2(el, state)) + (children ? (\",\" + children) : '') + \")\")\n}\n\nfunction genProps (props) {\n var res = '';\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n /* istanbul ignore if */\n {\n res += \"\\\"\" + (prop.name) + \"\\\":\" + (transformSpecialNewlines(prop.value)) + \",\";\n }\n }\n return res.slice(0, -1)\n}\n\n// #3895, #4268\nfunction transformSpecialNewlines (text) {\n return text\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n}\n\n/* */\n\n// these keywords should not appear inside expressions, but operators like\n// typeof, instanceof and in are allowed\nvar prohibitedKeywordRE = new RegExp('\\\\b' + (\n 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments'\n).split(',').join('\\\\b|\\\\b') + '\\\\b');\n\n// these unary operators should not be used as property/method names\nvar unaryOperatorsRE = new RegExp('\\\\b' + (\n 'delete,typeof,void'\n).split(',').join('\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b') + '\\\\s*\\\\([^\\\\)]*\\\\)');\n\n// strip strings in expressions\nvar stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n\n// detect problematic expressions in a template\nfunction detectErrors (ast) {\n var errors = [];\n if (ast) {\n checkNode(ast, errors);\n }\n return errors\n}\n\nfunction checkNode (node, errors) {\n if (node.type === 1) {\n for (var name in node.attrsMap) {\n if (dirRE.test(name)) {\n var value = node.attrsMap[name];\n if (value) {\n if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), errors);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], errors);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, errors);\n }\n}\n\nfunction checkEvent (exp, text, errors) {\n var stipped = exp.replace(stripStringRE, '');\n var keywordMatch = stipped.match(unaryOperatorsRE);\n if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {\n errors.push(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim())\n );\n }\n checkExpression(exp, text, errors);\n}\n\nfunction checkFor (node, text, errors) {\n checkExpression(node.for || '', text, errors);\n checkIdentifier(node.alias, 'v-for alias', text, errors);\n checkIdentifier(node.iterator1, 'v-for iterator', text, errors);\n checkIdentifier(node.iterator2, 'v-for iterator', text, errors);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n errors\n) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n errors.push((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())));\n }\n }\n}\n\nfunction checkExpression (exp, text, errors) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n errors.push(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim())\n );\n } else {\n errors.push(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\"\n );\n }\n }\n}\n\n/* */\n\nfunction createFunction (code, errors) {\n try {\n return new Function(code)\n } catch (err) {\n errors.push({ err: err, code: code });\n return noop\n }\n}\n\nfunction createCompileToFunctionFn (compile) {\n var cache = Object.create(null);\n\n return function compileToFunctions (\n template,\n options,\n vm\n ) {\n options = extend({}, options);\n var warn$$1 = options.warn || warn;\n delete options.warn;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n // detect possible CSP restriction\n try {\n new Function('return 1');\n } catch (e) {\n if (e.toString().match(/unsafe-eval|CSP/)) {\n warn$$1(\n 'It seems you are using the standalone build of Vue.js in an ' +\n 'environment with Content Security Policy that prohibits unsafe-eval. ' +\n 'The template compiler cannot work in this environment. Consider ' +\n 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +\n 'templates into render functions.'\n );\n }\n }\n }\n\n // check cache\n var key = options.delimiters\n ? String(options.delimiters) + template\n : template;\n if (cache[key]) {\n return cache[key]\n }\n\n // compile\n var compiled = compile(template, options);\n\n // check compilation errors/tips\n if (process.env.NODE_ENV !== 'production') {\n if (compiled.errors && compiled.errors.length) {\n warn$$1(\n \"Error compiling template:\\n\\n\" + template + \"\\n\\n\" +\n compiled.errors.map(function (e) { return (\"- \" + e); }).join('\\n') + '\\n',\n vm\n );\n }\n if (compiled.tips && compiled.tips.length) {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\n }\n }\n\n // turn code into functions\n var res = {};\n var fnGenErrors = [];\n res.render = createFunction(compiled.render, fnGenErrors);\n res.staticRenderFns = compiled.staticRenderFns.map(function (code) {\n return createFunction(code, fnGenErrors)\n });\n\n // check function generation errors.\n // this should only happen if there is a bug in the compiler itself.\n // mostly for codegen development use\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {\n warn$$1(\n \"Failed to generate render function:\\n\\n\" +\n fnGenErrors.map(function (ref) {\n var err = ref.err;\n var code = ref.code;\n\n return ((err.toString()) + \" in\\n\\n\" + code + \"\\n\");\n }).join('\\n'),\n vm\n );\n }\n }\n\n return (cache[key] = res)\n }\n}\n\n/* */\n\nfunction createCompilerCreator (baseCompile) {\n return function createCompiler (baseOptions) {\n function compile (\n template,\n options\n ) {\n var finalOptions = Object.create(baseOptions);\n var errors = [];\n var tips = [];\n finalOptions.warn = function (msg, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\n // merge custom modules\n if (options.modules) {\n finalOptions.modules =\n (baseOptions.modules || []).concat(options.modules);\n }\n // merge custom directives\n if (options.directives) {\n finalOptions.directives = extend(\n Object.create(baseOptions.directives || null),\n options.directives\n );\n }\n // copy other options\n for (var key in options) {\n if (key !== 'modules' && key !== 'directives') {\n finalOptions[key] = options[key];\n }\n }\n }\n\n var compiled = baseCompile(template, finalOptions);\n if (process.env.NODE_ENV !== 'production') {\n errors.push.apply(errors, detectErrors(compiled.ast));\n }\n compiled.errors = errors;\n compiled.tips = tips;\n return compiled\n }\n\n return {\n compile: compile,\n compileToFunctions: createCompileToFunctionFn(compile)\n }\n }\n}\n\n/* */\n\n// `createCompilerCreator` allows creating compilers that use alternative\n// parser/optimizer/codegen, e.g the SSR optimizing compiler.\n// Here we just export a default compiler using the default parts.\nvar createCompiler = createCompilerCreator(function baseCompile (\n template,\n options\n) {\n var ast = parse(template.trim(), options);\n if (options.optimize !== false) {\n optimize(ast, options);\n }\n var code = generate(ast, options);\n return {\n ast: ast,\n render: code.render,\n staticRenderFns: code.staticRenderFns\n }\n});\n\n/* */\n\nvar ref$1 = createCompiler(baseOptions);\nvar compileToFunctions = ref$1.compileToFunctions;\n\n/* */\n\n// check whether current browser encodes a char inside attribute values\nvar div;\nfunction getShouldDecode (href) {\n div = div || document.createElement('div');\n div.innerHTML = href ? \"<a href=\\\"\\n\\\"/>\" : \"<div a=\\\"\\n\\\"/>\";\n return div.innerHTML.indexOf(' ') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Do not mount Vue to <html> or <body> - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !template) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n\nexport default Vue;\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=66)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(10),r=n(43),o=n(31),s=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(77),r=n(21);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(9),r=n(52),o=n(18),s=n(55),u=n(53),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,y=t&a.P,g=t&a.B,b=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,m=d?r:r[e]||(r[e]={}),_=m.prototype||(m.prototype={});d&&(n=e);for(l in n)c=!h&&b&&void 0!==b[l],f=(c?b:n)[l],p=g&&c?u(f,i):y&&\"function\"==typeof f?u(Function.call,f):f,b&&s(b,l,f,t&a.U),m[l]!=f&&o(m,l,p),y&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){var i=n(3),r=n(15);t.exports=n(1)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(29)(\"wks\"),r=n(16),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(13);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(48),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){var i=n(109),r=n(110);t.exports=n(35)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(8);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(0),r=n(11),o=n(74),s=n(6),u=function(t,e,n){var a,l,c,f=t&u.F,p=t&u.G,h=t&u.S,d=t&u.P,v=t&u.B,y=t&u.W,g=p?r:r[e]||(r[e]={}),b=g.prototype,m=p?i:h?i[e]:(i[e]||{}).prototype;p&&(n=e);for(a in n)(l=!f&&m&&void 0!==m[a])&&a in g||(c=l?m[a]:n[a],g[a]=p&&\"function\"!=typeof m[a]?n[a]:v&&l?o(c,i):y&&m[a]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(c):d&&\"function\"==typeof c?o(Function.call,c):c,d&&((g.virtual||(g.virtual={}))[a]=c,t&u.R&&b&&!b[a]&&s(b,a,c)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(3).f,r=n(2),o=n(7)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(29)(\"keys\"),r=n(16);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(0),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(13);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var i=n(0),r=n(11),o=n(25),s=n(33),u=n(3).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});\"_\"==t.charAt(0)||t in e||u(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var i=n(53),r=n(36),o=n(57),s=n(37),u=n(104);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,y,g=o(e),b=r(g),m=i(u,d,3),_=s(b.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in b)&&(v=b[x],y=m(v,x,g),t))if(n)w[x]=y;else if(y)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(51);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(56),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(111)(\"wks\"),r=n(58),o=n(9).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,n,i,r){return function(o){return o.map(function(o){var u;if(!o[n])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var a=s(o[n],t,e,r);return a.length?(u={},v()(u,i,o[i]),v()(u,n,a),u):[]})}}var c=n(65),f=n.n(c),p=n(59),h=(n.n(p),n(122)),d=(n.n(h),n(64)),v=n.n(d),y=n(120),g=(n.n(y),n(121)),b=(n.n(g),n(117)),m=(n.n(b),n(123)),_=(n.n(m),n(118)),x=(n.n(_),n(119)),w=(n.n(x),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:\"\",isOpen:!1,prefferedOpenDirection:\"below\",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:\"Select option\"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?\"\":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:\"Press enter to create a tag\"},tagPosition:{type:String,default:\"top\"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){this.multiple||this.clearOnSelect||console.warn(\"[Vue-Multiselect warn]: ClearOnSelect and Multiple props can’t be both set to false.\"),!this.multiple&&this.max&&console.warn(\"[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.\"),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||\"\",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&(\"bottom\"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?\"\":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?\"\":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search=\"\",this.$emit(\"input\",this.multiple?[]:null))},search:function(){this.$emit(\"search-change\",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return w(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return w(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var o=n[this.groupValues].filter(r(this.isSelected));this.$emit(\"select\",o,this.id),this.$emit(\"input\",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n=\"object\"===f()(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var i=this.internalValue.slice(0,n).concat(this.internalValue.slice(n+1));this.$emit(\"input\",i,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.prefferedOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(59);n.n(i);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?\"multiselect__option--group\":\"multiselect__option--disabled\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var i=n(13),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){\"use strict\";var i=n(25),r=n(23),o=n(49),s=n(6),u=n(2),a=n(24),l=n(79),c=n(27),f=n(86),p=n(7)(\"iterator\"),h=!([].keys&&\"next\"in[].keys()),d=function(){return this};t.exports=function(t,e,n,v,y,g,b){l(n,e,v);var m,_,x,w=function(t){if(!h&&t in P)return P[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+\" Iterator\",O=\"values\"==y,L=!1,P=t.prototype,k=P[p]||P[\"@@iterator\"]||y&&P[y],E=k||w(y),j=y?O?w(\"entries\"):E:void 0,V=\"Array\"==e?P.entries||k:k;if(V&&(x=f(V.call(new t)))!==Object.prototype&&(c(x,S,!0),i||u(x,p)||s(x,p,d)),O&&k&&\"values\"!==k.name&&(L=!0,E=function(){return k.call(this)}),i&&!b||!h&&!L&&P[p]||s(P,p,E),a[e]=E,a[S]=d,y)if(m={values:O?E:w(\"values\"),keys:g?E:w(\"keys\"),entries:j},b)for(_ in m)_ in P||o(P,_,m[_]);else r(r.P+r.F*(h||L),e,m);return m}},function(t,e,n){var i=n(10),r=n(83),o=n(22),s=n(28)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(42)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(76).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(48),r=n(22).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(2),r=n(4),o=n(73)(!1),s=n(28)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){t.exports=n(6)},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(50);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(51);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){var i=n(9),r=n(18),o=n(107),s=n(58)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(52).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(17);t.exports=function(t){return Object(i(t))}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(5),o=!0;\"find\"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,\"Array\",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)(\"find\")},function(t,e,n){\"use strict\";function i(t){n(124)}var r=n(67),o=n(126),s=n(125),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){t.exports=n(68)},function(t,e,n){t.exports=n(69)},function(t,e,n){t.exports=n(70)},function(t,e,n){function i(t,e,n){return e in t?r(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r=n(61);t.exports=i},function(t,e,n){function i(t){return(i=\"function\"==typeof s&&\"symbol\"==typeof o?function(t){return typeof t}:function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":typeof t})(t)}function r(e){return\"function\"==typeof s&&\"symbol\"===i(o)?t.exports=r=function(t){return i(t)}:t.exports=r=function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":i(t)},r(e)}var o=n(63),s=n(62);t.exports=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(60),r=n(39),o=n(40);n.d(e,\"Multiselect\",function(){return i.a}),n.d(e,\"multiselectMixin\",function(){return r.a}),n.d(e,\"pointerMixin\",function(){return o.a}),e.default=i.a},function(t,e,n){\"use strict\";var i=n(39),r=n(40);e.a={name:\"vue-multiselect\",mixins:[i.a,r.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return this.singleValue&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"auto\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.prefferedOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){n(92);var i=n(11).Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},function(t,e,n){n(95),n(93),n(96),n(97),t.exports=n(11).Symbol},function(t,e,n){n(94),n(98),t.exports=n(33).f(\"iterator\")},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var i=n(4),r=n(89),o=n(88);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(71);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(14),r=n(47),o=n(26);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,u=n(t),a=o.f,l=0;u.length>l;)a.call(t,s=u[l++])&&e.push(s);return e}},function(t,e,n){t.exports=n(0).document&&document.documentElement},function(t,e,n){var i=n(41);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(41);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";var i=n(45),r=n(15),o=n(27),s={};n(6)(s,n(7)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(14),r=n(4);t.exports=function(t,e){for(var n,o=r(t),s=i(o),u=s.length,a=0;u>a;)if(o[n=s[a++]]===e)return n}},function(t,e,n){var i=n(16)(\"meta\"),r=n(13),o=n(2),s=n(3).f,u=0,a=Object.isExtensible||function(){return!0},l=!n(12)(function(){return a(Object.preventExtensions({}))}),c=function(t){s(t,i,{value:{i:\"O\"+ ++u,w:{}}})},f=function(t,e){if(!r(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!o(t,i)){if(!a(t))return\"F\";if(!e)return\"E\";c(t)}return t[i].i},p=function(t,e){if(!o(t,i)){if(!a(t))return!0;if(!e)return!1;c(t)}return t[i].w},h=function(t){return l&&d.NEED&&a(t)&&!o(t,i)&&c(t),t},d=t.exports={KEY:i,NEED:!1,fastKey:f,getWeak:p,onFreeze:h}},function(t,e,n){var i=n(3),r=n(10),o=n(14);t.exports=n(1)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(26),r=n(15),o=n(4),s=n(31),u=n(2),a=n(43),l=Object.getOwnPropertyDescriptor;e.f=n(1)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(4),r=n(46).f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&\"[object Window]\"==o.call(t)?u(t):r(i(t))}},function(t,e,n){var i=n(2),r=n(90),o=n(28)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(30),r=n(21);t.exports=function(t){return function(e,n){var o,s,u=String(r(e)),a=i(n),l=u.length;return a<0||a>=l?t?\"\":void 0:(o=u.charCodeAt(a),o<55296||o>56319||a+1===l||(s=u.charCodeAt(a+1))<56320||s>57343?t?u.charAt(a):o:t?u.slice(a,a+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var i=n(30),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(30),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(21);t.exports=function(t){return Object(i(t))}},function(t,e,n){\"use strict\";var i=n(72),r=n(80),o=n(24),s=n(4);t.exports=n(44)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){var i=n(23);i(i.S+i.F*!n(1),\"Object\",{defineProperty:n(3).f})},function(t,e){},function(t,e,n){\"use strict\";var i=n(87)(!0);n(44)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){\"use strict\";var i=n(0),r=n(2),o=n(1),s=n(23),u=n(49),a=n(82).KEY,l=n(12),c=n(29),f=n(27),p=n(16),h=n(7),d=n(33),v=n(32),y=n(81),g=n(75),b=n(78),m=n(10),_=n(4),x=n(31),w=n(15),S=n(45),O=n(85),L=n(84),P=n(3),k=n(14),E=L.f,j=P.f,V=O.f,C=i.Symbol,T=i.JSON,A=T&&T.stringify,$=h(\"_hidden\"),D=h(\"toPrimitive\"),F={}.propertyIsEnumerable,M=c(\"symbol-registry\"),B=c(\"symbols\"),N=c(\"op-symbols\"),R=Object.prototype,H=\"function\"==typeof C,G=i.QObject,I=!G||!G.prototype||!G.prototype.findChild,K=o&&l(function(){return 7!=S(j({},\"a\",{get:function(){return j(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var i=E(R,e);i&&delete R[e],j(t,e,n),i&&t!==R&&j(R,e,i)}:j,z=function(t){var e=B[t]=S(C.prototype);return e._k=t,e},U=H&&\"symbol\"==typeof C.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof C},W=function(t,e,n){return t===R&&W(N,e,n),m(t),e=x(e,!0),m(n),r(B,e)?(n.enumerable?(r(t,$)&&t[$][e]&&(t[$][e]=!1),n=S(n,{enumerable:w(0,!1)})):(r(t,$)||j(t,$,w(1,{})),t[$][e]=!0),K(t,e,n)):j(t,e,n)},J=function(t,e){m(t);for(var n,i=g(e=_(e)),r=0,o=i.length;o>r;)W(t,n=i[r++],e[n]);return t},q=function(t,e){return void 0===e?S(t):J(S(t),e)},X=function(t){var e=F.call(this,t=x(t,!0));return!(this===R&&r(B,t)&&!r(N,t))&&(!(e||!r(this,t)||!r(B,t)||r(this,$)&&this[$][t])||e)},Y=function(t,e){if(t=_(t),e=x(e,!0),t!==R||!r(B,e)||r(N,e)){var n=E(t,e);return!n||!r(B,e)||r(t,$)&&t[$][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=V(_(t)),i=[],o=0;n.length>o;)r(B,e=n[o++])||e==$||e==a||i.push(e);return i},Z=function(t){for(var e,n=t===R,i=V(n?N:_(t)),o=[],s=0;i.length>s;)!r(B,e=i[s++])||n&&!r(R,e)||o.push(B[e]);return o};H||(C=function(){if(this instanceof C)throw TypeError(\"Symbol is not a constructor!\");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===R&&e.call(N,n),r(this,$)&&r(this[$],t)&&(this[$][t]=!1),K(this,t,w(1,n))};return o&&I&&K(R,t,{configurable:!0,set:e}),z(t)},u(C.prototype,\"toString\",function(){return this._k}),L.f=Y,P.f=W,n(46).f=O.f=Q,n(26).f=X,n(47).f=Z,o&&!n(25)&&u(R,\"propertyIsEnumerable\",X,!0),d.f=function(t){return z(h(t))}),s(s.G+s.W+s.F*!H,{Symbol:C});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)h(tt[et++]);for(var tt=k(h.store),et=0;tt.length>et;)v(tt[et++]);s(s.S+s.F*!H,\"Symbol\",{for:function(t){return r(M,t+=\"\")?M[t]:M[t]=C(t)},keyFor:function(t){if(U(t))return y(M,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){I=!0},useSimple:function(){I=!1}}),s(s.S+s.F*!H,\"Object\",{create:q,defineProperty:W,defineProperties:J,getOwnPropertyDescriptor:Y,getOwnPropertyNames:Q,getOwnPropertySymbols:Z}),T&&s(s.S+s.F*(!H||l(function(){var t=C();return\"[null]\"!=A([t])||\"{}\"!=A({a:t})||\"{}\"!=A(Object(t))})),\"JSON\",{stringify:function(t){if(void 0!==t&&!U(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],\"function\"==typeof e&&(n=e),!n&&b(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!U(e))return e}),i[1]=e,A.apply(T,i)}}}),C.prototype[D]||n(6)(C.prototype,D,C.prototype.valueOf),f(C,\"Symbol\"),f(Math,\"Math\",!0),f(i.JSON,\"JSON\",!0)},function(t,e,n){n(32)(\"asyncIterator\")},function(t,e,n){n(32)(\"observable\")},function(t,e,n){n(91);for(var i=n(0),r=n(6),o=n(24),s=n(7)(\"toStringTag\"),u=[\"NodeList\",\"DOMTokenList\",\"MediaList\",\"StyleSheetList\",\"CSSRuleList\"],a=0;a<5;a++){var l=u[a],c=i[l],f=c&&c.prototype;f&&!f[s]&&r(f,s,l),o[l]=o.Array}},function(t,e,n){var i=n(38)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(18)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(19);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(115),r=n(37),o=n(114);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(50),r=n(57),o=n(36),s=n(37);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(19),r=n(54),o=n(38)(\"species\");t.exports=function(t){var e;return r(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(103);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){var i=n(19),r=n(9).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){\"use strict\";var i=n(18),r=n(55),o=n(8),s=n(17),u=n(38);t.exports=function(t,e,n){var a=u(t),l=n(s,a,\"\"[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=\"\"[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(35)&&!n(8)(function(){return 7!=Object.defineProperty(n(105)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(100),r=n(108),o=n(116),s=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(9),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e,n){var i=n(5),r=n(17),o=n(8),s=n(113),u=\"[\"+s+\"]\",a=\"
\",l=RegExp(\"^\"+u+u+\"*\"),c=RegExp(u+u+\"*$\"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,\"String\",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(c,\"\")),t};t.exports=f},function(t,e){t.exports=\"\\t\\n\\v\\f\\r \\u2028\\u2029\\ufeff\"},function(t,e,n){var i=n(56),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(36),r=n(17);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(19);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(2);i(i.P+i.F*!n(20)([].filter,!0),\"Array\",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(101)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(20)(o)),\"Array\",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(5);i(i.S,\"Array\",{isArray:n(54)})},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(1);i(i.P+i.F*!n(20)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(102);i(i.P+i.F*!n(20)([].reduce,!0),\"Array\",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){n(106)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){\"use strict\";n(112)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(s=t,u=t.default);var l=\"function\"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"multiselect\",class:{\"multiselect--active\":t.isOpen,\"multiselect--disabled\":t.disabled,\"multiselect--above\":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return\"button\"in e||!t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||!t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}],keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()}}},[t._t(\"caret\",[n(\"div\",{staticClass:\"multiselect__select\",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(\" \"),t._t(\"clear\",null,{search:t.search}),t._v(\" \"),n(\"div\",{ref:\"tags\",staticClass:\"multiselect__tags\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibleValues.length>0,expression:\"visibleValues.length > 0\"}],staticClass:\"multiselect__tags-wrap\"},[t._l(t.visibleValues,function(e){return[t._t(\"tag\",[n(\"span\",{staticClass:\"multiselect__tag\"},[n(\"span\",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(\" \"),n(\"i\",{staticClass:\"multiselect__tag-icon\",attrs:{\"aria-hidden\":\"true\",tabindex:\"1\"},on:{keydown:function(n){if(!(\"button\"in n)&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(\" \"),t.internalValue&&t.internalValue.length>t.limit?[t._t(\"limit\",[n(\"strong\",{staticClass:\"multiselect__strong\",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e(),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect__loading\"}},[t._t(\"loading\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.loading,expression:\"loading\"}],staticClass:\"multiselect__spinner\"})])],2),t._v(\" \"),n(\"input\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen&&t.searchable,expression:\"isOpen && searchable\"}],ref:\"search\",staticClass:\"multiselect__input\",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:\"text\",autocomplete:\"off\",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\"))return null;e.preventDefault(),t.pointerForward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\"))return null;e.preventDefault(),t.pointerBackward()},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\"]))return null;e.stopPropagation(),t.removeLastElement()}]}}),t._v(\" \"),t.isSingleLabelVisible?n(\"span\",{staticClass:\"multiselect__single\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"singleLabel\",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(\" \"),t.isPlaceholderVisible?n(\"span\",{on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"placeholder\",[n(\"span\",{staticClass:\"multiselect__single\"},[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])])],2):t._e()],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen,expression:\"isOpen\"}],ref:\"list\",staticClass:\"multiselect__content-wrapper\",style:{maxHeight:t.optimizedHeight+\"px\"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n(\"ul\",{staticClass:\"multiselect__content\",style:t.contentStyle},[t._t(\"beforeList\"),t._v(\" \"),t.multiple&&t.max===t.internalValue.length?n(\"li\",[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"maxElements\",[t._v(\"Maximum of \"+t._s(t.max)+\" options selected. First remove a selected option to select another.\")])],2)]):t._e(),t._v(\" \"),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n(\"li\",{key:i,staticClass:\"multiselect__element\"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n(\"span\",{staticClass:\"multiselect__option\",class:t.optionHighlight(i,e),attrs:{\"data-select\":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,\"data-selected\":t.selectedLabelText,\"data-deselect\":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(\" \"),e&&(e.$isLabel||e.$isDisabled)?n(\"span\",{staticClass:\"multiselect__option\",class:t.groupHighlight(i,e),attrs:{\"data-select\":t.groupSelect&&t.selectGroupLabelText,\"data-deselect\":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:\"showNoResults && (filteredOptions.length === 0 && search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noResult\",[t._v(\"No elements found. Consider changing the search query.\")])],2)]),t._v(\" \"),t._t(\"afterList\")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = require('./lib/axios');","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","module.exports = {};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","module.exports = false;\n","var core = module.exports = { version: '2.5.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (process.env && process.env.VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n","exports.f = {}.propertyIsEnumerable;\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n var fns = exec(defined, SYMBOL, ''[KEY]);\n var strfn = fns[0];\n var rxfn = fns[1];\n if (fails(function () {\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n })) {\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","exports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function validate(binding) {\r\n if (typeof binding.value !== 'function') {\r\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isPopup(popupItem, elements) {\r\n if (!popupItem || !elements)\r\n return false\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n try {\r\n if (popupItem.contains(elements[i])) {\r\n return true\r\n }\r\n if (elements[i].contains(popupItem)) {\r\n return false\r\n }\r\n } catch(e) {\r\n return false\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isServer(vNode) {\r\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\r\n}\r\n\r\nexports = module.exports = {\r\n bind: function (el, binding, vNode) {\r\n if (!validate(binding)) return\r\n\r\n // Define Handler and cache it on the element\r\n function handler(e) {\r\n if (!vNode.context) return\r\n\r\n // some components may have related popup item, on which we shall prevent the click outside event handler.\r\n var elements = e.path || (e.composedPath && e.composedPath())\r\n elements && elements.length > 0 && elements.unshift(e.target)\r\n \r\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\r\n\r\n el.__vueClickOutside__.callback(e)\r\n }\r\n\r\n // add Event Listeners\r\n el.__vueClickOutside__ = {\r\n handler: handler,\r\n callback: binding.value\r\n }\r\n !isServer(vNode) && document.addEventListener('click', handler)\r\n },\r\n\r\n update: function (el, binding) {\r\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\r\n },\r\n \r\n unbind: function (el, binding, vNode) {\r\n // Remove Event Listeners\r\n !isServer(vNode) && document.removeEventListener('click', el.__vueClickOutside__.handler)\r\n delete el.__vueClickOutside__\r\n }\r\n}\r\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n","var getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","exports.f = require('./_wks');\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueInfiniteLoading=t():e.VueInfiniteLoading=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(n){if(i[n])return i[n].exports;var a=i[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var i={};return t.m=e,t.c=i,t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,\"a\",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/\",t(t.s=3)}([function(e,t){function i(e,t){var i=e[1]||\"\",a=e[3];if(!a)return i;if(t&&\"function\"==typeof btoa){var r=n(a);return[i].concat(a.sources.map(function(e){return\"/*# sourceURL=\"+a.sourceRoot+e+\" */\"})).concat([r]).join(\"\\n\")}return[i].join(\"\\n\")}function n(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=i(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n}).join(\"\")},t.i=function(e,i){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var n={},a=0;a<this.length;a++){var r=this[a][0];\"number\"==typeof r&&(n[r]=!0)}for(a=0;a<e.length;a++){var o=e[a];\"number\"==typeof o[0]&&n[o[0]]||(i&&!o[2]?o[2]=i:i&&(o[2]=\"(\"+o[2]+\") and (\"+i+\")\"),t.push(o))}},t}},function(e,t,i){function n(e){for(var t=0;t<e.length;t++){var i=e[t],n=f[i.id];if(n){n.refs++;for(var a=0;a<n.parts.length;a++)n.parts[a](i.parts[a]);for(;a<i.parts.length;a++)n.parts.push(r(i.parts[a]));n.parts.length>i.parts.length&&(n.parts.length=i.parts.length)}else{for(var o=[],a=0;a<i.parts.length;a++)o.push(r(i.parts[a]));f[i.id]={id:i.id,refs:1,parts:o}}}}function a(){var e=document.createElement(\"style\");return e.type=\"text/css\",c.appendChild(e),e}function r(e){var t,i,n=document.querySelector('style[data-vue-ssr-id~=\"'+e.id+'\"]');if(n){if(m)return h;n.parentNode.removeChild(n)}if(b){var r=p++;n=u||(u=a()),t=o.bind(null,n,r,!1),i=o.bind(null,n,r,!0)}else n=a(),t=s.bind(null,n),i=function(){n.parentNode.removeChild(n)};return t(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;t(e=n)}else i()}}function o(e,t,i,n){var a=i?\"\":n.css;if(e.styleSheet)e.styleSheet.cssText=g(t,a);else{var r=document.createTextNode(a),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(r,o[t]):e.appendChild(r)}}function s(e,t){var i=t.css,n=t.media,a=t.sourceMap;if(n&&e.setAttribute(\"media\",n),a&&(i+=\"\\n/*# sourceURL=\"+a.sources[0]+\" */\",i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var l=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!l)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var d=i(7),f={},c=l&&(document.head||document.getElementsByTagName(\"head\")[0]),u=null,p=0,m=!1,h=function(){},b=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,i){m=i;var a=d(e,t);return n(a),function(t){for(var i=[],r=0;r<a.length;r++){var o=a[r],s=f[o.id];s.refs--,i.push(s)}t?(a=d(e,t),n(a)):a=[];for(var r=0;r<i.length;r++){var s=i[r];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete f[s.id]}}}};var g=function(){var e=[];return function(t,i){return e[t]=i,e.filter(Boolean).join(\"\\n\")}}()},function(e,t){e.exports=function(e,t,i,n,a,r){var o,s=e=e||{},l=typeof e.default;\"object\"!==l&&\"function\"!==l||(o=e,s=e.default);var d=\"function\"==typeof s?s.options:s;t&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0),i&&(d.functional=!0),a&&(d._scopeId=a);var f;if(r?(f=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},d._ssrRegister=f):n&&(f=n),f){var c=d.functional,u=c?d.render:d.beforeCreate;c?(d._injectStyles=f,d.render=function(e,t){return f.call(t),u(e,t)}):d.beforeCreate=u?[].concat(u,f):[f]}return{esModule:o,exports:s,options:d}}},function(e,t,i){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=i(4);t.default=n.a,\"undefined\"!=typeof window&&window.Vue&&window.Vue.component(\"infinite-loading\",n.a)},function(e,t,i){\"use strict\";function n(e){i(5)}var a=i(8),r=i(14),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-fb2c869e\",null);t.a=l.exports},function(e,t,i){var n=i(6);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"2249d7a7\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,\".infinite-loading-container[data-v-fb2c869e]{clear:both;text-align:center}.infinite-loading-container[data-v-fb2c869e] [class^=loading-]{display:inline-block;margin:15px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.infinite-status-prompt[data-v-fb2c869e]{color:#666;font-size:14px;text-align:center;padding:10px 0}\",\"\"])},function(e,t){e.exports=function(e,t){for(var i=[],n={},a=0;a<t.length;a++){var r=t[a],o=r[0],s=r[1],l=r[2],d=r[3],f={id:e+\":\"+a,css:s,media:l,sourceMap:d};n[o]?n[o].parts.push(f):i.push(n[o]={id:o,parts:[f]})}return i}},function(e,t,i){\"use strict\";var n=i(9),a={STATE_CHANGER:[\"[Vue-infinite-loading warn]: emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):\",\"\\ntemplate:\",'<infinite-loading @infinite=\"infiniteHandler\"></infinite-loading>',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\"},r={INFINITE_LOOP:[\"[Vue-infinite-loading error]: executed the callback function more than 10 times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\",'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n<div infinite-wrapper>\\n ...\\n \\x3c!-- set force-use-infinite-wrapper to true --\\x3e\\n <infinite-loading force-use-infinite-wrapper=\"true\"></infinite-loading>\\n</div>\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")};t.a={name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,debounceTimer:null,debounceDuration:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:n.a},computed:{isNoResults:{cache:!1,get:function(){var e=this.$slots[\"no-results\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!t}},isNoMore:{cache:!1,get:function(){var e=this.$slots[\"no-more\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!t}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:null},mounted:function(){var e=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(e){this.isLoading||(clearTimeout(this.debounceTimer),e&&e.constructor===Event?this.debounceTimer=setTimeout(this.attemptLoad,this.debounceDuration):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener(\"scroll\",this.scrollHandler),this.$on(\"$InfiniteLoading:loaded\",function(t){e.isFirstLoad=!1,e.isLoading&&e.$nextTick(e.attemptLoad.bind(null,!0)),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:complete\",function(t){e.isLoading=!1,e.isComplete=!0,e.$nextTick(function(){e.$forceUpdate()}),e.scrollParent.removeEventListener(\"scroll\",e.scrollHandler),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:reset\",function(){e.isLoading=!1,e.isComplete=!1,e.isFirstLoad=!0,e.scrollParent.addEventListener(\"scroll\",e.scrollHandler),setTimeout(e.scrollHandler,1)}),this.onInfinite&&console.warn(a.INFINITE_EVENT),this.stateChanger={loaded:function(){e.$emit(\"$InfiniteLoading:loaded\",{target:e})},complete:function(){e.$emit(\"$InfiniteLoading:complete\",{target:e})},reset:function(){e.$emit(\"$InfiniteLoading:reset\",{target:e})}},this.$watch(\"forceUseInfiniteWrapper\",function(){e.scrollParent=e.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler)},methods:{attemptLoad:function(e){var t=this,i=this.getCurrentDistance();!this.isComplete&&i<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!e||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){t.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(r.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){var e=void 0;if(\"top\"===this.direction)e=isNaN(this.scrollParent.scrollTop)?this.scrollParent.pageYOffset:this.scrollParent.scrollTop;else{e=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom)}return e},getScrollParent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el,t=void 0;return\"BODY\"===e.tagName?t=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(e).overflowY)>-1?t=e:(e.hasAttribute(\"infinite-wrapper\")||e.hasAttribute(\"data-infinite-wrapper\"))&&(t=e),t||this.getScrollParent(e.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)}}},function(e,t,i){\"use strict\";function n(e){i(10)}var a=i(12),r=i(13),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-6e1fd88f\",null);t.a=l.exports},function(e,t,i){var n=i(11);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"29881045\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,'.loading-wave-dots[data-v-6e1fd88f]{position:relative}.loading-wave-dots[data-v-6e1fd88f] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite;animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite}.loading-wave-dots[data-v-6e1fd88f] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-6e1fd88f] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-6e1fd88f linear .75s infinite;animation:loading-circles-data-v-6e1fd88f linear .75s infinite}.loading-circles[data-v-6e1fd88f] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-6e1fd88f] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-6e1fd88f] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite;animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite}.loading-bubbles[data-v-6e1fd88f] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-6e1fd88f]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite;animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite}.loading-default[data-v-6e1fd88f]:before{content:\"\";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-6e1fd88f]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-6e1fd88f linear .85s infinite;animation:loading-rotating-data-v-6e1fd88f linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-6e1fd88f],.loading-circles[data-v-6e1fd88f]{position:relative}.loading-bubbles[data-v-6e1fd88f] .bubble-item,.loading-circles[data-v-6e1fd88f] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child,.loading-circles[data-v-6e1fd88f] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',\"\"])},function(e,t,i){\"use strict\";var n={BUBBLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-bubbles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"bubble-item\"}})}))}},CIRCLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-circles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"circle-item\"}})}))}},DEFAULT:{render:function(e){return e(\"i\",{attrs:{class:\"loading-default\"}})}},SPIRAL:{render:function(e){return e(\"i\",{attrs:{class:\"loading-spiral\"}})}},WAVEDOTS:{render:function(e){return e(\"span\",{attrs:{class:\"loading-wave-dots\"}},Array.apply(Array,Array(5)).map(function(){return e(\"span\",{attrs:{class:\"wave-item\"}})}))}}};t.a={name:\"spinner\",computed:{spinnerView:function(){return n[(this.spinner||\"\").toUpperCase()]||n.DEFAULT}},props:{spinner:String}}},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.spinnerView,{tag:\"component\"})},a=[],r={render:n,staticRenderFns:a};t.a=r},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{staticClass:\"infinite-loading-container\"},[i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isLoading,expression:\"isLoading\"}]},[e._t(\"spinner\",[i(\"spinner\",{attrs:{spinner:e.spinner}})])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoResults,expression:\"isNoResults\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-results\",[e._v(\"No results :(\")])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoMore,expression:\"isNoMore\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-more\",[e._v(\"No more data :)\")])],2)])},a=[],r={render:n,staticRenderFns:a};t.a=r}])});","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.3\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && parent.nodeName === 'HTML') {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\nif (typeof window !== 'undefined') {\n\tSVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n\tif (typeof value === 'string') {\n\t\tvalue = value.split(' ');\n\t}\n\treturn value;\n}\n\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\nfunction addClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = convertToArray(el.className.baseVal);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tif (classList.indexOf(newClass) === -1) {\n\t\t\tclassList.push(newClass);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\nfunction removeClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = convertToArray(el.className.baseVal);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tvar index = classList.indexOf(newClass);\n\t\tif (index !== -1) {\n\t\t\tclassList.splice(index, 1);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n\tsupportsPassive = false;\n\ttry {\n\t\tvar opts = Object.defineProperty({}, 'passive', {\n\t\t\tget: function get() {\n\t\t\t\tsupportsPassive = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('test', null, opts);\n\t} catch (e) {}\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck$1 = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass$1 = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends$1 = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/* Forked from https://github.com/FezVrasta/popper.js/blob/master/packages/tooltip/src/index.js */\n\nvar DEFAULT_OPTIONS = {\n\tcontainer: false,\n\tdelay: 0,\n\thtml: false,\n\tplacement: 'top',\n\ttitle: '',\n\ttemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n\ttrigger: 'hover focus',\n\toffset: 0\n};\n\nvar openTooltips = [];\n\nvar Tooltip = function () {\n\t/**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n *\t\t\tPlacement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n *\t\t\tleft(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n *\t\t\tDelay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n *\t\t\tIf a number is supplied, delay is applied to both hide/show.\n *\t\t\tObject structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>']\n *\t\t\tBase HTML to used when creating the tooltip.\n *\t\t\tThe tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n *\t\t\t`.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n *\t\t\tThe outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n *\t\t\tHow tooltip is triggered - click, hover, focus, manual.\n *\t\t\tYou may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n *\t\t\tThe element used as boundaries for the tooltip. For more information refer to Popper.js'\n *\t\t\t[boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n *\t\t\t[offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n *\t\t\t[options docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n\tfunction Tooltip(reference, options) {\n\t\tclassCallCheck$1(this, Tooltip);\n\n\t\t_initialiseProps.call(this);\n\n\t\t// apply user options over default ones\n\t\toptions = _extends$1({}, DEFAULT_OPTIONS, options);\n\n\t\treference.jquery && (reference = reference[0]);\n\n\t\t// cache reference and options\n\t\tthis.reference = reference;\n\t\tthis.options = options;\n\n\t\t// set initial state\n\t\tthis._isOpen = false;\n\n\t\tthis._init();\n\t}\n\n\t//\n\t// Public methods\n\t//\n\n\t/**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n\n\t/**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n\n\tcreateClass$1(Tooltip, [{\n\t\tkey: 'setClasses',\n\t\tvalue: function setClasses(classes) {\n\t\t\tthis._classes = classes;\n\t\t}\n\t}, {\n\t\tkey: 'setContent',\n\t\tvalue: function setContent(content) {\n\t\t\tthis.options.title = content;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._setContent(content, this.options);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'setOptions',\n\t\tvalue: function setOptions(options) {\n\t\t\tvar classesUpdated = false;\n\t\t\tvar classes = options && options.classes || directive.options.defaultClass;\n\t\t\tif (this._classes !== classes) {\n\t\t\t\tthis.setClasses(classes);\n\t\t\t\tclassesUpdated = true;\n\t\t\t}\n\n\t\t\toptions = getOptions(options);\n\n\t\t\tvar needPopperUpdate = false;\n\t\t\tvar needRestart = false;\n\n\t\t\tif (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n\t\t\t\tneedPopperUpdate = true;\n\t\t\t}\n\n\t\t\tif (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n\t\t\t\tneedRestart = true;\n\t\t\t}\n\n\t\t\tfor (var key in options) {\n\t\t\t\tthis.options[key] = options[key];\n\t\t\t}\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tif (needRestart) {\n\t\t\t\t\tvar isOpen = this._isOpen;\n\n\t\t\t\t\tthis.dispose();\n\t\t\t\t\tthis._init();\n\n\t\t\t\t\tif (isOpen) {\n\t\t\t\t\t\tthis.show();\n\t\t\t\t\t}\n\t\t\t\t} else if (needPopperUpdate) {\n\t\t\t\t\tthis.popperInstance.update();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\t// Private methods\n\t\t//\n\n\t}, {\n\t\tkey: '_init',\n\t\tvalue: function _init() {\n\t\t\t// get events list\n\t\t\tvar events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\t\t\tthis._isDisposed = false;\n\t\t\tthis._enableDocumentTouch = events.indexOf('manual') === -1;\n\n\t\t\t// set event listeners\n\t\t\tthis._setEventListeners(this.reference, events, this.options);\n\t\t}\n\n\t\t/**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n\t}, {\n\t\tkey: '_create',\n\t\tvalue: function _create(reference, template) {\n\t\t\t// create tooltip element\n\t\t\tvar tooltipGenerator = window.document.createElement('div');\n\t\t\ttooltipGenerator.innerHTML = template.trim();\n\t\t\tvar tooltipNode = tooltipGenerator.childNodes[0];\n\n\t\t\t// add unique ID to our tooltip (needed for accessibility reasons)\n\t\t\ttooltipNode.id = 'tooltip_' + Math.random().toString(36).substr(2, 10);\n\n\t\t\t// Initially hide the tooltip\n\t\t\t// The attribute will be switched in a next frame so\n\t\t\t// CSS transitions can play\n\t\t\ttooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tif (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n\t\t\t\ttooltipNode.addEventListener('mouseenter', this.hide);\n\t\t\t\ttooltipNode.addEventListener('click', this.hide);\n\t\t\t}\n\n\t\t\t// return the generated tooltip node\n\t\t\treturn tooltipNode;\n\t\t}\n\t}, {\n\t\tkey: '_setContent',\n\t\tvalue: function _setContent(content, options) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.asyncContent = false;\n\t\t\tthis._applyContent(content, options).then(function () {\n\t\t\t\t_this.popperInstance.update();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_applyContent',\n\t\tvalue: function _applyContent(title, options) {\n\t\t\tvar _this2 = this;\n\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tvar allowHtml = options.html;\n\t\t\t\tvar rootNode = _this2._tooltipNode;\n\t\t\t\tvar titleNode = rootNode.querySelector(_this2.options.innerSelector);\n\t\t\t\tif (title.nodeType === 1) {\n\t\t\t\t\t// if title is a node, append it only if allowHtml is true\n\t\t\t\t\tif (allowHtml) {\n\t\t\t\t\t\twhile (titleNode.firstChild) {\n\t\t\t\t\t\t\ttitleNode.removeChild(titleNode.firstChild);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitleNode.appendChild(title);\n\t\t\t\t\t}\n\t\t\t\t} else if (typeof title === 'function') {\n\t\t\t\t\t// if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tvar result = title();\n\t\t\t\t\tif (result && typeof result.then === 'function') {\n\t\t\t\t\t\t_this2.asyncContent = true;\n\t\t\t\t\t\toptions.loadingClass && addClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\tif (options.loadingContent) {\n\t\t\t\t\t\t\t_this2._applyContent(options.loadingContent, options);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresult.then(function (asyncResult) {\n\t\t\t\t\t\t\toptions.loadingClass && removeClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\t\treturn _this2._applyContent(asyncResult, options);\n\t\t\t\t\t\t}).then(resolve).catch(reject);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this2._applyContent(result, options).then(resolve).catch(reject);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\t// if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tallowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n\t\t\t\t}\n\t\t\t\tresolve();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_show',\n\t\tvalue: function _show(reference, options) {\n\t\t\tif (options && typeof options.container === 'string') {\n\t\t\t\tvar container = document.querySelector(options.container);\n\t\t\t\tif (!container) return;\n\t\t\t}\n\n\t\t\tclearTimeout(this._disposeTimer);\n\n\t\t\toptions = Object.assign({}, options);\n\t\t\tdelete options.offset;\n\n\t\t\tvar updateClasses = true;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t\tupdateClasses = false;\n\t\t\t}\n\n\t\t\tvar result = this._ensureShown(reference, options);\n\n\t\t\tif (updateClasses && this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t}\n\n\t\t\taddClasses(reference, ['v-tooltip-open']);\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: '_ensureShown',\n\t\tvalue: function _ensureShown(reference, options) {\n\t\t\tvar _this3 = this;\n\n\t\t\t// don't show if it's already visible\n\t\t\tif (this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tthis._isOpen = true;\n\n\t\t\topenTooltips.push(this);\n\n\t\t\t// if the tooltipNode already exists, just show it\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._tooltipNode.style.display = '';\n\t\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tif (this.asyncContent) {\n\t\t\t\t\tthis._setContent(options.title, options);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// get title\n\t\t\tvar title = reference.getAttribute('title') || options.title;\n\n\t\t\t// don't show tooltip if no title is defined\n\t\t\tif (!title) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// create tooltip node\n\t\t\tvar tooltipNode = this._create(reference, options.template);\n\t\t\tthis._tooltipNode = tooltipNode;\n\n\t\t\tthis._setContent(title, options);\n\n\t\t\t// Add `aria-describedby` to our reference element for accessibility reasons\n\t\t\treference.setAttribute('aria-describedby', tooltipNode.id);\n\n\t\t\t// append tooltip to container\n\t\t\tvar container = this._findContainer(options.container, reference);\n\n\t\t\tthis._append(tooltipNode, container);\n\n\t\t\tvar popperOptions = _extends$1({}, options.popperOptions, {\n\t\t\t\tplacement: options.placement\n\t\t\t});\n\n\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\tarrow: {\n\t\t\t\t\telement: this.options.arrowSelector\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (options.boundariesElement) {\n\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\tboundariesElement: options.boundariesElement\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n\t\t\t// Fix position\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\tif (!_this3._isDisposed && _this3.popperInstance) {\n\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t// Show the tooltip\n\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\tif (!_this3._isDisposed) {\n\t\t\t\t\t\t\t_this3._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t_this3.dispose();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_noLongerOpen',\n\t\tvalue: function _noLongerOpen() {\n\t\t\tvar index = openTooltips.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenTooltips.splice(index, 1);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_hide',\n\t\tvalue: function _hide() /* reference, options */{\n\t\t\tvar _this4 = this;\n\n\t\t\t// don't hide if it's already hidden\n\t\t\tif (!this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tthis._isOpen = false;\n\t\t\tthis._noLongerOpen();\n\n\t\t\t// hide tooltipNode\n\t\t\tthis._tooltipNode.style.display = 'none';\n\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tthis.popperInstance.disableEventListeners();\n\n\t\t\tclearTimeout(this._disposeTimer);\n\t\t\tvar disposeTime = directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis._disposeTimer = setTimeout(function () {\n\t\t\t\t\tif (_this4._tooltipNode) {\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('mouseenter', _this4.hide);\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('click', _this4.hide);\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\t_this4._tooltipNode.parentNode.removeChild(_this4._tooltipNode);\n\t\t\t\t\t\t_this4._tooltipNode = null;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\tremoveClasses(this.reference, ['v-tooltip-open']);\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_dispose',\n\t\tvalue: function _dispose() {\n\t\t\tvar _this5 = this;\n\n\t\t\tthis._isDisposed = true;\n\n\t\t\t// remove event listeners first to prevent any unexpected behaviour\n\t\t\tthis._events.forEach(function (_ref) {\n\t\t\t\tvar func = _ref.func,\n\t\t\t\t event = _ref.event;\n\n\t\t\t\t_this5.reference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis._events = [];\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._hide();\n\n\t\t\t\tthis._tooltipNode.removeEventListener('mouseenter', this.hide);\n\t\t\t\tthis._tooltipNode.removeEventListener('click', this.hide);\n\n\t\t\t\t// destroy instance\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tthis._tooltipNode.parentNode.removeChild(this._tooltipNode);\n\t\t\t\t\tthis._tooltipNode = null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._noLongerOpen();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_findContainer',\n\t\tvalue: function _findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t}\n\n\t\t/**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n\t}, {\n\t\tkey: '_append',\n\t\tvalue: function _append(tooltipNode, container) {\n\t\t\tcontainer.appendChild(tooltipNode);\n\t\t}\n\t}, {\n\t\tkey: '_setEventListeners',\n\t\tvalue: function _setEventListeners(reference, events, options) {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tif (_this6.options.hideOnTargetClick) oppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tif (_this6.options.hideOnTargetClick) oppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (_this6._isOpen === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevt.usedByTooltip = true;\n\t\t\t\t\t_this6._scheduleShow(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (evt.usedByTooltip === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this6._scheduleHide(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_onDocumentTouch',\n\t\tvalue: function _onDocumentTouch(event) {\n\t\t\tif (this._enableDocumentTouch) {\n\t\t\t\tthis._scheduleHide(this.reference, this.options.delay, this.options, event);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_scheduleShow',\n\t\tvalue: function _scheduleShow(reference, delay, options /*, evt */) {\n\t\t\tvar _this7 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.show || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\treturn _this7._show(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}, {\n\t\tkey: '_scheduleHide',\n\t\tvalue: function _scheduleHide(reference, delay, options, evt) {\n\t\t\tvar _this8 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.hide || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\tif (_this8._isOpen === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!document.body.contains(_this8._tooltipNode)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\tif (evt.type === 'mouseleave') {\n\t\t\t\t\tvar isSet = _this8._setTooltipNodeEvent(evt, reference, delay, options);\n\n\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t_this8._hide(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}]);\n\treturn Tooltip;\n}();\n\n// Hide tooltips on touch devices\n\n\nvar _initialiseProps = function _initialiseProps() {\n\tvar _this9 = this;\n\n\tthis.show = function () {\n\t\t_this9._show(_this9.reference, _this9.options);\n\t};\n\n\tthis.hide = function () {\n\t\t_this9._hide();\n\t};\n\n\tthis.dispose = function () {\n\t\t_this9._dispose();\n\t};\n\n\tthis.toggle = function () {\n\t\tif (_this9._isOpen) {\n\t\t\treturn _this9.hide();\n\t\t} else {\n\t\t\treturn _this9.show();\n\t\t}\n\t};\n\n\tthis._events = [];\n\n\tthis._setTooltipNodeEvent = function (evt, reference, delay, options) {\n\t\tvar relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n\t\tvar callback = function callback(evt2) {\n\t\t\tvar relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget;\n\n\t\t\t// Remove event listener after call\n\t\t\t_this9._tooltipNode.removeEventListener(evt.type, callback);\n\n\t\t\t// If the new reference is not the reference element\n\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t_this9._scheduleHide(reference, options.delay, options, evt2);\n\t\t\t}\n\t\t};\n\n\t\tif (_this9._tooltipNode.contains(relatedreference)) {\n\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t_this9._tooltipNode.addEventListener(evt.type, callback);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n};\n\nif (typeof document !== 'undefined') {\n\tdocument.addEventListener('touchstart', function (event) {\n\t\tfor (var i = 0; i < openTooltips.length; i++) {\n\t\t\topenTooltips[i]._onDocumentTouch(event);\n\t\t}\n\t}, supportsPassive ? {\n\t\tpassive: true,\n\t\tcapture: true\n\t} : true);\n}\n\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar state = {\n\tenabled: true\n};\n\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\n\nvar defaultOptions = {\n\t// Default tooltip placement relative to target element\n\tdefaultPlacement: 'top',\n\t// Default CSS classes applied to the tooltip element\n\tdefaultClass: 'vue-tooltip-theme',\n\t// Default CSS classes applied to the target element of the tooltip\n\tdefaultTargetClass: 'has-tooltip',\n\t// Is the content HTML by default?\n\tdefaultHtml: true,\n\t// Default HTML template of the tooltip element\n\t// It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n\t// Change if the classes conflict with other libraries (for example bootstrap)\n\tdefaultTemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n\t// Selector used to get the arrow element in the tooltip template\n\tdefaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n\t// Selector used to get the inner content element in the tooltip template\n\tdefaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n\t// Delay (ms)\n\tdefaultDelay: 0,\n\t// Default events that trigger the tooltip\n\tdefaultTrigger: 'hover focus',\n\t// Default position offset (px)\n\tdefaultOffset: 0,\n\t// Default container where the tooltip will be appended\n\tdefaultContainer: 'body',\n\tdefaultBoundariesElement: undefined,\n\tdefaultPopperOptions: {},\n\t// Class added when content is loading\n\tdefaultLoadingClass: 'tooltip-loading',\n\t// Displayed when tooltip content is loading\n\tdefaultLoadingContent: '...',\n\t// Hide on mouseover tooltip\n\tautoHide: true,\n\t// Close tooltip on click on tooltip target?\n\tdefaultHideOnTargetClick: true,\n\t// Auto destroy tooltip DOM nodes (ms)\n\tdisposeTimeout: 5000,\n\t// Options for popover\n\tpopover: {\n\t\tdefaultPlacement: 'bottom',\n\t\t// Use the `popoverClass` prop for theming\n\t\tdefaultClass: 'vue-popover-theme',\n\t\t// Base class (change if conflicts with other libraries)\n\t\tdefaultBaseClass: 'tooltip popover',\n\t\t// Wrapper class (contains arrow and inner)\n\t\tdefaultWrapperClass: 'wrapper',\n\t\t// Inner content class\n\t\tdefaultInnerClass: 'tooltip-inner popover-inner',\n\t\t// Arrow class\n\t\tdefaultArrowClass: 'tooltip-arrow popover-arrow',\n\t\tdefaultDelay: 0,\n\t\tdefaultTrigger: 'click',\n\t\tdefaultOffset: 0,\n\t\tdefaultContainer: 'body',\n\t\tdefaultBoundariesElement: undefined,\n\t\tdefaultPopperOptions: {},\n\t\t// Hides if clicked outside of popover\n\t\tdefaultAutoHide: true,\n\t\t// Update popper on content resize\n\t\tdefaultHandleResize: true\n\t}\n};\n\nfunction getOptions(options) {\n\tvar result = {\n\t\tplacement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n\t\tdelay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n\t\thtml: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n\t\ttemplate: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n\t\tarrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n\t\tinnerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n\t\ttrigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n\t\toffset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n\t\tcontainer: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n\t\tboundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n\t\tautoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n\t\thideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n\t\tloadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n\t\tloadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n\t\tpopperOptions: _extends$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n\t};\n\n\tif (result.offset) {\n\t\tvar typeofOffset = _typeof(result.offset);\n\t\tvar offset = result.offset;\n\n\t\t// One value -> switch\n\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\toffset = '0, ' + offset;\n\t\t}\n\n\t\tif (!result.popperOptions.modifiers) {\n\t\t\tresult.popperOptions.modifiers = {};\n\t\t}\n\t\tresult.popperOptions.modifiers.offset = {\n\t\t\toffset: offset\n\t\t};\n\t}\n\n\treturn result;\n}\n\nfunction getPlacement(value, modifiers) {\n\tvar placement = value.placement;\n\tfor (var i = 0; i < positions.length; i++) {\n\t\tvar pos = positions[i];\n\t\tif (modifiers[pos]) {\n\t\t\tplacement = pos;\n\t\t}\n\t}\n\treturn placement;\n}\n\nfunction getContent(value) {\n\tvar type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\tif (type === 'string') {\n\t\treturn value;\n\t} else if (value && type === 'object') {\n\t\treturn value.content;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction createTooltip(el, value) {\n\tvar modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar content = getContent(value);\n\tvar classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\tvar opts = _extends$1({\n\t\ttitle: content\n\t}, getOptions(_extends$1({}, value, {\n\t\tplacement: getPlacement(value, modifiers)\n\t})));\n\tvar tooltip = el._tooltip = new Tooltip(el, opts);\n\ttooltip.setClasses(classes);\n\ttooltip._vueEl = el;\n\n\t// Class on target\n\tvar targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n\tel._tooltipTargetClasses = targetClasses;\n\taddClasses(el, targetClasses);\n\n\treturn tooltip;\n}\n\nfunction destroyTooltip(el) {\n\tif (el._tooltip) {\n\t\tel._tooltip.dispose();\n\t\tdelete el._tooltip;\n\t\tdelete el._tooltipOldShow;\n\t}\n\n\tif (el._tooltipTargetClasses) {\n\t\tremoveClasses(el, el._tooltipTargetClasses);\n\t\tdelete el._tooltipTargetClasses;\n\t}\n}\n\nfunction bind(el, _ref) {\n\tvar value = _ref.value,\n\t oldValue = _ref.oldValue,\n\t modifiers = _ref.modifiers;\n\n\tvar content = getContent(value);\n\tif (!content || !state.enabled) {\n\t\tdestroyTooltip(el);\n\t} else {\n\t\tvar tooltip = void 0;\n\t\tif (el._tooltip) {\n\t\t\ttooltip = el._tooltip;\n\t\t\t// Content\n\t\t\ttooltip.setContent(content);\n\t\t\t// Options\n\t\t\ttooltip.setOptions(_extends$1({}, value, {\n\t\t\t\tplacement: getPlacement(value, modifiers)\n\t\t\t}));\n\t\t} else {\n\t\t\ttooltip = createTooltip(el, value, modifiers);\n\t\t}\n\n\t\t// Manual show\n\t\tif (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n\t\t\tel._tooltipOldShow = value.show;\n\t\t\tvalue.show ? tooltip.show() : tooltip.hide();\n\t\t}\n\t}\n}\n\nvar directive = {\n\toptions: defaultOptions,\n\tbind: bind,\n\tupdate: bind,\n\tunbind: function unbind(el) {\n\t\tdestroyTooltip(el);\n\t}\n};\n\nfunction addListeners(el) {\n\tel.addEventListener('click', onClick);\n\tel.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\nfunction removeListeners(el) {\n\tel.removeEventListener('click', onClick);\n\tel.removeEventListener('touchstart', onTouchStart);\n\tel.removeEventListener('touchend', onTouchEnd);\n\tel.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n\tvar el = event.currentTarget;\n\tevent.closePopover = !el.$_vclosepopover_touch;\n\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n\tif (event.changedTouches.length === 1) {\n\t\tvar el = event.currentTarget;\n\t\tel.$_vclosepopover_touch = true;\n\t\tvar touch = event.changedTouches[0];\n\t\tel.$_vclosepopover_touchPoint = touch;\n\t\tel.addEventListener('touchend', onTouchEnd);\n\t\tel.addEventListener('touchcancel', onTouchCancel);\n\t}\n}\n\nfunction onTouchEnd(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n\tif (event.changedTouches.length === 1) {\n\t\tvar touch = event.changedTouches[0];\n\t\tvar firstTouch = el.$_vclosepopover_touchPoint;\n\t\tevent.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n\t\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n\t}\n}\n\nfunction onTouchCancel(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n\tbind: function bind(el, _ref) {\n\t\tvar value = _ref.value,\n\t\t modifiers = _ref.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (typeof value === 'undefined' || value) {\n\t\t\taddListeners(el);\n\t\t}\n\t},\n\tupdate: function update(el, _ref2) {\n\t\tvar value = _ref2.value,\n\t\t oldValue = _ref2.oldValue,\n\t\t modifiers = _ref2.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (value !== oldValue) {\n\t\t\tif (typeof value === 'undefined' || value) {\n\t\t\t\taddListeners(el);\n\t\t\t} else {\n\t\t\t\tremoveListeners(el);\n\t\t\t}\n\t\t}\n\t},\n\tunbind: function unbind(el) {\n\t\tremoveListeners(el);\n\t}\n};\n\nfunction getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE$1 = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE$1 = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tnotify: function notify() {\n\t\t\tthis.$emit('notify');\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.notify);\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis.notify();\n\t\t\t}\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE$1 && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.notify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE$1) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE$1) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install$1(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\t/* -- Add more components here -- */\n}\n\n/* -- Plugin definition & Auto-install -- */\n/* You shouldn't have to modify the code below */\n\n// Plugin\nvar plugin$2 = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.4\",\n\tinstall: install$1\n};\n\n// Auto-install\nvar GlobalVue$1 = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue$1 = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n\tGlobalVue$1.use(plugin$2);\n}\n\nfunction getDefault(key) {\n\tvar value = directive.options.popover[key];\n\tif (typeof value === 'undefined') {\n\t\treturn directive.options[key];\n\t}\n\treturn value;\n}\n\nvar isIOS = false;\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n\tisIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\nif (typeof window !== 'undefined') {\n\tElement = window.Element;\n}\n\nvar Popover = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"v-popover\", class: _vm.cssClass }, [_c('span', { ref: \"trigger\", staticClass: \"trigger\", staticStyle: { \"display\": \"inline-block\" }, attrs: { \"aria-describedby\": _vm.popoverId, \"tabindex\": _vm.trigger.indexOf('focus') !== -1 ? 0 : -1 } }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', { ref: \"popover\", class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass], style: {\n\t\t\t\tvisibility: _vm.isOpen ? 'visible' : 'hidden'\n\t\t\t}, attrs: { \"id\": _vm.popoverId, \"aria-hidden\": _vm.isOpen ? 'false' : 'true' } }, [_c('div', { class: _vm.popoverWrapperClass }, [_c('div', { ref: \"inner\", class: _vm.popoverInnerClass, staticStyle: { \"position\": \"relative\" } }, [_c('div', [_vm._t(\"popover\")], 2), _vm._v(\" \"), _vm.handleResize ? _c('ResizeObserver', { on: { \"notify\": _vm.$_handleResize } }) : _vm._e()], 1), _vm._v(\" \"), _c('div', { ref: \"arrow\", class: _vm.popoverArrowClass })])])]);\n\t}, staticRenderFns: [],\n\tname: 'VPopover',\n\n\tcomponents: {\n\t\tResizeObserver: ResizeObserver\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPlacement');\n\t\t\t}\n\t\t},\n\t\tdelay: {\n\t\t\ttype: [String, Number, Object],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultDelay');\n\t\t\t}\n\t\t},\n\t\toffset: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultOffset');\n\t\t\t}\n\t\t},\n\t\ttrigger: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultTrigger');\n\t\t\t}\n\t\t},\n\t\tcontainer: {\n\t\t\ttype: [String, Object, Element],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultContainer');\n\t\t\t}\n\t\t},\n\t\tboundariesElement: {\n\t\t\ttype: Element,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultBoundariesElement');\n\t\t\t}\n\t\t},\n\t\tpopperOptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPopperOptions');\n\t\t\t}\n\t\t},\n\t\tpopoverClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultClass');\n\t\t\t}\n\t\t},\n\t\tpopoverBaseClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultBaseClass;\n\t\t\t}\n\t\t},\n\t\tpopoverInnerClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultInnerClass;\n\t\t\t}\n\t\t},\n\t\tpopoverWrapperClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultWrapperClass;\n\t\t\t}\n\t\t},\n\t\tpopoverArrowClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultArrowClass;\n\t\t\t}\n\t\t},\n\t\tautoHide: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultAutoHide;\n\t\t\t}\n\t\t},\n\t\thandleResize: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultHandleResize;\n\t\t\t}\n\t\t},\n\t\topenGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null\n\t\t}\n\t},\n\n\tdata: function data() {\n\t\treturn {\n\t\t\tisOpen: false,\n\t\t\tid: Math.random().toString(36).substr(2, 10)\n\t\t};\n\t},\n\n\n\tcomputed: {\n\t\tcssClass: function cssClass() {\n\t\t\treturn {\n\t\t\t\t'open': this.isOpen\n\t\t\t};\n\t\t},\n\t\tpopoverId: function popoverId() {\n\t\t\treturn 'popover_' + this.id;\n\t\t}\n\t},\n\n\twatch: {\n\t\topen: function open(val) {\n\t\t\tif (val) {\n\t\t\t\tthis.show();\n\t\t\t} else {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\t\tdisabled: function disabled(val, oldVal) {\n\t\t\tif (val !== oldVal) {\n\t\t\t\tif (val) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t} else if (this.open) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcontainer: function container(val) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\tvar reference = this.$refs.trigger;\n\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t}\n\t\t},\n\t\ttrigger: function trigger(val) {\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.$_addEventListeners();\n\t\t},\n\t\tplacement: function placement(val) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\t_this.popperInstance.options.placement = val;\n\t\t\t});\n\t\t},\n\n\n\t\toffset: '$_restartPopper',\n\n\t\tboundariesElement: '$_restartPopper',\n\n\t\tpopperOptions: {\n\t\t\thandler: '$_restartPopper',\n\t\t\tdeep: true\n\t\t}\n\t},\n\n\tcreated: function created() {\n\t\tthis.$_isDisposed = false;\n\t\tthis.$_mounted = false;\n\t\tthis.$_events = [];\n\t\tthis.$_preventOpen = false;\n\t},\n\tmounted: function mounted() {\n\t\tvar popoverNode = this.$refs.popover;\n\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\n\t\tthis.$_init();\n\n\t\tif (this.open) {\n\t\t\tthis.show();\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.dispose();\n\t},\n\n\n\tmethods: {\n\t\tshow: function show() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref.event,\n\t\t\t _ref$skipDelay = _ref.skipDelay,\n\t\t\t skipDelay = _ref$skipDelay === undefined ? false : _ref$skipDelay,\n\t\t\t _ref$force = _ref.force,\n\t\t\t force = _ref$force === undefined ? false : _ref$force;\n\n\t\t\tif (force || !this.disabled) {\n\t\t\t\tthis.$_scheduleShow(event);\n\t\t\t\tthis.$emit('show');\n\t\t\t}\n\t\t\tthis.$emit('update:open', true);\n\t\t\tthis.$_beingShowed = true;\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\t_this2.$_beingShowed = false;\n\t\t\t});\n\t\t},\n\t\thide: function hide() {\n\t\t\tvar _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref2.event,\n\t\t\t _ref2$skipDelay = _ref2.skipDelay;\n\n\t\t\tthis.$_scheduleHide(event);\n\n\t\t\tthis.$emit('hide');\n\t\t\tthis.$emit('update:open', false);\n\t\t},\n\t\tdispose: function dispose() {\n\t\t\tthis.$_isDisposed = true;\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.hide({ skipDelay: true });\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$_mounted = false;\n\t\t\tthis.popperInstance = null;\n\t\t\tthis.isOpen = false;\n\n\t\t\tthis.$emit('dispose');\n\t\t},\n\t\t$_init: function $_init() {\n\t\t\tif (this.trigger.indexOf('manual') === -1) {\n\t\t\t\tthis.$_addEventListeners();\n\t\t\t}\n\t\t},\n\t\t$_show: function $_show() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\n\t\t\t// Already open\n\t\t\tif (this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Popper is already initialized\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.isOpen = true;\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t}\n\n\t\t\tif (!this.$_mounted) {\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.$_mounted = true;\n\t\t\t}\n\n\t\t\tif (!this.popperInstance) {\n\t\t\t\tvar popperOptions = _extends$1({}, this.popperOptions, {\n\t\t\t\t\tplacement: this.placement\n\t\t\t\t});\n\n\t\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\t\tarrow: {\n\t\t\t\t\t\telement: this.$refs.arrow\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (this.offset) {\n\t\t\t\t\tvar offset = this.$_getOffset();\n\n\t\t\t\t\tpopperOptions.modifiers.offset = {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (this.boundariesElement) {\n\t\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\t\tboundariesElement: this.boundariesElement\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tthis.popperInstance = new Popper(reference, popoverNode, popperOptions);\n\n\t\t\t\t// Fix position\n\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\tif (!_this3.$_isDisposed && _this3.popperInstance) {\n\t\t\t\t\t\t_this3.popperInstance.scheduleUpdate();\n\n\t\t\t\t\t\t// Show the tooltip\n\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\tif (!_this3.$_isDisposed) {\n\t\t\t\t\t\t\t\t_this3.isOpen = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tvar openGroup = this.openGroup;\n\t\t\tif (openGroup) {\n\t\t\t\tvar popover = void 0;\n\t\t\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\t\t\tpopover = openPopovers[i];\n\t\t\t\t\tif (popover.openGroup !== openGroup) {\n\t\t\t\t\t\tpopover.hide();\n\t\t\t\t\t\tpopover.$emit('close-group');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\topenPopovers.push(this);\n\n\t\t\tthis.$emit('apply-show');\n\t\t},\n\t\t$_hide: function $_hide() {\n\t\t\tvar _this4 = this;\n\n\t\t\t// Already hidden\n\t\t\tif (!this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar index = openPopovers.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenPopovers.splice(index, 1);\n\t\t\t}\n\n\t\t\tthis.isOpen = false;\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.disableEventListeners();\n\t\t\t}\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\t\t\tvar disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis.$_disposeTimer = setTimeout(function () {\n\t\t\t\t\tvar popoverNode = _this4.$refs.popover;\n\t\t\t\t\tif (popoverNode) {\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t\t\t_this4.$_mounted = false;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\tthis.$emit('apply-hide');\n\t\t},\n\t\t$_findContainer: function $_findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t},\n\t\t$_getOffset: function $_getOffset() {\n\t\t\tvar typeofOffset = _typeof(this.offset);\n\t\t\tvar offset = this.offset;\n\n\t\t\t// One value -> switch\n\t\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\t\toffset = '0, ' + offset;\n\t\t\t}\n\n\t\t\treturn offset;\n\t\t},\n\t\t$_addEventListeners: function $_addEventListeners() {\n\t\t\tvar _this5 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tvar events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (_this5.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevent.usedByTooltip = true;\n\t\t\t\t\t!_this5.$_preventOpen && _this5.show({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (event.usedByTooltip) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this5.hide({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t},\n\t\t$_scheduleShow: function $_scheduleShow() {\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_show();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_scheduleHide: function $_scheduleHide() {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_hide();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(function () {\n\t\t\t\t\tif (!_this6.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\t\tif (event && event.type === 'mouseleave') {\n\t\t\t\t\t\tvar isSet = _this6.$_setTooltipNodeEvent(event);\n\n\t\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t_this6.$_hide();\n\t\t\t\t}, computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n\t\t\tvar _this7 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tvar relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n\t\t\tvar callback = function callback(event2) {\n\t\t\t\tvar relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget;\n\n\t\t\t\t// Remove event listener after call\n\t\t\t\tpopoverNode.removeEventListener(event.type, callback);\n\n\t\t\t\t// If the new reference is not the reference element\n\t\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t\t_this7.hide({ event: event2 });\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (popoverNode.contains(relatedreference)) {\n\t\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t\tpopoverNode.addEventListener(event.type, callback);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\t$_removeEventListeners: function $_removeEventListeners() {\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tthis.$_events.forEach(function (_ref3) {\n\t\t\t\tvar func = _ref3.func,\n\t\t\t\t event = _ref3.event;\n\n\t\t\t\treference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis.$_events = [];\n\t\t},\n\t\t$_updatePopper: function $_updatePopper(cb) {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tcb();\n\t\t\t\tif (this.isOpen) this.popperInstance.scheduleUpdate();\n\t\t\t}\n\t\t},\n\t\t$_restartPopper: function $_restartPopper() {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tvar isOpen = this.isOpen;\n\t\t\t\tthis.dispose();\n\t\t\t\tthis.$_isDisposed = false;\n\t\t\t\tthis.$_init();\n\t\t\t\tif (isOpen) {\n\t\t\t\t\tthis.show({ skipDelay: true, force: true });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t$_handleGlobalClose: function $_handleGlobalClose(event) {\n\t\t\tvar _this8 = this;\n\n\t\t\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tif (this.$_beingShowed) return;\n\n\t\t\tthis.hide({ event: event });\n\n\t\t\tif (event.closePopover) {\n\t\t\t\tthis.$emit('close-directive');\n\t\t\t} else {\n\t\t\t\tthis.$emit('auto-hide');\n\t\t\t}\n\n\t\t\tif (touch) {\n\t\t\t\tthis.$_preventOpen = true;\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t_this8.$_preventOpen = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t},\n\t\t$_handleResize: function $_handleResize() {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t\tthis.$emit('resize');\n\t\t\t}\n\t\t}\n\t}\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n\tif (isIOS) {\n\t\tdocument.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n\t\t\tpassive: true,\n\t\t\tcapture: true\n\t\t} : true);\n\t} else {\n\t\twindow.addEventListener('click', handleGlobalClick, true);\n\t}\n}\n\nfunction handleGlobalClick(event) {\n\thandleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n\thandleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t// Delay so that close directive has time to set values\n\trequestAnimationFrame(function () {\n\t\tvar popover = void 0;\n\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\tpopover = openPopovers[i];\n\t\t\tif (popover.$refs.popover) {\n\t\t\t\tvar contains = popover.$refs.popover.contains(event.target);\n\t\t\t\tif (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n\t\t\t\t\tpopover.$_handleGlobalClose(event, touch);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar lodash_merge = createCommonjsModule(function (module, exports) {\n/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = 'object' == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n return key == '__proto__'\n ? undefined\n : object[key];\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n});\n\nfunction install(Vue) {\n\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\tif (install.installed) return;\n\tinstall.installed = true;\n\n\tvar finalOptions = {};\n\tlodash_merge(finalOptions, defaultOptions, options);\n\n\tplugin.options = finalOptions;\n\tdirective.options = finalOptions;\n\n\tVue.directive('tooltip', directive);\n\tVue.directive('close-popover', vclosepopover);\n\tVue.component('v-popover', Popover);\n}\n\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = Popover;\n\nvar plugin = {\n\tinstall: install,\n\n\tget enabled() {\n\t\treturn state.enabled;\n\t},\n\n\tset enabled(value) {\n\t\tstate.enabled = value;\n\t}\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, VTooltip, VClosePopover, VPopover, createTooltip, destroyTooltip };\nexport default plugin;\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"router-view\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7ba5bd90\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('7ba5bd90', component.options)\n } else {\n api.reload('7ba5bd90', component.options)\n }\n module.hot.accept(\"./App.vue?vue&type=template&id=7ba5bd90\", function () {\n api.rerender('7ba5bd90', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/App.vue\"\nexport default component.exports","<template>\n\t<router-view></router-view>\n</template>\n\n<script>\nexport default {\n\tname: 'App',\n\tbeforeMount: function() {\n\t\t// importing server data into the store\n\t\tconst serverDataElmt = document.getElementById('serverData');\n\t\tif (serverDataElmt !== null) {\n\t\t\tthis.$store.commit('setServerData', JSON.parse(document.getElementById('serverData').dataset.server));\n\t\t}\n\t}\n}\n</script>\n","/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first <a> child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the <a> is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have <a> child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect <base> tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"app\" } },\n [\n _c(\n \"app-navigation\",\n { attrs: { menu: _vm.menu } },\n [\n _c(\"template\", { slot: \"settings-content\" }, [\n _c(\n \"div\",\n [\n _c(\"p\", [_vm._v(_vm._s(_vm.t(\"settings\", \"Default quota :\")))]),\n _vm._v(\" \"),\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.defaultQuota,\n options: _vm.quotaOptions,\n \"tag-placeholder\": \"create\",\n placeholder: _vm.t(\"settings\", \"Select default quota\"),\n label: \"label\",\n \"track-by\": \"id\",\n allowEmpty: false,\n taggable: true\n },\n on: { tag: _vm.validateQuota, input: _vm.setDefaultQuota }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showLanguages,\n expression: \"showLanguages\"\n }\n ],\n staticClass: \"checkbox\",\n attrs: { type: \"checkbox\", id: \"showLanguages\" },\n domProps: {\n checked: Array.isArray(_vm.showLanguages)\n ? _vm._i(_vm.showLanguages, null) > -1\n : _vm.showLanguages\n },\n on: {\n change: function($event) {\n var $$a = _vm.showLanguages,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.showLanguages = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showLanguages = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showLanguages = $$c\n }\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showLanguages\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show Languages\")))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showLastLogin,\n expression: \"showLastLogin\"\n }\n ],\n staticClass: \"checkbox\",\n attrs: { type: \"checkbox\", id: \"showLastLogin\" },\n domProps: {\n checked: Array.isArray(_vm.showLastLogin)\n ? _vm._i(_vm.showLastLogin, null) > -1\n : _vm.showLastLogin\n },\n on: {\n change: function($event) {\n var $$a = _vm.showLastLogin,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.showLastLogin = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showLastLogin = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showLastLogin = $$c\n }\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showLastLogin\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show last login\")))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showUserBackend,\n expression: \"showUserBackend\"\n }\n ],\n staticClass: \"checkbox\",\n attrs: { type: \"checkbox\", id: \"showUserBackend\" },\n domProps: {\n checked: Array.isArray(_vm.showUserBackend)\n ? _vm._i(_vm.showUserBackend, null) > -1\n : _vm.showUserBackend\n },\n on: {\n change: function($event) {\n var $$a = _vm.showUserBackend,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.showUserBackend = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showUserBackend = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showUserBackend = $$c\n }\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showUserBackend\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show user backend\")))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showStoragePath,\n expression: \"showStoragePath\"\n }\n ],\n staticClass: \"checkbox\",\n attrs: { type: \"checkbox\", id: \"showStoragePath\" },\n domProps: {\n checked: Array.isArray(_vm.showStoragePath)\n ? _vm._i(_vm.showStoragePath, null) > -1\n : _vm.showStoragePath\n },\n on: {\n change: function($event) {\n var $$a = _vm.showStoragePath,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.showStoragePath = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showStoragePath = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showStoragePath = $$c\n }\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showStoragePath\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show storage path\")))\n ])\n ])\n ])\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"user-list\", {\n attrs: {\n users: _vm.users,\n showConfig: _vm.showConfig,\n selectedGroup: _vm.selectedGroup\n }\n })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: { \"icon-loading\": _vm.menu.loading },\n attrs: { id: \"app-navigation\" }\n },\n [\n _vm.menu.new\n ? _c(\"div\", { staticClass: \"app-navigation-new\" }, [\n _c(\n \"button\",\n {\n class: _vm.menu.new.icon,\n attrs: { type: \"button\", id: _vm.menu.new.id },\n on: { click: _vm.menu.new.action }\n },\n [_vm._v(_vm._s(_vm.menu.new.text))]\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { attrs: { id: _vm.menu.id } },\n _vm._l(_vm.menu.items, function(item) {\n return _c(\"navigation-item\", { key: item.key, attrs: { item: item } })\n })\n ),\n _vm._v(\" \"),\n !!_vm.$slots[\"settings-content\"]\n ? _c(\"div\", { attrs: { id: \"app-settings\" } }, [\n _c(\"div\", { attrs: { id: \"app-settings-header\" } }, [\n _c(\n \"button\",\n {\n staticClass: \"settings-button\",\n attrs: { \"data-apps-slide-toggle\": \"#app-settings-content\" }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Settings\")))]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { attrs: { id: \"app-settings-content\" } },\n [_vm._t(\"settings-content\")],\n 2\n )\n ])\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"nav-element\",\n _vm._b(\n {\n class: [\n {\n \"icon-loading-small\": _vm.item.loading,\n open: _vm.item.opened,\n collapsible:\n _vm.item.collapsible &&\n _vm.item.children &&\n _vm.item.children.length > 0\n },\n _vm.item.classes\n ],\n attrs: { id: _vm.item.id }\n },\n \"nav-element\",\n _vm.navElement(_vm.item),\n false\n ),\n [\n _vm.item.bullet\n ? _c(\"div\", {\n staticClass: \"app-navigation-entry-bullet\",\n style: { backgroundColor: _vm.item.bullet }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n class: _vm.item.icon,\n attrs: { href: _vm.item.href ? _vm.item.href : \"#\" },\n on: { click: _vm.toggleCollapse }\n },\n [\n _vm.item.iconUrl\n ? _c(\"img\", {\n attrs: { alt: _vm.item.text, src: _vm.item.iconUrl }\n })\n : _vm._e(),\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\")\n ]\n ),\n _vm._v(\" \"),\n _vm.item.utils\n ? _c(\"div\", { staticClass: \"app-navigation-entry-utils\" }, [\n _c(\n \"ul\",\n [\n Number.isInteger(_vm.item.utils.counter)\n ? _c(\n \"li\",\n { staticClass: \"app-navigation-entry-utils-counter\" },\n [_vm._v(_vm._s(_vm.item.utils.counter))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.utils.actions &&\n _vm.item.utils.actions.length === 1 &&\n Number.isInteger(_vm.item.utils.counter)\n ? _c(\n \"li\",\n { staticClass: \"app-navigation-entry-utils-menu-button\" },\n [\n _c(\"button\", {\n class: _vm.item.utils.actions[0].icon,\n attrs: { title: _vm.item.utils.actions[0].text },\n on: { click: _vm.item.utils.actions[0].action }\n })\n ]\n )\n : _vm.item.utils.actions &&\n _vm.item.utils.actions.length === 2 &&\n !Number.isInteger(_vm.item.utils.counter)\n ? _vm._l(_vm.item.utils.actions, function(action) {\n return _c(\n \"li\",\n {\n key: action.action,\n staticClass:\n \"app-navigation-entry-utils-menu-button\"\n },\n [\n _c(\"button\", {\n class: action.icon,\n attrs: { title: action.text },\n on: { click: action.action }\n })\n ]\n )\n })\n : _vm.item.utils.actions &&\n _vm.item.utils.actions.length > 1 &&\n (Number.isInteger(_vm.item.utils.counter) ||\n _vm.item.utils.actions.length > 2)\n ? _c(\n \"li\",\n {\n staticClass:\n \"app-navigation-entry-utils-menu-button\"\n },\n [\n _c(\"button\", {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.hideMenu,\n expression: \"hideMenu\"\n }\n ],\n on: { click: _vm.showMenu }\n })\n ]\n )\n : _vm._e()\n ],\n 2\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.utils &&\n _vm.item.utils.actions &&\n _vm.item.utils.actions.length > 1 &&\n (Number.isInteger(_vm.item.utils.counter) ||\n _vm.item.utils.actions.length > 2)\n ? _c(\n \"div\",\n {\n staticClass: \"app-navigation-entry-menu\",\n class: { open: _vm.openedMenu }\n },\n [_c(\"popover-menu\", { attrs: { menu: _vm.item.utils.actions } })],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.undo\n ? _c(\"div\", { staticClass: \"app-navigation-entry-deleted\" }, [\n _c(\n \"div\",\n { staticClass: \"app-navigation-entry-deleted-description\" },\n [_vm._v(_vm._s(_vm.item.undo.text))]\n ),\n _vm._v(\" \"),\n _c(\"button\", {\n staticClass: \"app-navigation-entry-deleted-button icon-history\",\n attrs: { title: _vm.t(\"settings\", \"Undo\") }\n })\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.edit\n ? _c(\"div\", { staticClass: \"app-navigation-entry-edit\" }, [\n _c(\"form\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.item.text,\n expression: \"item.text\"\n }\n ],\n attrs: { type: \"text\" },\n domProps: { value: _vm.item.text },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.item, \"text\", $event.target.value)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-close\",\n attrs: { type: \"submit\", value: \"\" },\n on: {\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.cancelEdit($event)\n }\n }\n })\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.children\n ? _c(\n \"ul\",\n _vm._l(_vm.item.children, function(item, key) {\n return _c(\"navigation-item\", { key: key, attrs: { item: item } })\n })\n )\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"ul\",\n _vm._l(_vm.menu, function(item, key) {\n return _c(\"popover-item\", { key: key, attrs: { item: item } })\n })\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm.item.href\n ? _c(\n \"a\",\n {\n attrs: { href: _vm.item.href ? _vm.item.href : \"#\" },\n on: { click: _vm.item.action }\n },\n [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text\n ? _c(\"span\", [_vm._v(_vm._s(_vm.item.text))])\n : _vm.item.longtext\n ? _c(\"p\", [_vm._v(_vm._s(_vm.item.longtext))])\n : _vm._e()\n ]\n )\n : _vm.item.action\n ? _c(\"button\", { on: { click: _vm.item.action } }, [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text\n ? _c(\"span\", [_vm._v(_vm._s(_vm.item.text))])\n : _vm.item.longtext\n ? _c(\"p\", [_vm._v(_vm._s(_vm.item.longtext))])\n : _vm._e()\n ])\n : _c(\"span\", [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text\n ? _c(\"span\", [_vm._v(_vm._s(_vm.item.text))])\n : _vm.item.longtext\n ? _c(\"p\", [_vm._v(_vm._s(_vm.item.longtext))])\n : _vm._e()\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n <template>\n\t<li>\n\t\t<!-- If item.href is set, a link will be directly used -->\n\t\t<a @click=\"item.action\" v-if=\"item.href\" :href=\"(item.href) ? item.href : '#' \">\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span v-if=\"item.text\">{{item.text}}</span>\n\t\t\t<p v-else-if=\"item.longtext\">{{item.longtext}}</p>\n\t\t</a>\n\t\t<!-- If item.action is set instead, a button will be used -->\n\t\t<button @click=\"item.action\" v-else-if=\"item.action\">\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span v-if=\"item.text\">{{item.text}}</span>\n\t\t\t<p v-else-if=\"item.longtext\">{{item.longtext}}</p>\n\t\t</button>\n\t\t<!-- If item.longtext is set AND the item does not have an action -->\n\t\t<span v-else>\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span v-if=\"item.text\">{{item.text}}</span>\n\t\t\t<p v-else-if=\"item.longtext\">{{item.longtext}}</p>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nexport default {\n\tprops: ['item']\n}\n</script>\n","import { render, staticRenderFns } from \"./popoverItem.vue?vue&type=template&id=4c6af9e6\"\nimport script from \"./popoverItem.vue?vue&type=script&lang=js\"\nexport * from \"./popoverItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('4c6af9e6', component.options)\n } else {\n api.reload('4c6af9e6', component.options)\n }\n module.hot.accept(\"./popoverItem.vue?vue&type=template&id=4c6af9e6\", function () {\n api.rerender('4c6af9e6', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/popoverMenu/popoverItem.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./popoverMenu.vue?vue&type=template&id=04ea21c4\"\nimport script from \"./popoverMenu.vue?vue&type=script&lang=js\"\nexport * from \"./popoverMenu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('04ea21c4', component.options)\n } else {\n api.reload('04ea21c4', component.options)\n }\n module.hot.accept(\"./popoverMenu.vue?vue&type=template&id=04ea21c4\", function () {\n api.rerender('04ea21c4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/popoverMenu.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n <template>\n\t<ul>\n\t\t<popover-item v-for=\"(item, key) in menu\" :item=\"item\" :key=\"key\" />\n\t</ul>\n</template>\n\n\n<script>\nimport popoverItem from './popoverMenu/popoverItem';\n\nexport default {\n\tname: 'popoverMenu',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tpopoverItem\n\t}\n}\n</script>\n","import { render, staticRenderFns } from \"./navigationItem.vue?vue&type=template&id=2cb61dde\"\nimport script from \"./navigationItem.vue?vue&type=script&lang=js\"\nexport * from \"./navigationItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('2cb61dde', component.options)\n } else {\n api.reload('2cb61dde', component.options)\n }\n module.hot.accept(\"./navigationItem.vue?vue&type=template&id=2cb61dde\", function () {\n api.rerender('2cb61dde', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appNavigation/navigationItem.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n <template>\n\t<nav-element :id=\"item.id\" v-bind=\"navElement(item)\"\n\t\t\t\t :class=\"[{'icon-loading-small': item.loading, 'open': item.opened, 'collapsible': item.collapsible&&item.children&&item.children.length>0 }, item.classes]\">\n\n\t\t<!-- Bullet -->\n\t\t<div v-if=\"item.bullet\" class=\"app-navigation-entry-bullet\" :style=\"{ backgroundColor: item.bullet }\"></div>\n\n\t\t<!-- Main link -->\n\t\t<a :href=\"(item.href) ? item.href : '#' \" @click=\"toggleCollapse\" :class=\"item.icon\">\n\t\t\t<img v-if=\"item.iconUrl\" :alt=\"item.text\" :src=\"item.iconUrl\">\n\t\t\t{{item.text}}\n\t\t</a>\n\n\t\t<!-- Popover, counter and button(s) -->\n\t\t<div v-if=\"item.utils\" class=\"app-navigation-entry-utils\">\n\t\t\t<ul>\n\t\t\t\t<!-- counter -->\n\t\t\t\t<li v-if=\"Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-counter\">{{item.utils.counter}}</li>\n\n\t\t\t\t<!-- first action if only one action and counter -->\n\t\t\t\t<li v-if=\"item.utils.actions && item.utils.actions.length === 1 && Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button @click=\"item.utils.actions[0].action\" :class=\"item.utils.actions[0].icon\" :title=\"item.utils.actions[0].text\"></button>\n\t\t\t\t</li>\n\n\t\t\t\t<!-- second action only two actions and no counter -->\n\t\t\t\t<li v-else-if=\"item.utils.actions && item.utils.actions.length === 2 && !Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tv-for=\"action in item.utils.actions\" :key=\"action.action\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button @click=\"action.action\" :class=\"action.icon\" :title=\"action.text\"></button>\n\t\t\t\t</li>\n\n\t\t\t\t<!-- menu if only at least one action and counter OR two actions and no counter-->\n\t\t\t\t<li v-else-if=\"item.utils.actions && item.utils.actions.length > 1 && (Number.isInteger(item.utils.counter) || item.utils.actions.length > 2)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button v-click-outside=\"hideMenu\" @click=\"showMenu\" ></button>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\n\t\t<!-- if more than 2 actions or more than 1 actions with counter -->\n\t\t<div v-if=\"item.utils && item.utils.actions && item.utils.actions.length > 1 && (Number.isInteger(item.utils.counter) || item.utils.actions.length > 2)\"\n\t\t\t class=\"app-navigation-entry-menu\" :class=\"{ 'open': openedMenu }\">\n\t\t\t <popover-menu :menu=\"item.utils.actions\"/>\n\t\t</div>\n\n\t\t<!-- undo entry -->\n\t\t<div class=\"app-navigation-entry-deleted\" v-if=\"item.undo\">\n\t\t\t<div class=\"app-navigation-entry-deleted-description\">{{item.undo.text}}</div>\n\t\t\t<button class=\"app-navigation-entry-deleted-button icon-history\" :title=\"t('settings', 'Undo')\"></button>\n\t\t</div>\n\n\t\t<!-- edit entry -->\n\t\t<div class=\"app-navigation-entry-edit\" v-if=\"item.edit\">\n\t\t\t<form>\n\t\t\t\t<input type=\"text\" v-model=\"item.text\">\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-close\" @click.stop.prevent=\"cancelEdit\">\n\t\t\t</form>\n\t\t</div>\n\n\t\t<!-- if the item has children, inject the component with proper data -->\n\t\t<ul v-if=\"item.children\">\n\t\t\t<navigation-item v-for=\"(item, key) in item.children\" :item=\"item\" :key=\"key\" />\n\t\t</ul>\n\t</nav-element>\n</template>\n\n<script>\nimport popoverMenu from '../popoverMenu';\nimport ClickOutside from 'vue-click-outside';\nimport Vue from 'vue';\n\nexport default {\n\tname: 'navigationItem',\n\tprops: ['item'],\n\tcomponents: {\n\t\tpopoverMenu\n\t},\n\tdirectives: {\n\t\tClickOutside\n\t},\n\tdata() {\n\t\treturn {\n\t\t\topenedMenu: false\n\t\t};\n\t},\n\tmethods: {\n\t\tshowMenu() {\n\t\t\tthis.openedMenu = true;\n\t\t},\n\t\thideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\t\ttoggleCollapse() {\n\t\t\t// if item.opened isn't set, Vue won't trigger view updates https://vuejs.org/v2/api/#Vue-set\n\t\t\t// ternary is here to detect the undefined state of item.opened\n\t\t\tVue.set(this.item, 'opened', this.item.opened ? !this.item.opened : true);\n\t\t},\n\t\tcancelEdit() {\n\t\t\t// remove the editing class\n\t\t\tif (Array.isArray(this.item.classes))\n\t\t\t\tthis.item.classes = this.item.classes.filter(\n\t\t\t\t\titem => item !== 'editing'\n\t\t\t\t);\n\t\t},\n\t\t// This is used to decide which outter element type to use\n\t\t// li or router-link\n\t\tnavElement(item) {\n\t\t\tif (item.href) {\n\t\t\t\treturn {\n\t\t\t\t\tis: 'li'\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tis: 'router-link',\n\t\t\t\ttag: 'li',\n\t\t\t\tto: item.router,\n\t\t\t\texact: true\n\t\t\t};\n\t\t}\n\t},\n\tmounted() {\n\t\t// prevent click outside event with popupItem.\n\t\tthis.popupItem = this.$el;\n\t}\n};\n</script>\n","import { render, staticRenderFns } from \"./appNavigation.vue?vue&type=template&id=142c1cb5\"\nimport script from \"./appNavigation.vue?vue&type=script&lang=js\"\nexport * from \"./appNavigation.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('142c1cb5', component.options)\n } else {\n api.reload('142c1cb5', component.options)\n }\n module.hot.accept(\"./appNavigation.vue?vue&type=template&id=142c1cb5\", function () {\n api.rerender('142c1cb5', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appNavigation.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n <template>\n\t<div id=\"app-navigation\" :class=\"{'icon-loading': menu.loading}\">\n\t\t<div class=\"app-navigation-new\" v-if=\"menu.new\">\n\t\t\t<button type=\"button\" :id=\"menu.new.id\" :class=\"menu.new.icon\" @click=\"menu.new.action\">{{menu.new.text}}</button>\n\t\t</div>\n\t\t<ul :id=\"menu.id\">\n\t\t\t<navigation-item v-for=\"item in menu.items\" :item=\"item\" :key=\"item.key\" />\n\t\t</ul>\n\t\t<div id=\"app-settings\" v-if=\"!!$slots['settings-content']\">\n\t\t\t<div id=\"app-settings-header\">\n\t\t\t\t<button class=\"settings-button\"\n\t\t\t\t\t\tdata-apps-slide-toggle=\"#app-settings-content\"\n\t\t\t\t>{{t('settings', 'Settings')}}</button>\n\t\t\t</div>\n\t\t\t<div id=\"app-settings-content\">\n\t\t\t\t<slot name=\"settings-content\"></slot>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport navigationItem from './appNavigation/navigationItem';\n\nexport default {\n\tname: 'appNavigation',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tnavigationItem\n\t}\n}\n</script>\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"user-list-grid\",\n attrs: { id: \"app-content\" },\n on: {\n \"&scroll\": function($event) {\n return _vm.onScroll($event)\n }\n }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"row\",\n class: { sticky: _vm.scrolled && !_vm.showConfig.showNewUserForm },\n attrs: { id: \"grid-header\" }\n },\n [\n _c(\"div\", { staticClass: \"avatar\", attrs: { id: \"headerAvatar\" } }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\", attrs: { id: \"headerName\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Username\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"displayName\", attrs: { id: \"headerDisplayName\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Full name\")))]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"password\", attrs: { id: \"headerPassword\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Password\")))]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"mailAddress\", attrs: { id: \"headerAddress\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Email\")))]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"groups\", attrs: { id: \"headerGroups\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Groups\")))\n ]),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n { staticClass: \"subadmins\", attrs: { id: \"headerSubAdmins\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Group admin for\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"quota\", attrs: { id: \"headerQuota\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Quota\")))\n ]),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n { staticClass: \"languages\", attrs: { id: \"headerLanguages\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Languages\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\n \"div\",\n { staticClass: \"headerStorageLocation storageLocation\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Storage location\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"headerUserBackend userBackend\" }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"User backend\")))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\"div\", { staticClass: \"headerLastLogin lastLogin\" }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Last login\")))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showConfig.showNewUserForm,\n expression: \"showConfig.showNewUserForm\"\n }\n ],\n staticClass: \"row\",\n class: { sticky: _vm.scrolled && _vm.showConfig.showNewUserForm },\n attrs: { id: \"new-user\", disabled: _vm.loading },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.createUser($event)\n }\n }\n },\n [\n _c(\"div\", { class: _vm.loading ? \"icon-loading-small\" : \"icon-add\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.id,\n expression: \"newUser.id\"\n }\n ],\n attrs: {\n id: \"newusername\",\n type: \"text\",\n required: \"\",\n placeholder: _vm.t(\"settings\", \"User name\"),\n name: \"username\",\n autocomplete: \"off\",\n autocapitalize: \"none\",\n autocorrect: \"off\",\n pattern: \"[a-zA-Z0-9 _\\\\.@\\\\-']+\"\n },\n domProps: { value: _vm.newUser.id },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"id\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"displayName\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.displayName,\n expression: \"newUser.displayName\"\n }\n ],\n attrs: {\n id: \"newdisplayname\",\n type: \"text\",\n placeholder: _vm.t(\"settings\", \"Display name\"),\n name: \"displayname\",\n autocomplete: \"off\",\n autocapitalize: \"none\",\n autocorrect: \"off\"\n },\n domProps: { value: _vm.newUser.displayName },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"displayName\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"password\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.password,\n expression: \"newUser.password\"\n }\n ],\n attrs: {\n id: \"newuserpassword\",\n type: \"password\",\n required: _vm.newUser.mailAddress === \"\",\n placeholder: _vm.t(\"settings\", \"Password\"),\n name: \"password\",\n autocomplete: \"new-password\",\n autocapitalize: \"none\",\n autocorrect: \"off\",\n minlength: _vm.minPasswordLength\n },\n domProps: { value: _vm.newUser.password },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"password\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"mailAddress\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.mailAddress,\n expression: \"newUser.mailAddress\"\n }\n ],\n attrs: {\n id: \"newemail\",\n type: \"email\",\n required: _vm.newUser.password === \"\",\n placeholder: _vm.t(\"settings\", \"Mail address\"),\n name: \"email\",\n autocomplete: \"off\",\n autocapitalize: \"none\",\n autocorrect: \"off\"\n },\n domProps: { value: _vm.newUser.mailAddress },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"mailAddress\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"groups\" },\n [\n !_vm.settings.isAdmin\n ? _c(\"input\", {\n attrs: {\n type: \"text\",\n tabindex: \"-1\",\n id: \"newgroups\",\n required: !_vm.settings.isAdmin\n },\n domProps: { value: _vm.newUser.groups }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.groups,\n placeholder: _vm.t(\"settings\", \"Add user in group\"),\n label: \"name\",\n \"track-by\": \"id\",\n multiple: true,\n \"close-on-select\": false,\n allowEmpty: _vm.settings.isAdmin\n },\n model: {\n value: _vm.newUser.groups,\n callback: function($$v) {\n _vm.$set(_vm.newUser, \"groups\", $$v)\n },\n expression: \"newUser.groups\"\n }\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n { staticClass: \"subadmins\" },\n [\n _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.subAdminsGroups,\n placeholder: _vm.t(\"settings\", \"Set user as admin for\"),\n label: \"name\",\n \"track-by\": \"id\",\n multiple: true,\n \"close-on-select\": false\n },\n model: {\n value: _vm.newUser.subAdminsGroups,\n callback: function($$v) {\n _vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)\n },\n expression: \"newUser.subAdminsGroups\"\n }\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"quota\" },\n [\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.quotaOptions,\n placeholder: _vm.t(\"settings\", \"Select user quota\"),\n label: \"label\",\n \"track-by\": \"id\",\n allowEmpty: false,\n taggable: true\n },\n on: { tag: _vm.validateQuota },\n model: {\n value: _vm.newUser.quota,\n callback: function($$v) {\n _vm.$set(_vm.newUser, \"quota\", $$v)\n },\n expression: \"newUser.quota\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n { staticClass: \"languages\" },\n [\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.languages,\n placeholder: _vm.t(\"settings\", \"Default language\"),\n label: \"name\",\n \"track-by\": \"code\",\n allowEmpty: false,\n \"group-values\": \"languages\",\n \"group-label\": \"label\"\n },\n model: {\n value: _vm.newUser.language,\n callback: function($$v) {\n _vm.$set(_vm.newUser, \"language\", $$v)\n },\n expression: \"newUser.language\"\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"storageLocation\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"userBackend\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\"div\", { staticClass: \"lastLogin\" })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" }, [\n _c(\"input\", {\n staticClass: \"button primary icon-checkmark-white has-tooltip\",\n attrs: {\n type: \"submit\",\n id: \"newsubmit\",\n value: \"\",\n title: _vm.t(\"settings\", \"Add a new user\")\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"button icon-close has-tooltip\",\n attrs: {\n type: \"reset\",\n id: \"newreset\",\n value: \"\",\n title: _vm.t(\"settings\", \"Cancel and reset the form\")\n },\n on: { click: _vm.resetForm }\n })\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.filteredUsers, function(user, key) {\n return _c(\"user-row\", {\n key: key,\n attrs: {\n user: user,\n settings: _vm.settings,\n showConfig: _vm.showConfig,\n groups: _vm.groups,\n subAdminsGroups: _vm.subAdminsGroups,\n quotaOptions: _vm.quotaOptions,\n languages: _vm.languages\n }\n })\n }),\n _vm._v(\" \"),\n _c(\n \"infinite-loading\",\n { ref: \"infiniteLoading\", on: { infinite: _vm.infiniteHandler } },\n [\n _c(\"div\", { attrs: { slot: \"spinner\" }, slot: \"spinner\" }, [\n _c(\"div\", { staticClass: \"users-icon-loading icon-loading\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { slot: \"no-more\" }, slot: \"no-more\" }, [\n _c(\"div\", { staticClass: \"users-list-end\" }, [\n _vm._v(\"— \" + _vm._s(_vm.t(\"settings\", \"no more results\")) + \" —\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { slot: \"no-results\" }, slot: \"no-results\" }, [\n _c(\"div\", { attrs: { id: \"emptycontent\" } }, [\n _c(\"div\", { staticClass: \"icon-contacts-dark\" }),\n _vm._v(\" \"),\n _c(\"h2\", [_vm._v(_vm._s(_vm.t(\"settings\", \"No users in here\")))])\n ])\n ])\n ]\n )\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return Object.keys(_vm.user).length === 1\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n {\n staticClass: \"avatar\",\n class: {\n \"icon-loading-small\": _vm.loading.delete || _vm.loading.disable\n }\n },\n [\n !_vm.loading.delete && !_vm.loading.disable\n ? _c(\"img\", {\n attrs: {\n alt: \"\",\n width: \"32\",\n height: \"32\",\n src: _vm.generateAvatar(_vm.user.id, 32),\n srcset:\n _vm.generateAvatar(_vm.user.id, 64) +\n \" 2x, \" +\n _vm.generateAvatar(_vm.user.id, 128) +\n \" 4x\"\n }\n })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [_vm._v(_vm._s(_vm.user.id))]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"obfuscated\" }, [\n _vm._v(\n _vm._s(\n _vm.t(\n \"settings\",\n \"You do not have permissions to see the details of this user\"\n )\n )\n )\n ])\n ])\n : _c(\n \"div\",\n {\n staticClass: \"row\",\n class: { disabled: _vm.loading.delete || _vm.loading.disable }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"avatar\",\n class: {\n \"icon-loading-small\": _vm.loading.delete || _vm.loading.disable\n }\n },\n [\n !_vm.loading.delete && !_vm.loading.disable\n ? _c(\"img\", {\n attrs: {\n alt: \"\",\n width: \"32\",\n height: \"32\",\n src: _vm.generateAvatar(_vm.user.id, 32),\n srcset:\n _vm.generateAvatar(_vm.user.id, 64) +\n \" 2x, \" +\n _vm.generateAvatar(_vm.user.id, 128) +\n \" 4x\"\n }\n })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [_vm._v(_vm._s(_vm.user.id))]),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n staticClass: \"displayName\",\n class: { \"icon-loading-small\": _vm.loading.displayName },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.updateDisplayName($event)\n }\n }\n },\n [\n _c(\"input\", {\n ref: \"displayName\",\n attrs: {\n id: \"displayName\" + _vm.user.id + _vm.rand,\n type: \"text\",\n disabled: _vm.loading.displayName || _vm.loading.all,\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n spellcheck: \"false\"\n },\n domProps: { value: _vm.user.displayname }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n })\n ]\n ),\n _vm._v(\" \"),\n _vm.settings.canChangePassword\n ? _c(\n \"form\",\n {\n staticClass: \"password\",\n class: { \"icon-loading-small\": _vm.loading.password },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.updatePassword($event)\n }\n }\n },\n [\n _c(\"input\", {\n ref: \"password\",\n attrs: {\n id: \"password\" + _vm.user.id + _vm.rand,\n type: \"password\",\n required: \"\",\n disabled: _vm.loading.password || _vm.loading.all,\n minlength: _vm.minPasswordLength,\n value: \"\",\n placeholder: _vm.t(\"settings\", \"New password\"),\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n spellcheck: \"false\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n })\n ]\n )\n : _c(\"div\"),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n staticClass: \"mailAddress\",\n class: { \"icon-loading-small\": _vm.loading.mailAddress },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.updateEmail($event)\n }\n }\n },\n [\n _c(\"input\", {\n ref: \"mailAddress\",\n attrs: {\n id: \"mailAddress\" + _vm.user.id + _vm.rand,\n type: \"email\",\n disabled: _vm.loading.mailAddress || _vm.loading.all,\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n spellcheck: \"false\"\n },\n domProps: { value: _vm.user.email }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"groups\",\n class: { \"icon-loading-small\": _vm.loading.groups }\n },\n [\n _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.userGroups,\n options: _vm.groups,\n disabled: _vm.loading.groups || _vm.loading.all,\n \"tag-placeholder\": \"create\",\n placeholder: _vm.t(\"settings\", \"Add user in group\"),\n label: \"name\",\n \"track-by\": \"id\",\n limit: 2,\n multiple: true,\n taggable: _vm.settings.isAdmin,\n closeOnSelect: false\n },\n on: {\n tag: _vm.createGroup,\n select: _vm.addUserGroup,\n remove: _vm.removeUserGroup\n }\n },\n [\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.formatGroupsTitle(_vm.userGroups),\n expression: \"formatGroupsTitle(userGroups)\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"multiselect__limit\",\n attrs: { slot: \"limit\" },\n slot: \"limit\"\n },\n [_vm._v(\"+\" + _vm._s(_vm.userGroups.length - 2))]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n {\n staticClass: \"subadmins\",\n class: { \"icon-loading-small\": _vm.loading.subadmins }\n },\n [\n _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.userSubAdminsGroups,\n options: _vm.subAdminsGroups,\n disabled: _vm.loading.subadmins || _vm.loading.all,\n placeholder: _vm.t(\"settings\", \"Set user as admin for\"),\n label: \"name\",\n \"track-by\": \"id\",\n limit: 2,\n multiple: true,\n closeOnSelect: false\n },\n on: {\n select: _vm.addUserSubAdmin,\n remove: _vm.removeUserSubAdmin\n }\n },\n [\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.formatGroupsTitle(\n _vm.userSubAdminsGroups\n ),\n expression:\n \"formatGroupsTitle(userSubAdminsGroups)\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"multiselect__limit\",\n attrs: { slot: \"limit\" },\n slot: \"limit\"\n },\n [\n _vm._v(\n \"+\" + _vm._s(_vm.userSubAdminsGroups.length - 2)\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"quota\",\n class: { \"icon-loading-small\": _vm.loading.quota }\n },\n [\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.userQuota,\n options: _vm.quotaOptions,\n disabled: _vm.loading.quota || _vm.loading.all,\n \"tag-placeholder\": \"create\",\n placeholder: _vm.t(\"settings\", \"Select user quota\"),\n label: \"label\",\n \"track-by\": \"id\",\n allowEmpty: false,\n taggable: true\n },\n on: { tag: _vm.validateQuota, input: _vm.setUserQuota }\n }),\n _vm._v(\" \"),\n _c(\"progress\", {\n staticClass: \"quota-user-progress\",\n class: { warn: _vm.usedQuota > 80 },\n attrs: { max: \"100\" },\n domProps: { value: _vm.usedQuota }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n {\n staticClass: \"languages\",\n class: { \"icon-loading-small\": _vm.loading.languages }\n },\n [\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.userLanguage,\n options: _vm.languages,\n disabled: _vm.loading.languages || _vm.loading.all,\n placeholder: _vm.t(\"settings\", \"No language set\"),\n label: \"name\",\n \"track-by\": \"code\",\n allowEmpty: false,\n \"group-values\": \"languages\",\n \"group-label\": \"label\"\n },\n on: { input: _vm.setUserLanguage }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"storageLocation\" }, [\n _vm._v(_vm._s(_vm.user.storageLocation))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"userBackend\" }, [\n _vm._v(_vm._s(_vm.user.backend))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value:\n _vm.user.lastLogin > 0\n ? _vm.OC.Util.formatDate(_vm.user.lastLogin)\n : \"\",\n expression:\n \"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"lastLogin\"\n },\n [\n _vm._v(\n \"\\n\\t\\t\" +\n _vm._s(\n _vm.user.lastLogin > 0\n ? _vm.OC.Util.relativeModifiedDate(_vm.user.lastLogin)\n : _vm.t(\"settings\", \"Never\")\n ) +\n \"\\n\\t\"\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" }, [\n _vm.OC.currentUser !== _vm.user.id &&\n _vm.user.id !== \"admin\" &&\n !_vm.loading.all\n ? _c(\"div\", { staticClass: \"toggleUserActions\" }, [\n _c(\"div\", {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.hideMenu,\n expression: \"hideMenu\"\n }\n ],\n staticClass: \"icon-more\",\n on: { click: _vm.toggleMenu }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"popovermenu\",\n class: { open: _vm.openedMenu }\n },\n [_c(\"popover-menu\", { attrs: { menu: _vm.userActions } })],\n 1\n )\n ])\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n <template>\n\t<!-- Obfuscated user: Logged in user does not have permissions to see all of the data -->\n\t<div class=\"row\" v-if=\"Object.keys(user).length ===1\">\n\t\t<div class=\"avatar\" :class=\"{'icon-loading-small': loading.delete || loading.disable}\">\n\t\t\t<img alt=\"\" width=\"32\" height=\"32\" :src=\"generateAvatar(user.id, 32)\"\n\t\t\t\t :srcset=\"generateAvatar(user.id, 64)+' 2x, '+generateAvatar(user.id, 128)+' 4x'\"\n\t\t\t\t v-if=\"!loading.delete && !loading.disable\">\n\t\t</div>\n\t\t<div class=\"name\">{{user.id}}</div>\n\t\t<div class=\"obfuscated\">{{t('settings','You do not have permissions to see the details of this user')}}</div>\n\t</div>\n\n\t<!-- User full data -->\n\t<div class=\"row\" v-else :class=\"{'disabled': loading.delete || loading.disable}\">\n\t\t<div class=\"avatar\" :class=\"{'icon-loading-small': loading.delete || loading.disable}\">\n\t\t\t<img alt=\"\" width=\"32\" height=\"32\" :src=\"generateAvatar(user.id, 32)\"\n\t\t\t\t :srcset=\"generateAvatar(user.id, 64)+' 2x, '+generateAvatar(user.id, 128)+' 4x'\"\n\t\t\t\t v-if=\"!loading.delete && !loading.disable\">\n\t\t</div>\n\t\t<div class=\"name\">{{user.id}}</div>\n\t\t<form class=\"displayName\" :class=\"{'icon-loading-small': loading.displayName}\" v-on:submit.prevent=\"updateDisplayName\">\n\t\t\t<input :id=\"'displayName'+user.id+rand\" type=\"text\"\n\t\t\t\t\t:disabled=\"loading.displayName||loading.all\"\n\t\t\t\t\t:value=\"user.displayname\" ref=\"displayName\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<form class=\"password\" v-if=\"settings.canChangePassword\" :class=\"{'icon-loading-small': loading.password}\"\n\t\t\t v-on:submit.prevent=\"updatePassword\">\n\t\t\t<input :id=\"'password'+user.id+rand\" type=\"password\" required\n\t\t\t\t\t:disabled=\"loading.password||loading.all\" :minlength=\"minPasswordLength\"\n\t\t\t\t\tvalue=\"\" :placeholder=\"t('settings', 'New password')\" ref=\"password\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<div v-else></div>\n\t\t<form class=\"mailAddress\" :class=\"{'icon-loading-small': loading.mailAddress}\" v-on:submit.prevent=\"updateEmail\">\n\t\t\t<input :id=\"'mailAddress'+user.id+rand\" type=\"email\"\n\t\t\t\t\t:disabled=\"loading.mailAddress||loading.all\"\n\t\t\t\t\t:value=\"user.email\" ref=\"mailAddress\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<div class=\"groups\" :class=\"{'icon-loading-small': loading.groups}\">\n\t\t\t<multiselect :value=\"userGroups\" :options=\"groups\" :disabled=\"loading.groups||loading.all\"\n\t\t\t\t\t\t tag-placeholder=\"create\" :placeholder=\"t('settings', 'Add user in group')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\" :limit=\"2\"\n\t\t\t\t\t\t :multiple=\"true\" :taggable=\"settings.isAdmin\" :closeOnSelect=\"false\"\n\t\t\t\t\t\t @tag=\"createGroup\" @select=\"addUserGroup\" @remove=\"removeUserGroup\">\n\t\t\t\t<span slot=\"limit\" class=\"multiselect__limit\" v-tooltip.auto=\"formatGroupsTitle(userGroups)\">+{{userGroups.length-2}}</span>\n\t\t\t\t<span slot=\"noResult\">{{t('settings', 'No results')}}</span>\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"subadmins\" v-if=\"subAdminsGroups.length>0 && settings.isAdmin\" :class=\"{'icon-loading-small': loading.subadmins}\">\n\t\t\t<multiselect :value=\"userSubAdminsGroups\" :options=\"subAdminsGroups\" :disabled=\"loading.subadmins||loading.all\"\n\t\t\t\t\t\t :placeholder=\"t('settings', 'Set user as admin for')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\" :limit=\"2\"\n\t\t\t\t\t\t :multiple=\"true\" :closeOnSelect=\"false\"\n\t\t\t\t\t\t @select=\"addUserSubAdmin\" @remove=\"removeUserSubAdmin\">\n\t\t\t\t<span slot=\"limit\" class=\"multiselect__limit\" v-tooltip.auto=\"formatGroupsTitle(userSubAdminsGroups)\">+{{userSubAdminsGroups.length-2}}</span>\n\t\t\t\t<span slot=\"noResult\">{{t('settings', 'No results')}}</span>\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"quota\" :class=\"{'icon-loading-small': loading.quota}\">\n\t\t\t<multiselect :value=\"userQuota\" :options=\"quotaOptions\" :disabled=\"loading.quota||loading.all\"\n\t\t\t\t\t\t tag-placeholder=\"create\" :placeholder=\"t('settings', 'Select user quota')\"\n\t\t\t\t\t\t label=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t @tag=\"validateQuota\" @input=\"setUserQuota\">\n\t\t\t</multiselect>\n\t\t\t<progress class=\"quota-user-progress\" :class=\"{'warn':usedQuota>80}\" :value=\"usedQuota\" max=\"100\"></progress>\n\t\t</div>\n\t\t<div class=\"languages\" :class=\"{'icon-loading-small': loading.languages}\"\n\t\t\t v-if=\"showConfig.showLanguages\">\n\t\t\t<multiselect :value=\"userLanguage\" :options=\"languages\" :disabled=\"loading.languages||loading.all\"\n\t\t\t\t\t\t :placeholder=\"t('settings', 'No language set')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"code\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :allowEmpty=\"false\" group-values=\"languages\" group-label=\"label\"\n\t\t\t\t\t\t @input=\"setUserLanguage\">\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"storageLocation\" v-if=\"showConfig.showStoragePath\">{{user.storageLocation}}</div>\n\t\t<div class=\"userBackend\" v-if=\"showConfig.showUserBackend\">{{user.backend}}</div>\n\t\t<div class=\"lastLogin\" v-if=\"showConfig.showLastLogin\" v-tooltip.auto=\"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''\">\n\t\t\t{{user.lastLogin>0 ? OC.Util.relativeModifiedDate(user.lastLogin) : t('settings','Never')}}\n\t\t</div>\n\t\t<div class=\"userActions\">\n\t\t\t<div class=\"toggleUserActions\" v-if=\"OC.currentUser !== user.id && user.id !== 'admin' && !loading.all\">\n\t\t\t\t<div class=\"icon-more\" v-click-outside=\"hideMenu\" @click=\"toggleMenu\"></div>\n\t\t\t\t<div class=\"popovermenu\" :class=\"{ 'open': openedMenu }\">\n\t\t\t\t\t<popover-menu :menu=\"userActions\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t</div>\n</template>\n\n<script>\nimport popoverMenu from '../popoverMenu';\nimport ClickOutside from 'vue-click-outside';\nimport Multiselect from 'vue-multiselect';\nimport Vue from 'vue'\nimport VTooltip from 'v-tooltip'\n\nVue.use(VTooltip)\n\nexport default {\n\tname: 'userRow',\n\tprops: ['user', 'settings', 'groups', 'subAdminsGroups', 'quotaOptions', 'showConfig', 'languages'],\n\tcomponents: {\n\t\tpopoverMenu,\n\t\tMultiselect\n\t},\n\tdirectives: {\n\t\tClickOutside\n\t},\n\tmounted() {\n\t\t// required if popup needs to stay opened after menu click\n\t\t// since we only have disable/delete actions, let's close it directly\n\t\t// this.popupItem = this.$el;\n\t},\n\tdata() {\n\t\treturn {\n\t\t\trand: parseInt(Math.random() * 1000),\n\t\t\topenedMenu: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false,\n\t\t\t\tlanguages: false\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\t/* USER POPOVERMENU ACTIONS */\n\t\tuserActions() {\n\t\t\treturn [{\n\t\t\t\ticon: 'icon-delete',\n\t\t\t\ttext: t('settings','Delete user'),\n\t\t\t\taction: this.deleteUser\n\t\t\t},{\n\t\t\t\ticon: this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\ttext: this.user.enabled ? t('settings','Disable user') : t('settings','Enable user'),\n\t\t\t\taction: this.enableDisableUser\n\t\t\t}]\n\t\t},\n\n\t\t/* GROUPS MANAGEMENT */\n\t\tuserGroups() {\n\t\t\tlet userGroups = this.groups.filter(group => this.user.groups.includes(group.id));\n\t\t\treturn userGroups;\n\t\t},\n\t\tuserSubAdminsGroups() {\n\t\t\tlet userSubAdminsGroups = this.subAdminsGroups.filter(group => this.user.subadmin.includes(group.id));\n\t\t\treturn userSubAdminsGroups;\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota;\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100));\n\t\t\t} else {\n\t\t\t\tvar usedInGB = this.user.quota.used / (10 * Math.pow(2, 30));\n\t\t\t\t//asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)));\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota;\n\t\t},\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota >= 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tlet humanQuota = OC.Util.humanFileSize(this.user.quota.quota);\n\t\t\t\tlet userQuota = this.quotaOptions.find(quota => quota.id === humanQuota);\n\t\t\t\treturn userQuota ? userQuota : {id:humanQuota, label:humanQuota};\n\t\t\t} else if (this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0];\n\t\t\t}\n\t\t\treturn this.quotaOptions[1]; // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tlet availableLanguages = this.languages[0].languages.concat(this.languages[1].languages);\n\t\t\tlet userLang = availableLanguages.find(lang => lang.code === this.user.language);\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language\n\t\t\t\t}\n\t\t\t} else if(this.user.language === '') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn userLang;\n\t\t}\n\t},\n\tmethods: {\n\t\t/* MENU HANDLING */\n\t\ttoggleMenu() {\n\t\t\tthis.openedMenu = !this.openedMenu;\n\t\t},\n\t\thideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\n\t\t/**\n\t\t * Generate avatar url\n\t\t * \n\t\t * @param {string} user The user name\n\t\t * @param {int} size Size integer, default 32\n\t\t * @returns {string}\n\t\t */\n\t\tgenerateAvatar(user, size=32) {\n\t\t\treturn OC.generateUrl(\n\t\t\t\t'/avatar/{user}/{size}?v={version}',\n\t\t\t\t{\n\t\t\t\t\tuser: user,\n\t\t\t\t\tsize: size,\n\t\t\t\t\tversion: oc_userconfig.avatar.version\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Format array of groups objects to a string for the popup\n\t\t * \n\t\t * @param {array} groups The groups\n\t\t * @returns {string}\n\t\t */\n\t\tformatGroupsTitle(groups) {\n\t\t\tlet names = groups.map(group => group.name);\n\t\t\treturn names.slice(2,).join(', ');\n\t\t},\n\n\t\tdeleteUser() {\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tlet userid = this.user.id;\n\t\t\treturn this.$store.dispatch('deleteUser', {userid})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t});\n\t\t},\n\n\t\tenableDisableUser() {\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet enabled = !this.user.enabled;\n\t\t\treturn this.$store.dispatch('enableDisableUser', {userid, enabled})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user displayName\n\t\t * \n\t\t * @param {string} displayName The display name\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdateDisplayName() {\n\t\t\tlet displayName = this.$refs.displayName.value;\n\t\t\tthis.loading.displayName = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'displayname',\n\t\t\t\tvalue: displayName\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.displayName = false;\n\t\t\t\tthis.$refs.displayName.value = displayName;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user password\n\t\t * \n\t\t * @param {string} password The email adress\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdatePassword() {\n\t\t\tlet password = this.$refs.password.value;\n\t\t\tthis.loading.password = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'password',\n\t\t\t\tvalue: password\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.password = false;\n\t\t\t\tthis.$refs.password.value = ''; // empty & show placeholder \n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user mailAddress\n\t\t * \n\t\t * @param {string} mailAddress The email adress\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdateEmail() {\n\t\t\tlet mailAddress = this.$refs.mailAddress.value;\n\t\t\tthis.loading.mailAddress = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'email',\n\t\t\t\tvalue: mailAddress\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.mailAddress = false;\n\t\t\t\tthis.$refs.mailAddress.value = mailAddress;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Create a new group and add user to it\n\t\t * \n\t\t * @param {string} groups Group id\n\t\t * @returns {Promise}\n\t\t */\n\t\tcreateGroup(gid) {\n\t\t\tthis.loading = {groups:true, subadmins:true}\n\t\t\tthis.$store.dispatch('addGroup', gid)\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading = {groups:false, subadmins:false};\n\t\t\t\t\tlet userid = this.user.id;\n\t\t\t\t\tthis.$store.dispatch('addUserGroup', {userid, gid});\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.loading = {groups:false, subadmins:false};\n\t\t\t\t});\n\t\t\treturn this.$store.getters.getGroups[this.groups.length];\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\taddUserGroup(group) {\n\t\t\tthis.loading.groups = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserGroup', {userid, gid})\n\t\t\t\t.then(() => this.loading.groups = false);\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\tremoveUserGroup(group) {\n\t\t\tthis.loading.groups = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserGroup', {userid, gid})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.groups = false\n\t\t\t\t\t// remove user from current list if current list is the removed group\n\t\t\t\t\tif (this.$route.params.selectedGroup === gid) {\n\t\t\t\t\t\tthis.$store.commit('deleteUser', userid);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.loading.groups = false\n\t\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\taddUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserSubAdmin', {userid, gid})\n\t\t\t\t.then(() => this.loading.subadmins = false);\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\tremoveUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserSubAdmin', {userid, gid})\n\t\t\t\t.then(() => this.loading.subadmins = false);\n\t\t},\n\n\t\t/**\n\t\t * Dispatch quota set request\n\t\t * \n\t\t * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @returns {string}\n\t\t */\n\t\tsetUserQuota(quota = 'none') {\n\t\t\tthis.loading.quota = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'quota',\n\t\t\t\tvalue: quota\n\t\t\t}).then(() => this.loading.quota = false);\n\t\t\treturn quota;\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Promise|boolean}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota !== null && validQuota >= 0) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid do not change\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * Dispatch language set request\n\t\t * \n\t\t * @param {Object} lang language object {code:'en', name:'English'}\n\t\t * @returns {Object}\n\t\t */\n\t\tsetUserLanguage(lang) {\n\t\t\tthis.loading.languages = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'language',\n\t\t\t\tvalue: lang.code\n\t\t\t}).then(() => this.loading.languages = false);\n\t\t\treturn lang;\n\t\t}\n\t}\n}\n</script>\n","import { render, staticRenderFns } from \"./userRow.vue?vue&type=template&id=d19586ce\"\nimport script from \"./userRow.vue?vue&type=script&lang=js\"\nexport * from \"./userRow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('d19586ce', component.options)\n } else {\n api.reload('d19586ce', component.options)\n }\n module.hot.accept(\"./userRow.vue?vue&type=template&id=d19586ce\", function () {\n api.rerender('d19586ce', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/userList/userRow.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./userList.vue?vue&type=template&id=40745299\"\nimport script from \"./userList.vue?vue&type=script&lang=js\"\nexport * from \"./userList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('40745299', component.options)\n } else {\n api.reload('40745299', component.options)\n }\n module.hot.accept(\"./userList.vue?vue&type=template&id=40745299\", function () {\n api.rerender('40745299', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/userList.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n \n <template>\n\t<div id=\"app-content\" class=\"user-list-grid\" v-on:scroll.passive=\"onScroll\">\n\t\t<div class=\"row\" id=\"grid-header\" :class=\"{'sticky': scrolled && !showConfig.showNewUserForm}\">\n\t\t\t<div id=\"headerAvatar\" class=\"avatar\"></div>\n\t\t\t<div id=\"headerName\" class=\"name\">{{ t('settings', 'Username') }}</div>\n\t\t\t<div id=\"headerDisplayName\" class=\"displayName\">{{ t('settings', 'Full name') }}</div>\n\t\t\t<div id=\"headerPassword\" class=\"password\">{{ t('settings', 'Password') }}</div>\n\t\t\t<div id=\"headerAddress\" class=\"mailAddress\">{{ t('settings', 'Email') }}</div>\n\t\t\t<div id=\"headerGroups\" class=\"groups\">{{ t('settings', 'Groups') }}</div>\n\t\t\t<div id=\"headerSubAdmins\" class=\"subadmins\"\n\t\t\t\t v-if=\"subAdminsGroups.length>0 && settings.isAdmin\">{{ t('settings', 'Group admin for') }}</div>\n\t\t\t<div id=\"headerQuota\" class=\"quota\">{{ t('settings', 'Quota') }}</div>\n\t\t\t<div id=\"headerLanguages\" class=\"languages\"\n\t\t\t\t v-if=\"showConfig.showLanguages\">{{ t('settings', 'Languages') }}</div>\n\t\t\t<div class=\"headerStorageLocation storageLocation\"\n\t\t\t\t v-if=\"showConfig.showStoragePath\">{{ t('settings', 'Storage location') }}</div>\n\t\t\t<div class=\"headerUserBackend userBackend\"\n\t\t\t\t v-if=\"showConfig.showUserBackend\">{{ t('settings', 'User backend') }}</div>\n\t\t\t<div class=\"headerLastLogin lastLogin\" \n\t\t\t\t v-if=\"showConfig.showLastLogin\">{{ t('settings', 'Last login') }}</div>\n\t\t\t<div class=\"userActions\"></div>\n\t\t</div>\n\n\t\t<form class=\"row\" id=\"new-user\" v-show=\"showConfig.showNewUserForm\"\n\t\t\t v-on:submit.prevent=\"createUser\" :disabled=\"loading\"\n\t\t\t :class=\"{'sticky': scrolled && showConfig.showNewUserForm}\">\n\t\t\t<div :class=\"loading?'icon-loading-small':'icon-add'\"></div>\n\t\t\t<div class=\"name\">\n\t\t\t\t<input id=\"newusername\" type=\"text\" required v-model=\"newUser.id\"\n\t\t\t\t\t :placeholder=\"t('settings', 'User name')\" name=\"username\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\"\n\t\t\t\t\t pattern=\"[a-zA-Z0-9 _\\.@\\-']+\">\n\t\t\t</div>\n\t\t\t<div class=\"displayName\">\n\t\t\t\t<input id=\"newdisplayname\" type=\"text\" v-model=\"newUser.displayName\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Display name')\" name=\"displayname\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\">\n\t\t\t</div>\n\t\t\t<div class=\"password\">\n\t\t\t\t<input id=\"newuserpassword\" type=\"password\" v-model=\"newUser.password\"\n\t\t\t\t\t :required=\"newUser.mailAddress===''\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Password')\" name=\"password\"\n\t\t\t\t\t autocomplete=\"new-password\" autocapitalize=\"none\" autocorrect=\"off\"\n\t\t\t\t\t :minlength=\"minPasswordLength\">\n\t\t\t</div>\n\t\t\t<div class=\"mailAddress\">\n\t\t\t\t<input id=\"newemail\" type=\"email\" v-model=\"newUser.mailAddress\"\n\t\t\t\t\t :required=\"newUser.password===''\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Mail address')\" name=\"email\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\">\n\t\t\t</div>\n\t\t\t<div class=\"groups\">\n\t\t\t\t<!-- hidden input trick for vanilla html5 form validation -->\n\t\t\t\t<input type=\"text\" :value=\"newUser.groups\" v-if=\"!settings.isAdmin\"\n\t\t\t\t\t tabindex=\"-1\" id=\"newgroups\" :required=\"!settings.isAdmin\" />\n\t\t\t\t<multiselect :options=\"groups\" v-model=\"newUser.groups\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Add user in group')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\"\n\t\t\t\t\t\t\t :allowEmpty=\"settings.isAdmin\">\n\t\t\t\t\t\t\t <!-- If user is not admin, he is a subadmin.\n\t\t\t\t\t\t\t \t Subadmins can't create users outside their groups\n\t\t\t\t\t\t\t\t Therefore, empty select is forbidden -->\n\t\t\t\t\t<span slot=\"noResult\">{{t('settings', 'No results')}}</span>\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"subadmins\" v-if=\"subAdminsGroups.length>0 && settings.isAdmin\">\n\t\t\t\t<multiselect :options=\"subAdminsGroups\" v-model=\"newUser.subAdminsGroups\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Set user as admin for')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\">\n\t\t\t\t\t<span slot=\"noResult\">{{t('settings', 'No results')}}</span>\n\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"quota\">\n\t\t\t\t<multiselect :options=\"quotaOptions\" v-model=\"newUser.quota\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Select user quota')\"\n\t\t\t\t\t\t\t label=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t \t @tag=\"validateQuota\" >\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"languages\" v-if=\"showConfig.showLanguages\">\n\t\t\t\t<multiselect :options=\"languages\" v-model=\"newUser.language\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Default language')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"code\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :allowEmpty=\"false\" group-values=\"languages\" group-label=\"label\">\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"storageLocation\" v-if=\"showConfig.showStoragePath\"></div>\n\t\t\t<div class=\"userBackend\" v-if=\"showConfig.showUserBackend\"></div>\n\t\t\t<div class=\"lastLogin\" v-if=\"showConfig.showLastLogin\"></div>\n\t\t\t<div class=\"userActions\">\n\t\t\t\t<input type=\"submit\" id=\"newsubmit\" class=\"button primary icon-checkmark-white has-tooltip\"\n\t\t\t\t\t value=\"\" :title=\"t('settings', 'Add a new user')\">\n\t\t\t\t<input type=\"reset\" id=\"newreset\" class=\"button icon-close has-tooltip\" @click=\"resetForm\"\n\t\t\t\t\t value=\"\" :title=\"t('settings', 'Cancel and reset the form')\">\n\t\t\t</div>\n\t\t</form>\n\n\t\t<user-row v-for=\"(user, key) in filteredUsers\" :user=\"user\" :key=\"key\" :settings=\"settings\" :showConfig=\"showConfig\"\n\t\t\t\t :groups=\"groups\" :subAdminsGroups=\"subAdminsGroups\" :quotaOptions=\"quotaOptions\" :languages=\"languages\" />\n\t\t<infinite-loading @infinite=\"infiniteHandler\" ref=\"infiniteLoading\">\n\t\t\t<div slot=\"spinner\"><div class=\"users-icon-loading icon-loading\"></div></div>\n\t\t\t<div slot=\"no-more\"><div class=\"users-list-end\">— {{t('settings', 'no more results')}} —</div></div>\n\t\t\t<div slot=\"no-results\">\n\t\t\t\t<div id=\"emptycontent\">\n\t\t\t\t\t<div class=\"icon-contacts-dark\"></div>\n\t\t\t\t\t<h2>{{t('settings', 'No users in here')}}</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</infinite-loading>\n\t</div>\n</template>\n\n<script>\nimport userRow from './userList/userRow';\nimport Multiselect from 'vue-multiselect';\nimport InfiniteLoading from 'vue-infinite-loading';\nimport Vue from 'vue';\n\nexport default {\n\tname: 'userList',\n\tprops: ['users', 'showConfig', 'selectedGroup'],\n\tcomponents: {\n\t\tuserRow,\n\t\tMultiselect,\n\t\tInfiniteLoading\n\t},\n\tdata() {\n\t\tlet unlimitedQuota = {id:'none', label:t('settings', 'Unlimited')},\n\t\t\tdefaultQuota = {id:'default', label:t('settings', 'Default quota')};\n\t\treturn {\n\t\t\tunlimitedQuota: unlimitedQuota,\n\t\t\tdefaultQuota: defaultQuota,\n\t\t\tloading: false,\n\t\t\tscrolled: false,\n\t\t\tnewUser: {\n\t\t\t\tid:'',\n\t\t\t\tdisplayName:'',\n\t\t\t\tpassword:'',\n\t\t\t\tmailAddress:'',\n\t\t\t\tgroups: [],\n\t\t\t\tsubAdminsGroups: [],\n\t\t\t\tquota: defaultQuota,\n\t\t\t\tlanguage: {code: 'en', name: t('settings', 'Default language')}\n\t\t\t}\n\t\t};\n\t},\n\tmounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'));\n\t\t}\n\n\t\t/** \n\t\t * Init default language from server data. The use of this.settings\n\t\t * requires a computed variable, which break the v-model binding of the form,\n\t\t * this is a much easier solution than getter and setter on a computed var\n\t\t */\n\t\tVue.set(this.newUser.language, 'code', this.settings.defaultLanguage);\n\n\t\t/**\n\t\t * In case the user directly loaded the user list within a group\n\t\t * the watch won't be triggered. We need to initialize it.\n\t\t */\n\t\tthis.setNewUserDefaultGroup(this.$route.params.selectedGroup);\n\t},\n\tcomputed: {\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\t\tfilteredUsers() {\n\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\tlet disabledUsers = this.users.filter(user => user.enabled === false);\n\t\t\t\tif (disabledUsers.length===0 && this.$refs.infiniteLoading && this.$refs.infiniteLoading.isComplete) {\n\t\t\t\t\t// disabled group is empty, redirection to all users\n\t\t\t\t\tthis.$router.push({name: 'users'});\n\t\t\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t\t\t}\n\t\t\t\treturn disabledUsers;\n\t\t\t}\n\t\t\tif (!this.settings.isAdmin) {\n\t\t\t\t// We don't want subadmins to edit themselves\n\t\t\t\treturn this.users.filter(user => user.enabled !== false && user.id !== oc_current_user);\n\t\t\t}\n\t\t\treturn this.users.filter(user => user.enabled !== false);\n\t\t},\n\t\tgroups() {\n\t\t\t// data provided php side + remove the disabled group\n\t\t\treturn this.$store.getters.getGroups\n\t\t\t\t.filter(group => group.id !== 'disabled')\n\t\t\t\t.sort((a, b) => a.name.localeCompare(b.name));\n\t\t},\n\t\tsubAdminsGroups() {\n\t\t\t// data provided php side\n\t\t\treturn this.$store.getters.getSubadminGroups;\n\t\t},\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tlet quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({id:cur, label:cur}), []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\tquotaPreset.unshift(this.defaultQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\t\t/* LANGUAGES */\n\t\tlanguages() {\n\t\t\treturn Array(\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonlanguages\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'All languages'),\n\t\t\t\t\tlanguages: this.settings.languages.languages\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t},\n\twatch: {\n\t\t// watch url change and group select\n\t\tselectedGroup: function (val, old) {\n\t\t\tthis.$store.commit('resetUsers');\n\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t\tthis.setNewUserDefaultGroup(val);\n\t\t}\n\t},\n\tmethods: {\n\t\tonScroll(event) {\n\t\t\tthis.scrolled = event.target.scrollTop>0;\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Object}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota !== null && validQuota >= 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota));\n\t\t\t\treturn this.newUser.quota = {id: quota, label: quota};\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\treturn this.newUser.quota = this.quotaOptions[0];\n\t\t},\n\n\t\tinfiniteHandler($state) {\n\t\t\tthis.$store.dispatch('getUsers', {\n\t\t\t\toffset: this.usersOffset,\n\t\t\t\tlimit: this.usersLimit,\n\t\t\t\tgroup: this.selectedGroup !== 'disabled' ? this.selectedGroup : ''\n\t\t\t})\n\t\t\t.then((response) => { response ? $state.loaded() : $state.complete() });\n\t\t},\n\n\t\tresetForm() {\n\t\t\t// revert form to original state\n\t\t\tObject.assign(this.newUser, this.$options.data.call(this).newUser);\n\t\t\tthis.loading = false;\n\t\t},\n\t\tcreateUser() {\n\t\t\tthis.loading = true;\n\t\t\tthis.$store.dispatch('addUser', {\n\t\t\t\tuserid: this.newUser.id,\n\t\t\t\tpassword: this.newUser.password,\n\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\tgroups: this.newUser.groups.map(group => group.id),\n\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(group => group.id),\n\t\t\t\tquota: this.newUser.quota.id,\n\t\t\t\tlanguage: this.newUser.language.code,\n\t\t\t}).then(() => this.resetForm())\n\t\t\t.catch(() => this.loading = false);\n\t\t},\n\t\tsetNewUserDefaultGroup(value) {\n\t\t\tif (value && value.length > 0) {\n\t\t\t\t// setting new user default group to the current selected one\n\t\t\t\tlet currentGroup = this.groups.find(group => group.id === value);\n\t\t\t\tif (currentGroup) {\n\t\t\t\t\tthis.newUser.groups = [currentGroup];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// fallback, empty selected group\n\t\t\tthis.newUser.groups = [];\n\t\t}\n\t}\n}\n</script>\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from 'axios';\n\nconst requestToken = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken');\nconst tokenHeaders = { headers: { requesttoken: requestToken } };\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, ''); // Remove last url slash\n};\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * \taction(context) {\n\t *\t\treturn api.requireAdmin().then((response) => {\n\t *\t\t\treturn api.get('url')\n\t *\t\t\t\t.then((response) => {API success})\n\t *\t\t\t\t.catch((error) => {API failure});\n\t *\t\t}).catch((error) => {requireAdmin failure});\n\t *\t}\n\t * // vue\n\t *\tthis.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t * \n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t * \n\t * e.g\n\t *\tapi.requireAdmin().then((response) => {\n\t *\t\tapi.get('url')\n\t *\t\t\t.then((response) => {API success})\n\t *\t\t\t.catch((error) => {throw error;});\n\t *\t}).catch((error) => {requireAdmin OR API failure});\n\t * \n\t * @returns {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\t// TODO: migrate the OC.dialog to Vue and avoid this mess\n\t\t\t// wait for password confirmation\n\t\t\tlet passwordTimeout;\n\t\t\tlet waitForpassword = function() {\n\t\t\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\t\t\tpasswordTimeout = setTimeout(waitForpassword, 500);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\tclearTimeout(promiseTimeout);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\t// automatically reject after 5s if not resolved\n\t\t\tlet promiseTimeout = setTimeout(() => {\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\t// close dialog\n\t\t\t\tif (document.getElementsByClassName('oc-dialog-close').length>0) {\n\t\t\t\t\tdocument.getElementsByClassName('oc-dialog-close')[0].click();\n\t\t\t\t}\n\t\t\t\tOC.Notification.showTemporary(t('settings', 'You did not enter the password in time'));\n\t\t\t\treject('Password request cancelled');\n\t\t\t}, 7000); \n\n\t\t\t// request password\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation();\n\t\t\twaitForpassword();\n\t\t});\n\t},\n\tget(url) {\n\t\treturn axios.get(sanitize(url), tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { data: data, headers: tokenHeaders.headers })\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n};","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n <template>\n\t<div id=\"app\">\n\t\t<app-navigation :menu=\"menu\">\n\t\t\t<template slot=\"settings-content\">\n\t\t\t\t<div>\n\t\t\t\t\t<p>{{t('settings', 'Default quota :')}}</p>\n\t\t\t\t\t<multiselect :value=\"defaultQuota\" :options=\"quotaOptions\"\n\t\t\t\t\t\t\t\ttag-placeholder=\"create\" :placeholder=\"t('settings', 'Select default quota')\"\n\t\t\t\t\t\t\t\tlabel=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t\t:allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t\t\t@tag=\"validateQuota\" @input=\"setDefaultQuota\">\n\t\t\t\t\t</multiselect>\n\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showLanguages\" class=\"checkbox\" v-model=\"showLanguages\">\n\t\t\t\t\t<label for=\"showLanguages\">{{t('settings', 'Show Languages')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showLastLogin\" class=\"checkbox\" v-model=\"showLastLogin\">\n\t\t\t\t\t<label for=\"showLastLogin\">{{t('settings', 'Show last login')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showUserBackend\" class=\"checkbox\" v-model=\"showUserBackend\">\n\t\t\t\t\t<label for=\"showUserBackend\">{{t('settings', 'Show user backend')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showStoragePath\" class=\"checkbox\" v-model=\"showStoragePath\">\n\t\t\t\t\t<label for=\"showStoragePath\">{{t('settings', 'Show storage path')}}</label>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</app-navigation>\n\t\t<user-list :users=\"users\" :showConfig=\"showConfig\" :selectedGroup=\"selectedGroup\" />\n\t</div>\n</template>\n\n<script>\nimport appNavigation from '../components/appNavigation';\nimport userList from '../components/userList';\nimport Vue from 'vue';\nimport VueLocalStorage from 'vue-localstorage'\nimport Multiselect from 'vue-multiselect';\nimport api from '../store/api';\n\nVue.use(VueLocalStorage)\nVue.use(VueLocalStorage)\n\nexport default {\n\tname: 'Users',\n\tprops: ['selectedGroup'],\n\tcomponents: {\n\t\tappNavigation,\n\t\tuserList,\n\t\tMultiselect\n\t},\n\tbeforeMount() {\n\t\tthis.$store.commit('initGroups', {\n\t\t\tgroups: this.$store.getters.getServerData.groups, \n\t\t\torderBy: this.$store.getters.getServerData.sortGroups,\n\t\t\tuserCount: this.$store.getters.getServerData.userCount\n\t\t});\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength');\n\t},\n\tdata() {\n\t\treturn {\n\t\t\t// default quota is set to unlimited\n\t\t\tunlimitedQuota: {id: 'none', label: t('settings', 'Unlimited')},\n\t\t\t// temporary value used for multiselect change\n\t\t\tselectedQuota: false,\n\t\t\tshowConfig: {\n\t\t\t\tshowStoragePath: false,\n\t\t\t\tshowUserBackend: false,\n\t\t\t\tshowLastLogin: false,\n\t\t\t\tshowNewUserForm: false,\n\t\t\t\tshowLanguages: false\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggleNewUserMenu() {\n\t\t\tthis.showConfig.showNewUserForm = !this.showConfig.showNewUserForm;\n\t\t\tif (this.showConfig.showNewUserForm) {\n\t\t\t\tVue.nextTick(() => {\n\t\t\t\t\twindow.newusername.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetLocalstorage(key) {\n\t\t\t// force initialization\n\t\t\tlet localConfig = this.$localStorage.get(key);\n\t\t\t// if localstorage is null, fallback to original values\n\t\t\tthis.showConfig[key] = localConfig !== null ? localConfig === 'true' : this.showConfig[key];\n\t\t\treturn this.showConfig[key];\n\t\t},\n\t\tsetLocalStorage(key, status) {\n\t\t\tthis.showConfig[key] = status;\n\t\t\tthis.$localStorage.set(key, status);\n\t\t\treturn status;\n\t\t},\n\t\tremoveGroup(groupid) {\n\t\t\tlet self = this;\n\t\t\t// TODO migrate to a vue js confirm dialog component \n\t\t\tOC.dialogs.confirm(\n\t\t\t\tt('settings', 'You are about to remove the group {group}. The users will NOT be deleted.', {group: groupid}),\n\t\t\t\tt('settings','Please confirm the group removal '),\n\t\t\t\tfunction (success) {\n\t\t\t\t\tif (success) {\n\t\t\t\t\t\tself.$store.dispatch('removeGroup', groupid);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Dispatch default quota set request\n\t\t * \n\t\t * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @returns {string}\n\t\t */\n\t\tsetDefaultQuota(quota = 'none') {\n\t\t\tthis.$store.dispatch('setAppConfig', {\n\t\t\t\tapp: 'files',\n\t\t\t\tkey: 'default_quota',\n\t\t\t\t// ensure we only send the preset id\n\t\t\t\tvalue: quota.id ? quota.id : quota\n\t\t\t}).then(() => {\n\t\t\t\tif (typeof quota !== 'object') {\n\t\t\t\t\tquota = {id: quota, label: quota};\n\t\t\t\t}\n\t\t\t\tthis.defaultQuota = quota;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Promise|boolean}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota === 0) {\n\t\t\t\treturn this.setDefaultQuota('none');\n\t\t\t} else if (validQuota !== null) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setDefaultQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid do not change\n\t\t\treturn false;\n\t\t},\n\t},\n\tcomputed: {\n\t\tusers() {\n\t\t\treturn this.$store.getters.getUsers;\n\t\t},\n\t\tloading() {\n\t\t\treturn Object.keys(this.users).length === 0;\n\t\t},\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\t\t// Local settings\n\t\tshowLanguages: {\n\t\t\tget: function() {return this.getLocalstorage('showLanguages')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showLanguages', status);\n\t\t\t}\n\t\t},\n\t\tshowLastLogin: {\n\t\t\tget: function() {return this.getLocalstorage('showLastLogin')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showLastLogin', status);\n\t\t\t}\n\t\t},\n\t\tshowUserBackend: {\n\t\t\tget: function() {return this.getLocalstorage('showUserBackend')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showUserBackend', status);\n\t\t\t}\n\t\t},\n\t\tshowStoragePath: {\n\t\t\tget: function() {return this.getLocalstorage('showStoragePath')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showStoragePath', status);\n\t\t\t}\n\t\t},\n\n\t\tuserCount() {\n\t\t\treturn this.$store.getters.getUserCount;\n\t\t},\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\n\t\t// default quota\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tlet quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({id:cur, label:cur}), []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\t\t// mapping saved values to objects\n\t\tdefaultQuota: {\n\t\t\tget: function() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota;\n\t\t\t\t}\n\t\t\t\tif (OC.Util.computerFileSize(this.settings.defaultQuota) > 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn {id:this.settings.defaultQuota, label:this.settings.defaultQuota};\n\t\t\t\t}\n\t\t\t\treturn this.unlimitedQuota; // unlimited\n\t\t\t},\n\t\t\tset: function(quota) {\n\t\t\t\tthis.selectedQuota = quota;\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t\t// BUILD APP NAVIGATION MENU OBJECT\n\t\tmenu() {\n\t\t\t// Data provided php side\n\t\t\tlet groups = this.$store.getters.getGroups;\n\t\t\tgroups = Array.isArray(groups) ? groups : [];\n\n\t\t\t// Map groups\n\t\t\tgroups = groups.map(group => {\n\t\t\t\tlet item = {};\n\t\t\t\titem.id = group.id.replace(' ', '_');\n\t\t\t\titem.key = item.id;\n\t\t\t\titem.utils = {}\n\n\t\t\t\t// router link to\n\t\t\t\titem.router = {\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tparams: {selectedGroup: group.id}\n\t\t\t\t};\n\n\t\t\t\t// group name\n\t\t\t\titem.text = group.name;\n\n\t\t\t\t// users count\n\t\t\t\tif (group.usercount - group.disabled > 0) {\n\t\t\t\t\titem.utils.counter = group.usercount - group.disabled;\n\t\t\t\t}\n\n\t\t\t\tif (item.id !== 'admin' && item.id !== 'disabled' && this.settings.isAdmin) {\n\t\t\t\t\t// add delete button on real groups\n\t\t\t\t\tlet self = this;\n\t\t\t\t\titem.utils.actions = [{\n\t\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\t\ttext: t('settings', 'Remove group'),\n\t\t\t\t\t\taction: function() {self.removeGroup(group.id)}\n\t\t\t\t\t}];\n\t\t\t\t};\n\t\t\t\treturn item;\n\t\t\t});\n\n\t\t\t// Adjust data\n\t\t\tlet adminGroup = groups.find(group => group.id == 'admin');\n\t\t\tlet disabledGroupIndex = groups.findIndex(group => group.id == 'disabled');\n\t\t\tlet disabledGroup = groups[disabledGroupIndex];\n\t\t\tif (adminGroup && adminGroup.text) {\n\t\t\t\tadminGroup.text = t('settings', 'Admins'); // rename admin group\n\t\t\t}\n\t\t\tif (disabledGroup && disabledGroup.text) {\n\t\t\t\tdisabledGroup.text = t('settings', 'Disabled users'); // rename disabled group\n\t\t\t\tif (disabledGroup.utils.counter === 0) {\n\t\t\t\t\tgroups.splice(disabledGroupIndex, 1); // remove disabled if empty\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add everyone group\n\t\t\tlet everyoneGroup = {\n\t\t\t\tid: 'everyone',\n\t\t\t\tkey: 'everyone',\n\t\t\t\trouter: {name:'users'},\n\t\t\t\ttext: t('settings', 'Everyone'),\n\t\t\t};\n\t\t\t// users count\n\t\t\tif (this.userCount > 0) {\n\t\t\t\teveryoneGroup.utils = {counter: this.userCount};\n\t\t\t}\n\t\t\tgroups.unshift(everyoneGroup);\n\n\t\t\t// Return\n\t\t\treturn {\n\t\t\t\tid: 'usergrouplist',\n\t\t\t\tnew: {\n\t\t\t\t\tid:'new-user-button',\n\t\t\t\t\ttext: t('settings','New user'),\n\t\t\t\t\ticon: 'icon-add',\n\t\t\t\t\taction: this.toggleNewUserMenu\n\t\t\t\t},\n\t\t\t\titems: groups\n\t\t\t}\n\t\t},\n\t}\n}\n</script>\n","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=68be103e\"\nimport script from \"./Users.vue?vue&type=script&lang=js\"\nexport * from \"./Users.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('68be103e', component.options)\n } else {\n api.reload('68be103e', component.options)\n }\n module.hot.accept(\"./Users.vue?vue&type=template&id=68be103e\", function () {\n api.rerender('68be103e', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/views/Users.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"app\" } },\n [\n _c(\"app-navigation\", { attrs: { menu: _vm.menu } }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"app-settings-content\",\n class: {\n \"with-app-sidebar\": _vm.currentApp,\n \"icon-loading\": _vm.loadingList\n },\n attrs: { id: \"app-content\" }\n },\n [\n _c(\"app-list\", {\n attrs: {\n category: _vm.category,\n app: _vm.currentApp,\n search: _vm.search\n }\n }),\n _vm._v(\" \"),\n _vm.id && _vm.currentApp\n ? _c(\n \"div\",\n { attrs: { id: \"app-sidebar\" } },\n [\n _c(\"app-details\", {\n attrs: { category: _vm.category, app: _vm.currentApp }\n })\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"app-content-inner\" } }, [\n _c(\n \"div\",\n {\n class: {\n installed: _vm.useBundleView || _vm.useListView,\n store: _vm.useAppStoreView\n },\n attrs: { id: \"apps-list\" }\n },\n [\n _vm.useListView\n ? _vm._l(_vm.apps, function(app) {\n return _c(\"app-item\", {\n key: app.id,\n attrs: { app: app, category: _vm.category }\n })\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.bundles, function(bundle) {\n return _vm.useBundleView && _vm.bundleApps(bundle.id).length > 0\n ? [\n _c(\"div\", { key: bundle.id, staticClass: \"apps-header\" }, [\n _c(\"div\", { staticClass: \"app-image\" }),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(_vm._s(bundle.name) + \" \"),\n _c(\"input\", {\n attrs: {\n type: \"button\",\n value: _vm.bundleToggleText(bundle.id)\n },\n on: {\n click: function($event) {\n _vm.toggleBundle(bundle.id)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-version\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-level\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-groups\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [_vm._v(\" \")])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.bundleApps(bundle.id), function(app) {\n return _c(\"app-item\", {\n key: bundle.id + app.id,\n attrs: { app: app, category: _vm.category }\n })\n })\n ]\n : _vm._e()\n }),\n _vm._v(\" \"),\n _vm.useAppStoreView\n ? _vm._l(_vm.apps, function(app) {\n return _c(\"app-item\", {\n key: app.id,\n attrs: { app: app, category: _vm.category, \"list-view\": false }\n })\n })\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"installed\", attrs: { id: \"apps-list-search\" } },\n [\n _vm.search !== \"\" && _vm.searchApps.length > 0\n ? [\n _c(\"div\", { staticClass: \"section\" }, [\n _c(\"div\"),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"Results from other categories\"))\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.searchApps, function(app) {\n return _c(\"app-item\", {\n key: app.id,\n attrs: { app: app, category: _vm.category, \"list-view\": true }\n })\n })\n ]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0\n ? _c(\n \"div\",\n {\n staticClass: \"emptycontent emptycontent-search\",\n attrs: { id: \"apps-list-empty\" }\n },\n [\n _c(\"div\", {\n staticClass: \"icon-settings-dark\",\n attrs: { id: \"app-list-empty-icon\" }\n }),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"No apps found for your versoin\"))\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"searchresults\" } })\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"section\",\n class: { selected: _vm.isSelected },\n on: { click: _vm.showAppDetails }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"app-image app-image-icon\",\n on: { click: _vm.showAppDetails }\n },\n [\n (_vm.listView && !_vm.app.preview) ||\n (!_vm.listView && !_vm.app.screenshot)\n ? _c(\"div\", { staticClass: \"icon-settings-dark\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.listView && _vm.app.preview\n ? _c(\n \"svg\",\n { attrs: { width: \"32\", height: \"32\", viewBox: \"0 0 32 32\" } },\n [\n _c(\"defs\", [\n _c(\n \"filter\",\n { attrs: { id: _vm.filterId } },\n [\n _c(\"feColorMatrix\", {\n attrs: {\n in: \"SourceGraphic\",\n type: \"matrix\",\n values: \"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"image\", {\n staticClass: \"app-icon\",\n attrs: {\n x: \"0\",\n y: \"0\",\n width: \"32\",\n height: \"32\",\n preserveAspectRatio: \"xMinYMin meet\",\n filter: _vm.filterUrl,\n \"xlink:href\": _vm.app.preview\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.listView && _vm.app.screenshot\n ? _c(\"img\", { attrs: { src: _vm.app.screenshot, width: \"100%\" } })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"app-name\", on: { click: _vm.showAppDetails } },\n [_vm._v(\"\\n\\t\\t\" + _vm._s(_vm.app.name) + \"\\n\\t\")]\n ),\n _vm._v(\" \"),\n !_vm.listView\n ? _c(\"div\", { staticClass: \"app-summary\" }, [\n _vm._v(_vm._s(_vm.app.summary))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.listView\n ? _c(\"div\", { staticClass: \"app-version\" }, [\n _vm.app.version\n ? _c(\"span\", [_vm._v(_vm._s(_vm.app.version))])\n : _vm.app.appstoreData.releases[0].version\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))\n ])\n : _vm._e()\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"app-level\" },\n [\n _vm.app.level === 200\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"Official apps are developed by and within the community. They offer central functionality and are ready for production use.\"\n ),\n expression:\n \"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"official icon-checkmark\"\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Official\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.listView\n ? _c(\"app-score\", { attrs: { score: _vm.app.score } })\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [\n _vm.app.error\n ? _c(\"div\", { staticClass: \"warning\" }, [\n _vm._v(_vm._s(_vm.app.error))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.loading(_vm.app.id)\n ? _c(\"div\", { staticClass: \"icon icon-loading-small\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.update\n ? _c(\"input\", {\n staticClass: \"update\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Update to {update}\", {\n update: _vm.app.update\n }),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.update(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.canUnInstall\n ? _c(\"input\", {\n staticClass: \"uninstall\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Remove\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.remove(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.active\n ? _c(\"input\", {\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Disable\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.disable(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.active\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.enableButtonTooltip,\n expression: \"enableButtonTooltip\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.enableButtonText,\n disabled:\n !_vm.app.canInstall ||\n _vm.installing ||\n _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.enable(_vm.app.id)\n }\n }\n })\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"img\", {\n staticClass: \"app-score-image\",\n attrs: { src: _vm.scoreImage }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<img :src=\"scoreImage\" class=\"app-score-image\" />\n</template>\n<script>\n\texport default {\n\t\tname: 'appScore',\n\t\tprops: ['score'],\n\t\tcomputed: {\n\t\t\tscoreImage() {\n\t\t\t\tlet score = Math.round( this.score * 10 );\n\t\t\t\tlet imageName = 'rating/s' + score + '.svg';\n\t\t\t\treturn OC.imagePath('core', imageName);\n\t\t\t}\n\t\t}\n\t};\n</script>","import { render, staticRenderFns } from \"./appScore.vue?vue&type=template&id=71d71231\"\nimport script from \"./appScore.vue?vue&type=script&lang=js\"\nexport * from \"./appScore.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('71d71231', component.options)\n } else {\n api.reload('71d71231', component.options)\n }\n module.hot.accept(\"./appScore.vue?vue&type=template&id=71d71231\", function () {\n api.rerender('71d71231', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appList/appScore.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./appManagement.vue?vue&type=script&lang=js\"\nexport * from \"./appManagement.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1ae84938', component.options)\n } else {\n api.reload('1ae84938', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/appManagement.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<script>\n\texport default {\n\t\tmounted() {\n\t\t\tif (this.app.groups.length > 0) {\n\t\t\t\tthis.groupCheckedAppsData = true;\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\tappGroups() {\n\t\t\t\treturn this.app.groups.map(group => {return {id: group, name: group}});\n\t\t\t},\n\t\t\tloading() {\n\t\t\t\tlet self = this;\n\t\t\t\treturn function(id) {\n\t\t\t\t\treturn self.$store.getters.loading(id);\n\t\t\t\t}\n\t\t\t},\n\t\t\tinstalling() {\n\t\t\t\treturn this.$store.getters.loading('install');\n\t\t\t},\n\t\t\tenableButtonText() {\n\t\t\t\tif (this.app.needsDownload) {\n\t\t\t\t\treturn t('settings','Download and enable');\n\t\t\t\t}\n\t\t\t\treturn t('settings','Enable');\n\t\t\t},\n\t\t\tenableButtonTooltip() {\n\t\t\t\tif (this.app.needsDownload) {\n\t\t\t\t\treturn t('settings','The app will be downloaded from the app store');\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tisLimitedToGroups(app) {\n\t\t\t\tif (this.app.groups.length || this.groupCheckedAppsData) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tsetGroupLimit: function() {\n\t\t\t\tif (!this.groupCheckedAppsData) {\n\t\t\t\t\tthis.$store.dispatch('enableApp', {appId: this.app.id, groups: []});\n\t\t\t\t}\n\t\t\t},\n\t\t\tcanLimitToGroups(app) {\n\t\t\t\tif (app.types && app.types.includes('filesystem')\n\t\t\t\t\t|| app.types.includes('prelogin')\n\t\t\t\t\t|| app.types.includes('authentication')\n\t\t\t\t\t|| app.types.includes('logging')\n\t\t\t\t\t|| app.types.includes('prevent_group_restriction')) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\taddGroupLimitation(group) {\n\t\t\t\tlet groups = this.app.groups.concat([]).concat([group.id]);\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: groups});\n\t\t\t},\n\t\t\tremoveGroupLimitation(group) {\n\t\t\t\tlet currentGroups = this.app.groups.concat([]);\n\t\t\t\tlet index = currentGroups.indexOf(group.id);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tcurrentGroups.splice(index, 1);\n\t\t\t\t}\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: currentGroups});\n\t\t\t},\n\t\t\tenable(appId) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: appId, groups: [] })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t},\n\t\t\tdisable(appId) {\n\t\t\t\tthis.$store.dispatch('disableApp', { appId: appId })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t},\n\t\t\tremove(appId) {\n\t\t\t\tthis.$store.dispatch('uninstallApp', { appId: appId })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t},\n\t\t\tinstall(appId) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: appId })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t},\n\t\t\tupdate(appId) {\n\t\t\t\tthis.$store.dispatch('updateApp', { appId: appId })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t}\n\t\t}\n\t}\n</script>\n","var render, staticRenderFns\nimport script from \"./svgFilterMixin.vue?vue&type=script&lang=js\"\nexport * from \"./svgFilterMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('66ac5316', component.options)\n } else {\n api.reload('66ac5316', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/svgFilterMixin.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<script>\n\texport default {\n\t\tname: 'svgFilterMixin',\n\t\tmounted() {\n\t\t\tthis.filterId = 'invertIconApps' + Math.floor((Math.random() * 100 )) + new Date().getSeconds() + new Date().getMilliseconds();\n\t\t},\n\t\tcomputed: {\n\t\t\tfilterUrl () {\n\t\t\t\treturn `url(#${this.filterId})`;\n\t\t\t},\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tfilterId: '',\n\t\t\t};\n\t\t},\n\t}\n</script>","import { render, staticRenderFns } from \"./appItem.vue?vue&type=template&id=1c68d544\"\nimport script from \"./appItem.vue?vue&type=script&lang=js\"\nexport * from \"./appItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1c68d544', component.options)\n } else {\n api.reload('1c68d544', component.options)\n }\n module.hot.accept(\"./appItem.vue?vue&type=template&id=1c68d544\", function () {\n api.rerender('1c68d544', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appList/appItem.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div class=\"section\" v-bind:class=\"{ selected: isSelected }\" v-on:click=\"showAppDetails\">\n\t\t<div class=\"app-image app-image-icon\" v-on:click=\"showAppDetails\">\n\t\t\t<div v-if=\"(listView && !app.preview) || (!listView && !app.screenshot)\" class=\"icon-settings-dark\"></div>\n\n\t\t\t<svg v-if=\"listView && app.preview\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n\t\t\t\t<defs><filter :id=\"filterId\"><feColorMatrix in=\"SourceGraphic\" type=\"matrix\" values=\"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"></feColorMatrix></filter></defs>\n\t\t\t\t<image x=\"0\" y=\"0\" width=\"32\" height=\"32\" preserveAspectRatio=\"xMinYMin meet\" :filter=\"filterUrl\" :xlink:href=\"app.preview\" class=\"app-icon\"></image>\n\t\t\t</svg>\n\n\t\t\t<img v-if=\"!listView && app.screenshot\" :src=\"app.screenshot\" width=\"100%\" />\n\t\t</div>\n\t\t<div class=\"app-name\" v-on:click=\"showAppDetails\">\n\t\t\t{{ app.name }}\n\t\t</div>\n\t\t<div class=\"app-summary\" v-if=\"!listView\">{{ app.summary }}</div>\n\t\t<div class=\"app-version\" v-if=\"listView\">\n\t\t\t<span v-if=\"app.version\">{{ app.version }}</span>\n\t\t\t<span v-else-if=\"app.appstoreData.releases[0].version\">{{ app.appstoreData.releases[0].version }}</span>\n\t\t</div>\n\n\t\t<div class=\"app-level\">\n\t\t\t<span class=\"official icon-checkmark\" v-if=\"app.level === 200\"\n\t\t\t\t v-tooltip.auto=\"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\">\n\t\t\t\t{{ t('settings', 'Official') }}</span>\n\t\t\t<app-score v-if=\"!listView\" :score=\"app.score\"></app-score>\n\t\t</div>\n\n\t\t<div class=\"actions\">\n\t\t\t<div class=\"warning\" v-if=\"app.error\">{{ app.error }}</div>\n\t\t\t<div class=\"icon icon-loading-small\" v-if=\"loading(app.id)\"></div>\n\t\t\t<input v-if=\"app.update\" class=\"update\" type=\"button\" :value=\"t('settings', 'Update to {update}', {update:app.update})\" v-on:click=\"update(app.id)\" :disabled=\"installing || loading(app.id)\" />\n\t\t\t<input v-if=\"app.canUnInstall\" class=\"uninstall\" type=\"button\" :value=\"t('settings', 'Remove')\" v-on:click=\"remove(app.id)\" :disabled=\"installing || loading(app.id)\" />\n\t\t\t<input v-if=\"app.active\" class=\"enable\" type=\"button\" :value=\"t('settings','Disable')\" v-on:click=\"disable(app.id)\" :disabled=\"installing || loading(app.id)\" />\n\t\t\t<input v-if=\"!app.active\" class=\"enable\" type=\"button\" :value=\"enableButtonText\" v-on:click=\"enable(app.id)\" v-tooltip.auto=\"enableButtonTooltip\" :disabled=\"!app.canInstall || installing || loading(app.id)\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport Multiselect from 'vue-multiselect';\n\timport AppScore from './appScore';\n\timport AppManagement from '../appManagement';\n\timport SvgFilterMixin from '../svgFilterMixin';\n\n\texport default {\n\t\tname: 'appItem',\n\t\tmixins: [AppManagement, SvgFilterMixin],\n\t\tprops: {\n\t\t\tapp: {},\n\t\t\tcategory: {},\n\t\t\tlistView: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: true,\n\t\t\t}\n\t\t},\n\t\twatch: {\n\t\t\t'$route.params.id': function (id) {\n\t\t\t\tthis.isSelected = (this.app.id === id);\n\t\t\t}\n\t\t},\n\t\tcomponents: {\n\t\t\tMultiselect,\n\t\t\tAppScore,\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tisSelected: false,\n\t\t\t\tscrolled: false,\n\t\t\t};\n\t\t},\n\t\tmounted() {\n\t\t\tthis.isSelected = (this.app.id === this.$route.params.id);\n\t\t},\n\t\tcomputed: {\n\n\t\t},\n\t\twatchers: {\n\n\t\t},\n\t\tmethods: {\n\t\t\tshowAppDetails(event) {\n\t\t\t\tif (event.currentTarget.tagName === 'INPUT' || event.currentTarget.tagName === 'A') {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.$router.push({\n\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\tparams: {category: this.category, id: this.app.id}\n\t\t\t\t});\n\t\t\t},\n\t\t\tprefix(prefix, content) {\n\t\t\t\treturn prefix + '_' + content;\n\t\t\t},\n\t\t}\n\t}\n</script>\n","var render, staticRenderFns\nimport script from \"./prefixMixin.vue?vue&type=script&lang=js\"\nexport * from \"./prefixMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('eb3bc8a2', component.options)\n } else {\n api.reload('eb3bc8a2', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/prefixMixin.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<script>\n\texport default {\n\t\tname: 'prefixMixin',\n\t\tmethods: {\n\t\t\tprefix (prefix, content) {\n\t\t\t\treturn prefix + '_' + content;\n\t\t\t},\n\t\t}\n\t}\n</script>","import { render, staticRenderFns } from \"./appList.vue?vue&type=template&id=a1862e02\"\nimport script from \"./appList.vue?vue&type=script&lang=js\"\nexport * from \"./appList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('a1862e02', component.options)\n } else {\n api.reload('a1862e02', component.options)\n }\n module.hot.accept(\"./appList.vue?vue&type=template&id=a1862e02\", function () {\n api.rerender('a1862e02', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appList.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div id=\"app-content-inner\">\n\t\t<div id=\"apps-list\" :class=\"{installed: (useBundleView || useListView), store: useAppStoreView}\">\n\t\t\t<template v-if=\"useListView\">\n\t\t\t\t<app-item v-for=\"app in apps\" :key=\"app.id\" :app=\"app\" :category=\"category\" />\n\t\t\t</template>\n\t\t\t<template v-for=\"bundle in bundles\" v-if=\"useBundleView && bundleApps(bundle.id).length > 0\">\n\t\t\t\t<div class=\"apps-header\" :key=\"bundle.id\">\n\t\t\t\t\t<div class=\"app-image\"></div>\n\t\t\t\t\t<h2>{{ bundle.name }} <input type=\"button\" :value=\"bundleToggleText(bundle.id)\" v-on:click=\"toggleBundle(bundle.id)\"></h2>\n\t\t\t\t\t<div class=\"app-version\"></div>\n\t\t\t\t\t<div class=\"app-level\"></div>\n\t\t\t\t\t<div class=\"app-groups\"></div>\n\t\t\t\t\t<div class=\"actions\"> </div>\n\t\t\t\t</div>\n\t\t\t\t<app-item v-for=\"app in bundleApps(bundle.id)\" :key=\"bundle.id + app.id\" :app=\"app\" :category=\"category\"/>\n\t\t\t</template>\n\t\t\t<template v-if=\"useAppStoreView\">\n\t\t\t\t<app-item v-for=\"app in apps\" :key=\"app.id\" :app=\"app\" :category=\"category\" :list-view=\"false\" />\n\t\t\t</template>\n\n\t\t</div>\n\n\t\t<div id=\"apps-list-search\" class=\"installed\">\n\t\t\t<template v-if=\"search !== '' && searchApps.length > 0\">\n\t\t\t\t<div class=\"section\">\n\t\t\t\t\t<div></div>\n\t\t\t\t\t<h2>{{ t('settings', 'Results from other categories') }}</h2>\n\t\t\t\t</div>\n\t\t\t\t<app-item v-for=\"app in searchApps\" :key=\"app.id\" :app=\"app\" :category=\"category\" :list-view=\"true\" />\n\t\t\t</template>\n\t\t</div>\n\n\t\t<div id=\"apps-list-empty\" class=\"emptycontent emptycontent-search\" v-if=\"!loading && searchApps.length === 0 && apps.length === 0\">\n\t\t\t<div id=\"app-list-empty-icon\" class=\"icon-settings-dark\"></div>\n\t\t\t<h2>{{ t('settings', 'No apps found for your versoin')}}</h2>\n\t\t</div>\n\n\t\t<div id=\"searchresults\"></div>\n\t</div>\n</template>\n\n<script>\nimport appItem from './appList/appItem';\nimport Multiselect from 'vue-multiselect';\nimport prefix from './prefixMixin';\n\nexport default {\n\tname: 'appList',\n\tmixins: [prefix],\n\tprops: ['category', 'app', 'search'],\n\tcomponents: {\n\t\tMultiselect,\n\t\tappItem\n\t},\n\tcomputed: {\n\t\tloading() {\n\t\t\treturn this.$store.getters.loading('list');\n\t\t},\n\t\tapps() {\n\t\t\tlet apps = this.$store.getters.getAllApps\n\t\t\t\t.filter(app => app.name.toLowerCase().search(this.search.toLowerCase()) !== -1)\n\t\t\t\t.sort(function (a, b) {\n\t\t\t\t\tif (a.active !== b.active) {\n\t\t\t\t\t\treturn (a.active ? -1 : 1)\n\t\t\t\t\t}\n\t\t\t\t\tif (a.update !== b.update) {\n\t\t\t\t\t\treturn (a.update ? -1 : 1)\n\t\t\t\t\t}\n\t\t\t\t\treturn OC.Util.naturalSortCompare(a.name, b.name);\n\t\t\t\t});\n\n\t\t\tif (this.category === 'installed') {\n\t\t\t\treturn apps.filter(app => app.installed);\n\t\t\t}\n\t\t\tif (this.category === 'enabled') {\n\t\t\t\treturn apps.filter(app => app.active);\n\t\t\t}\n\t\t\tif (this.category === 'disabled') {\n\t\t\t\treturn apps.filter(app => !app.active && app.installed);\n\t\t\t}\n\t\t\tif (this.category === 'app-bundles') {\n\t\t\t\treturn apps.filter(app => app.bundles);\n\t\t\t}\n\t\t\tif (this.category === 'updates') {\n\t\t\t\treturn apps.filter(app => app.update);\n\t\t\t}\n\t\t\t// filter app store categories\n\t\t\treturn apps.filter(app => {\n\t\t\t\treturn app.appstore && app.category !== undefined &&\n\t\t\t\t\t(app.category === this.category || app.category.indexOf(this.category) > -1);\n\t\t\t});\n\t\t},\n\t\tbundles() {\n\t\t\treturn this.$store.getters.getServerData.bundles;\n\t\t},\n\t\tbundleApps() {\n\t\t\treturn function(bundle) {\n\t\t\t\treturn this.$store.getters.getAllApps\n\t\t\t\t\t.filter(app => app.bundleId === bundle);\n\t\t\t}\n\t\t},\n\t\tsearchApps() {\n\t\t\tif (this.search === '') {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\treturn this.$store.getters.getAllApps\n\t\t\t\t.filter(app => {\n\t\t\t\t\tif (app.name.toLowerCase().search(this.search.toLowerCase()) !== -1) {\n\t\t\t\t\t\treturn (!this.apps.find(_app => _app.id === app.id));\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t},\n\t\tuseAppStoreView() {\n\t\t\treturn !this.useListView && !this.useBundleView;\n\t\t},\n\t\tuseListView() {\n\t\t\treturn (this.category === 'installed' || this.category === 'enabled' || this.category === 'disabled' || this.category === 'updates');\n\t\t},\n\t\tuseBundleView() {\n\t\t\treturn (this.category === 'app-bundles');\n\t\t},\n\t\tallBundlesEnabled() {\n\t\t\tlet self = this;\n\t\t\treturn function(id) {\n\t\t\t\treturn self.bundleApps(id).filter(app => !app.active).length === 0;\n\t\t\t}\n\t\t},\n\t\tbundleToggleText() {\n\t\t\tlet self = this;\n\t\t\treturn function(id) {\n\t\t\t\tif (self.allBundlesEnabled(id)) {\n\t\t\t\t\treturn t('settings', 'Disable all');\n\t\t\t\t}\n\t\t\t\treturn t('settings', 'Enable all');\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggleBundle(id) {\n\t\t\tif (this.allBundlesEnabled(id)) {\n\t\t\t\treturn this.disableBundle(id);\n\t\t\t}\n\t\t\treturn this.enableBundle(id);\n\t\t},\n\t\tenableBundle(id) {\n\t\t\tlet apps = this.bundleApps(id).map(app => app.id);\n\t\t\tthis.$store.dispatch('enableApp', { appId: apps, groups: [] })\n\t\t\t\t.catch((error) => { console.log(error); OC.Notification.show(error)});\n\t\t},\n\t\tdisableBundle(id) {\n\t\t\tlet apps = this.bundleApps(id).map(app => app.id);\n\t\t\tthis.$store.dispatch('disableApp', { appId: apps, groups: [] })\n\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t}\n\t},\n}\n</script>\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { padding: \"20px\" }, attrs: { id: \"app-details-view\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"close icon-close\",\n attrs: { href: \"#\" },\n on: { click: _vm.hideAppDetails }\n },\n [_c(\"span\", { staticClass: \"hidden-visually\" }, [_vm._v(\"Close\")])]\n ),\n _vm._v(\" \"),\n _c(\"h2\", [\n !_vm.app.preview\n ? _c(\"div\", { staticClass: \"icon-settings-dark\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.previewAsIcon && _vm.app.preview\n ? _c(\n \"svg\",\n { attrs: { width: \"32\", height: \"32\", viewBox: \"0 0 32 32\" } },\n [\n _c(\"defs\", [\n _c(\n \"filter\",\n { attrs: { id: _vm.filterId } },\n [\n _c(\"feColorMatrix\", {\n attrs: {\n in: \"SourceGraphic\",\n type: \"matrix\",\n values: \"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"image\", {\n staticClass: \"app-icon\",\n attrs: {\n x: \"0\",\n y: \"0\",\n width: \"32\",\n height: \"32\",\n preserveAspectRatio: \"xMinYMin meet\",\n filter: _vm.filterUrl,\n \"xlink:href\": _vm.app.preview\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.app.name))\n ]),\n _vm._v(\" \"),\n _vm.app.screenshot\n ? _c(\"img\", { attrs: { src: _vm.app.screenshot, width: \"100%\" } })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.level === 200 || _vm.hasRating\n ? _c(\n \"div\",\n { staticClass: \"app-level\" },\n [\n _vm.app.level === 200\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"Official apps are developed by and within the community. They offer central functionality and are ready for production use.\"\n ),\n expression:\n \"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"official icon-checkmark\"\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Official\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasRating\n ? _c(\"app-score\", {\n attrs: { score: _vm.app.appstoreData.ratingOverall }\n })\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.author\n ? _c(\n \"div\",\n { staticClass: \"app-author\" },\n [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.t(\"settings\", \"by\")) + \"\\n\\t\\t\"),\n _vm._l(_vm.author, function(a, index) {\n return _c(\"span\", [\n a[\"@attributes\"] && a[\"@attributes\"][\"homepage\"]\n ? _c(\n \"a\",\n { attrs: { href: a[\"@attributes\"][\"homepage\"] } },\n [_vm._v(_vm._s(a[\"@value\"]))]\n )\n : a[\"@value\"]\n ? _c(\"span\", [_vm._v(_vm._s(a[\"@value\"]))])\n : _c(\"span\", [_vm._v(_vm._s(a))]),\n index + 1 < _vm.author.length\n ? _c(\"span\", [_vm._v(\", \")])\n : _vm._e()\n ])\n })\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.licence\n ? _c(\"div\", { staticClass: \"app-licence\" }, [\n _vm._v(_vm._s(_vm.licence))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [\n _c(\"div\", { staticClass: \"actions-buttons\" }, [\n _vm.app.update\n ? _c(\"input\", {\n staticClass: \"update\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Update to {version}\", {\n version: _vm.app.update\n }),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.canUnInstall\n ? _c(\"input\", {\n staticClass: \"uninstall\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Remove\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.active\n ? _c(\"input\", {\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Disable\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.disable(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.active\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.enableButtonTooltip,\n expression: \"enableButtonTooltip\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.enableButtonText,\n disabled:\n !_vm.app.canInstall ||\n _vm.installing ||\n _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.enable(_vm.app.id)\n }\n }\n })\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-groups\" }, [\n _vm.app.active && _vm.canLimitToGroups(_vm.app)\n ? _c(\n \"div\",\n { staticClass: \"groups-enable\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.groupCheckedAppsData,\n expression: \"groupCheckedAppsData\"\n }\n ],\n staticClass: \"groups-enable__checkbox checkbox\",\n attrs: {\n type: \"checkbox\",\n id: _vm.prefix(\"groups_enable\", _vm.app.id)\n },\n domProps: {\n value: _vm.app.id,\n checked: Array.isArray(_vm.groupCheckedAppsData)\n ? _vm._i(_vm.groupCheckedAppsData, _vm.app.id) > -1\n : _vm.groupCheckedAppsData\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.groupCheckedAppsData,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = _vm.app.id,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.groupCheckedAppsData = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.groupCheckedAppsData = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.groupCheckedAppsData = $$c\n }\n },\n _vm.setGroupLimit\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: _vm.prefix(\"groups_enable\", _vm.app.id) } },\n [_vm._v(\"Auf Gruppen beschränken\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"group_select\",\n attrs: { type: \"hidden\", title: \"Alle\", value: \"\" }\n }),\n _vm._v(\" \"),\n _vm.isLimitedToGroups(_vm.app)\n ? _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.groups,\n value: _vm.appGroups,\n \"options-limit\": 5,\n placeholder: _vm.t(\n \"settings\",\n \"Limit app usage to groups\"\n ),\n label: \"name\",\n \"track-by\": \"id\",\n multiple: true,\n \"close-on-select\": false\n },\n on: {\n select: _vm.addGroupLimitation,\n remove: _vm.removeGroupLimitation\n }\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : _vm._e()\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"documentation\" }, [\n !_vm.app.internal\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.appstoreUrl,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"View in store\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.website\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.website,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Visit website\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.bugs\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.bugs,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Report a bug\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.user\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.user,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"User documentation\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.admin\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.admin,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Admin documentation\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.developer\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.developer,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"Developer documentation\")) + \" ↗\"\n )\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"app-dependencies\" }, [\n _vm.app.missingMinOwnCloudVersion\n ? _c(\"li\", [\n _vm._v(\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app has no minimum Nextcloud version assigned. This will be an error in the future.\"\n )\n )\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.missingMaxOwnCloudVersion\n ? _c(\"li\", [\n _vm._v(\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app has no maximum Nextcloud version assigned. This will be an error in the future.\"\n )\n )\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.canInstall\n ? _c(\"li\", [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app cannot be installed because the following dependencies are not fulfilled:\"\n )\n ) +\n \"\\n\\t\\t\\t\"\n ),\n _c(\n \"ul\",\n { staticClass: \"missing-dependencies\" },\n _vm._l(_vm.app.missingDependencies, function(dep) {\n return _c(\"li\", [_vm._v(_vm._s(dep))])\n })\n )\n ])\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"app-description\",\n domProps: { innerHTML: _vm._s(_vm.renderMarkdown) }\n })\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div id=\"app-details-view\" style=\"padding: 20px;\">\n\t\t<a class=\"close icon-close\" href=\"#\" v-on:click=\"hideAppDetails\"><span class=\"hidden-visually\">Close</span></a>\n\t\t<h2>\n\t\t\t<div v-if=\"!app.preview\" class=\"icon-settings-dark\"></div>\n\t\t\t<svg v-if=\"app.previewAsIcon && app.preview\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n\t\t\t\t<defs><filter :id=\"filterId\"><feColorMatrix in=\"SourceGraphic\" type=\"matrix\" values=\"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"></feColorMatrix></filter></defs>\n\t\t\t\t<image x=\"0\" y=\"0\" width=\"32\" height=\"32\" preserveAspectRatio=\"xMinYMin meet\" :filter=\"filterUrl\" :xlink:href=\"app.preview\" class=\"app-icon\"></image>\n\t\t\t</svg>\n\t\t\t{{ app.name }}</h2>\n\t\t<img v-if=\"app.screenshot\" :src=\"app.screenshot\" width=\"100%\" />\n\t\t<div class=\"app-level\" v-if=\"app.level === 200 || hasRating\">\n\t\t\t<span class=\"official icon-checkmark\" v-if=\"app.level === 200\"\n\t\t\t v-tooltip.auto=\"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\">\n\t\t\t\t{{ t('settings', 'Official') }}</span>\n\t\t\t<app-score v-if=\"hasRating\" :score=\"app.appstoreData.ratingOverall\"></app-score>\n\t\t</div>\n\n\t\t<div class=\"app-author\" v-if=\"author\">\n\t\t\t{{ t('settings', 'by') }}\n\t\t\t<span v-for=\"(a, index) in author\">\n\t\t\t\t<a v-if=\"a['@attributes'] && a['@attributes']['homepage']\" :href=\"a['@attributes']['homepage']\">{{ a['@value'] }}</a><span v-else-if=\"a['@value']\">{{ a['@value'] }}</span><span v-else>{{ a }}</span><span v-if=\"index+1 < author.length\">, </span>\n\t\t\t</span>\n\t\t</div>\n\t\t<div class=\"app-licence\" v-if=\"licence\">{{ licence }}</div>\n\t\t<div class=\"actions\">\n\t\t\t<div class=\"actions-buttons\">\n\t\t\t\t<input v-if=\"app.update\" class=\"update\" type=\"button\" :value=\"t('settings', 'Update to {version}', {version: app.update})\" :disabled=\"installing || loading(app.id)\"/>\n\t\t\t\t<input v-if=\"app.canUnInstall\" class=\"uninstall\" type=\"button\" :value=\"t('settings', 'Remove')\" :disabled=\"installing || loading(app.id)\"/>\n\t\t\t\t<input v-if=\"app.active\" class=\"enable\" type=\"button\" :value=\"t('settings','Disable')\" v-on:click=\"disable(app.id)\" :disabled=\"installing || loading(app.id)\" />\n\t\t\t\t<input v-if=\"!app.active\" class=\"enable\" type=\"button\" :value=\"enableButtonText\" v-on:click=\"enable(app.id)\" v-tooltip.auto=\"enableButtonTooltip\" :disabled=\"!app.canInstall || installing || loading(app.id)\" />\n\t\t\t</div>\n\t\t\t<div class=\"app-groups\">\n\t\t\t\t<div class=\"groups-enable\" v-if=\"app.active && canLimitToGroups(app)\">\n\t\t\t\t\t<input type=\"checkbox\" :value=\"app.id\" v-model=\"groupCheckedAppsData\" v-on:change=\"setGroupLimit\" class=\"groups-enable__checkbox checkbox\" :id=\"prefix('groups_enable', app.id)\">\n\t\t\t\t\t<label :for=\"prefix('groups_enable', app.id)\">Auf Gruppen beschränken</label>\n\t\t\t\t\t<input type=\"hidden\" class=\"group_select\" title=\"Alle\" value=\"\">\n\t\t\t\t\t<multiselect v-if=\"isLimitedToGroups(app)\" :options=\"groups\" :value=\"appGroups\" @select=\"addGroupLimitation\" @remove=\"removeGroupLimitation\" :options-limit=\"5\"\n\t\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Limit app usage to groups')\"\n\t\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\">\n\t\t\t\t\t\t<span slot=\"noResult\">{{t('settings', 'No results')}}</span>\n\t\t\t\t\t</multiselect>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<p class=\"documentation\">\n\t\t\t<a class=\"appslink\" :href=\"appstoreUrl\" v-if=\"!app.internal\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'View in store')}} ↗</a>\n\n\t\t\t<a class=\"appslink\" v-if=\"app.website\" :href=\"app.website\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'Visit website') }} ↗</a>\n\t\t\t<a class=\"appslink\" v-if=\"app.bugs\" :href=\"app.bugs\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'Report a bug') }} ↗</a>\n\n\t\t\t<a class=\"appslink\" v-if=\"app.documentation && app.documentation.user\" :href=\"app.documentation.user\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'User documentation') }} ↗</a>\n\t\t\t<a class=\"appslink\" v-if=\"app.documentation && app.documentation.admin\" :href=\"app.documentation.admin\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'Admin documentation') }} ↗</a>\n\t\t\t<a class=\"appslink\" v-if=\"app.documentation && app.documentation.developer\" :href=\"app.documentation.developer\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'Developer documentation') }} ↗</a>\n\t\t</p>\n\n\t\t<ul class=\"app-dependencies\">\n\t\t\t<li v-if=\"app.missingMinOwnCloudVersion\">{{ t('settings', 'This app has no minimum Nextcloud version assigned. This will be an error in the future.') }}</li>\n\t\t\t<li v-if=\"app.missingMaxOwnCloudVersion\">{{ t('settings', 'This app has no maximum Nextcloud version assigned. This will be an error in the future.') }}</li>\n\t\t\t<li v-if=\"!app.canInstall\">\n\t\t\t\t{{ t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:') }}\n\t\t\t\t<ul class=\"missing-dependencies\">\n\t\t\t\t\t<li v-for=\"dep in app.missingDependencies\">{{ dep }}</li>\n\t\t\t\t</ul>\n\t\t\t</li>\n\t\t</ul>\n\n\t\t<div class=\"app-description\" v-html=\"renderMarkdown\"></div>\n\t</div>\n</template>\n\n<script>\nimport Multiselect from 'vue-multiselect';\nimport AppScore from './appList/appScore';\nimport AppManagement from './appManagement';\nimport prefix from './prefixMixin';\nimport SvgFilterMixin from './svgFilterMixin';\n\nexport default {\n\tmixins: [AppManagement, prefix, SvgFilterMixin],\n\tname: 'appDetails',\n\tprops: ['category', 'app'],\n\tcomponents: {\n\t\tMultiselect,\n\t\tAppScore\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tgroupCheckedAppsData: false,\n\t\t}\n\t},\n\tmounted() {\n\t\tif (this.app.groups.length > 0) {\n\t\t\tthis.groupCheckedAppsData = true;\n\t\t}\n\t},\n\tmethods: {\n\t\thideAppDetails() {\n\t\t\tthis.$router.push({\n\t\t\t\tname: 'apps-category',\n\t\t\t\tparams: {category: this.category}\n\t\t\t});\n\t\t},\n\t},\n\tcomputed: {\n\t\tappstoreUrl() {\n\t\t\treturn `https://apps.nextcloud.com/apps/${this.app.id}`;\n\t\t},\n\t\tlicence() {\n\t\t\tif (this.app.licence)\n\t\t\t\treturn ('' + this.app.licence).toUpperCase() + t('settings', '-licensed');\n\t\t\treturn null;\n\t\t},\n\t\thasRating() {\n\t\t\treturn this.app.appstoreData && this.app.appstoreData.ratingNumOverall > 5;\n\t\t},\n\t\tauthor() {\n\t\t\tif (typeof this.app.author === 'string') {\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\t'@value': this.app.author\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t\tif (this.app.author['@value']) {\n\t\t\t\treturn [this.app.author];\n\t\t\t}\n\t\t\treturn this.app.author;\n\t\t},\n\t\tappGroups() {\n\t\t\treturn this.app.groups.map(group => {return {id: group, name: group}});\n\t\t},\n\t\tgroups() {\n\t\t\treturn this.$store.getters.getGroups\n\t\t\t\t.filter(group => group.id !== 'disabled')\n\t\t\t\t.sort((a, b) => a.name.localeCompare(b.name));\n\t\t},\n\t\trenderMarkdown() {\n\t\t\t// TODO: bundle marked as well\n\t\t\tvar renderer = new window.marked.Renderer();\n\t\t\trenderer.link = function(href, title, text) {\n\t\t\t\ttry {\n\t\t\t\t\tvar prot = decodeURIComponent(unescape(href))\n\t\t\t\t\t\t.replace(/[^\\w:]/g, '')\n\t\t\t\t\t\t.toLowerCase();\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\n\t\t\t\tif (prot.indexOf('http:') !== 0 && prot.indexOf('https:') !== 0) {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\n\t\t\t\tvar out = '<a href=\"' + href + '\" rel=\"noreferrer noopener\"';\n\t\t\t\tif (title) {\n\t\t\t\t\tout += ' title=\"' + title + '\"';\n\t\t\t\t}\n\t\t\t\tout += '>' + text + '</a>';\n\t\t\t\treturn out;\n\t\t\t};\n\t\t\trenderer.image = function(href, title, text) {\n\t\t\t\tif (text) {\n\t\t\t\t\treturn text;\n\t\t\t\t}\n\t\t\t\treturn title;\n\t\t\t};\n\t\t\trenderer.blockquote = function(quote) {\n\t\t\t\treturn quote;\n\t\t\t};\n\t\t\treturn DOMPurify.sanitize(\n\t\t\t\twindow.marked(this.app.description.trim(), {\n\t\t\t\t\trenderer: renderer,\n\t\t\t\t\tgfm: false,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttables: false,\n\t\t\t\t\tbreaks: false,\n\t\t\t\t\tpedantic: false,\n\t\t\t\t\tsanitize: true,\n\t\t\t\t\tsmartLists: true,\n\t\t\t\t\tsmartypants: false\n\t\t\t\t}),\n\t\t\t\t{\n\t\t\t\t\tSAFE_FOR_JQUERY: true,\n\t\t\t\t\tALLOWED_TAGS: [\n\t\t\t\t\t\t'strong',\n\t\t\t\t\t\t'p',\n\t\t\t\t\t\t'a',\n\t\t\t\t\t\t'ul',\n\t\t\t\t\t\t'ol',\n\t\t\t\t\t\t'li',\n\t\t\t\t\t\t'em',\n\t\t\t\t\t\t'del',\n\t\t\t\t\t\t'blockquote'\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n}\n</script>\n","import { render, staticRenderFns } from \"./appDetails.vue?vue&type=template&id=273c8e71\"\nimport script from \"./appDetails.vue?vue&type=script&lang=js\"\nexport * from \"./appDetails.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('273c8e71', component.options)\n } else {\n api.reload('273c8e71', component.options)\n }\n module.hot.accept(\"./appDetails.vue?vue&type=template&id=273c8e71\", function () {\n api.rerender('273c8e71', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appDetails.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div id=\"app\">\n\t\t<app-navigation :menu=\"menu\" />\n\t\t<div id=\"app-content\" class=\"app-settings-content\" :class=\"{ 'with-app-sidebar': currentApp, 'icon-loading': loadingList }\">\n\t\t\t<app-list :category=\"category\" :app=\"currentApp\" :search=\"search\"></app-list>\n\t\t\t<div id=\"app-sidebar\" v-if=\"id && currentApp\">\n\t\t\t\t<app-details :category=\"category\" :app=\"currentApp\"></app-details>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script>\nimport appNavigation from '../components/appNavigation';\nimport appList from '../components/appList';\nimport Vue from 'vue';\nimport VueLocalStorage from 'vue-localstorage'\nimport Multiselect from 'vue-multiselect';\nimport api from '../store/api';\nimport AppDetails from '../components/appDetails';\n\nVue.use(VueLocalStorage)\nVue.use(VueLocalStorage)\n\nexport default {\n\tname: 'Apps',\n\tprops: {\n\t\tcategory: {\n\t\t\ttype: String,\n\t\t\tdefault: 'installed',\n\t\t},\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t}\n\t},\n\tcomponents: {\n\t\tAppDetails,\n\t\tappNavigation,\n\t\tappList,\n\t},\n\tmethods: {\n\t\tsetSearch(search) {\n\t\t\tthis.search = search;\n\t\t}\n\t},\n\tbeforeMount() {\n\t\tthis.$store.dispatch('getCategories');\n\t\tthis.$store.dispatch('getAllApps');\n\t\tthis.$store.dispatch('getGroups', {offset: 0, limit: -1});\n\t\tthis.$store.commit('setUpdateCount', this.$store.getters.getServerData.updateCount)\n\t},\n\tmounted() {\n\t\t// TODO: remove jQuery once we have a proper standardisation of the search\n\t\t$('#searchbox').show();\n\t\tlet self = this;\n\t\t$('#searchbox').change(function(e) {\n\t\t\tself.setSearch($('#searchbox').val());\n\t\t});\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsearch: ''\n\t\t}\n\t},\n\twatch: {\n\t\tcategory: function (val, old) {\n\t\t\tthis.setSearch('');\n\t\t}\n\t},\n\tcomputed: {\n\t\tloading() {\n\t\t\treturn this.$store.getters.loading('categories');\n\t\t},\n\t\tloadingList() {\n\t\t\treturn this.$store.getters.loading('list');\n\t\t},\n\t\tcurrentApp() {\n\t\t\treturn this.apps.find(app => app.id === this.id );\n\t\t},\n\t\tcategories() {\n\t\t\treturn this.$store.getters.getCategories;\n\t\t},\n\t\tapps() {\n\t\t\treturn this.$store.getters.getAllApps;\n\t\t},\n\t\tupdateCount() {\n\t\t\treturn this.$store.getters.getUpdateCount;\n\t\t},\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\n\t\t// BUILD APP NAVIGATION MENU OBJECT\n\t\tmenu() {\n\t\t\t// Data provided php side\n\t\t\tlet categories = this.$store.getters.getCategories;\n\t\t\tcategories = Array.isArray(categories) ? categories : [];\n\n\t\t\t// Map groups\n\t\t\tcategories = categories.map(category => {\n\t\t\t\tlet item = {};\n\t\t\t\titem.id = 'app-category-' + category.ident;\n\t\t\t\titem.icon = 'icon-category-' + category.ident;\n\t\t\t\titem.classes = [];\t\t\t\t\t\t\t// empty classes, active will be set later\n\t\t\t\titem.router = {\t\t\t\t\t\t\t\t// router link to\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tparams: {category: category.ident}\n\t\t\t\t};\n\t\t\t\titem.text = category.displayName;\n\n\t\t\t\treturn item;\n\t\t\t});\n\n\n\t\t\t// Add everyone group\n\t\t\tlet defaultCategories = [\n\t\t\t\t{\n\t\t\t\t\tid: 'app-category-your-apps',\n\t\t\t\t\tclasses: [],\n\t\t\t\t\trouter: {name: 'apps'},\n\t\t\t\t\ticon: 'icon-category-installed',\n\t\t\t\t\ttext: t('settings', 'Your apps'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'app-category-enabled',\n\t\t\t\t\tclasses: [],\n\t\t\t\t\ticon: 'icon-category-enabled',\n\t\t\t\t\trouter: {name: 'apps-category', params: {category: 'enabled'}},\n\t\t\t\t\ttext: t('settings', 'Active apps'),\n\t\t\t\t}, {\n\t\t\t\t\tid: 'app-category-disabled',\n\t\t\t\t\tclasses: [],\n\t\t\t\t\ticon: 'icon-category-disabled',\n\t\t\t\t\trouter: {name: 'apps-category', params: {category: 'disabled'}},\n\t\t\t\t\ttext: t('settings', 'Disabled apps'),\n\t\t\t\t}\n\t\t\t];\n\n\t\t\tif (!this.settings.appstoreEnabled) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'appscategories',\n\t\t\t\t\titems: defaultCategories,\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.$store.getters.getUpdateCount > 0) {\n\t\t\t\tdefaultCategories.push({\n\t\t\t\t\tid: 'app-category-updates',\n\t\t\t\t\tclasses: [],\n\t\t\t\t\ticon: 'icon-download',\n\t\t\t\t\trouter: {name: 'apps-category', params: {category: 'updates'}},\n\t\t\t\t\ttext: t('settings', 'Updates'),\n\t\t\t\t\tutils: {counter: this.$store.getters.getUpdateCount}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdefaultCategories.push({\n\t\t\t\tid: 'app-category-app-bundles',\n\t\t\t\tclasses: [],\n\t\t\t\ticon: 'icon-category-app-bundles',\n\t\t\t\trouter: {name: 'apps-category', params: {category: 'app-bundles'}},\n\t\t\t\ttext: t('settings', 'App bundles'),\n\t\t\t});\n\n\t\t\tcategories = defaultCategories.concat(categories);\n\n\t\t\t// Set current group as active\n\t\t\tlet activeGroup = categories.findIndex(group => group.id === 'app-category-' + this.category);\n\t\t\tif (activeGroup >= 0) {\n\t\t\t\tcategories[activeGroup].classes.push('active');\n\t\t\t} else {\n\t\t\t\tcategories[0].classes.push('active');\n\t\t\t}\n\n\t\t\tcategories.push({\n\t\t\t\tid: 'app-developer-docs',\n\t\t\t\tclasses: [],\n\t\t\t\thref: this.settings.developerDocumentation,\n\t\t\t\ttext: t('settings', 'Developer documentation') + ' ↗',\n\t\t\t});\n\n\t\t\t// Return\n\t\t\treturn {\n\t\t\t\tid: 'appscategories',\n\t\t\t\titems: categories,\n\t\t\t\tloading: this.loading\n\t\t\t}\n\t\t},\n\t}\n}\n</script>\n","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=33a216a8\"\nimport script from \"./Apps.vue?vue&type=script&lang=js\"\nexport * from \"./Apps.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('33a216a8', component.options)\n } else {\n api.reload('33a216a8', component.options)\n }\n module.hot.accept(\"./Apps.vue?vue&type=template&id=33a216a8\", function () {\n api.rerender('33a216a8', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/views/Apps.vue\"\nexport default component.exports","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n import Vue from 'vue';\nimport Router from 'vue-router';\nimport Users from './views/Users';\nimport Apps from './views/Apps';\n\nVue.use(Router);\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * the settings-vue template, where the vue-router will\n * ensure the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\n\nexport default new Router({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: OC.generateUrl(''),\n\tlinkActiveClass: 'active',\n\troutes: [\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/users',\n\t\t\tcomponent: Users,\n\t\t\tprops: true,\n\t\t\tname: 'users',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':selectedGroup',\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tcomponent: Users\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/apps',\n\t\t\tcomponent: Apps,\n\t\t\tprops: true,\n\t\t\tname: 'apps',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':category',\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: ':id',\n\t\t\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\t\t\tcomponent: Apps\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t]\n});\n","/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\nexport default index_esm;\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api';\n\nconst orderGroups = function(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n\t * const SORT_GROUPNAME = 2;\n\t * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n\t */\n\tif (orderBy === 1) {\n\t\treturn groups.sort((a, b) => a.usercount-a.disabled < b.usercount - b.disabled);\n\t} else {\n\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name));\n\t}\n};\n\nconst defaults = {\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0\n\t}\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tuserCount: 0\n};\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\t// convert obj to array\n\t\tlet users = state.users.concat(Object.keys(usersObj).map(userid => usersObj[userid]));\n\t\tstate.usersOffset += state.usersLimit;\n\t\tstate.users = users;\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length!=='' ? length : 0;\n\t},\n\tinitGroups(state, {groups, orderBy, userCount}) {\n\t\tstate.groups = groups.map(group => Object.assign({}, defaults.group, group));\n\t\tstate.orderBy = orderBy;\n\t\tstate.userCount = userCount;\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t\t\n\t},\n\taddGroup(state, {gid, displayName}) {\n\t\ttry {\n\t\t\t// extend group to default values\n\t\t\tlet group = Object.assign({}, defaults.group, {\n\t\t\t\tid: gid,\n\t\t\t\tname: displayName,\n\t\t\t});\n\t\t\tstate.groups.push(group);\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t\t} catch (e) {\n\t\t\tconsole.log('Can\\'t create group', e);\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tlet groupIndex = state.groups.findIndex(groupSearch => groupSearch.id == gid);\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1);\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tlet group = state.groups.find(groupSearch => groupSearch.id == gid);\n\t\tlet user = state.users.find(user => user.id == userid);\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled) {\n\t\t\tgroup.usercount++; \n\t\t}\n\t\tlet groups = user.groups;\n\t\tgroups.push(gid);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tlet group = state.groups.find(groupSearch => groupSearch.id == gid);\n\t\tlet user = state.users.find(user => user.id == userid);\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled) {\n\t\t\tgroup.usercount--;\n\t\t}\n\t\tlet groups = user.groups;\n\t\tgroups.splice(groups.indexOf(gid),1);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tlet groups = state.users.find(user => user.id == userid).subadmin;\n\t\tgroups.push(gid);\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tlet groups = state.users.find(user => user.id == userid).subadmin;\n\t\tgroups.splice(groups.indexOf(gid),1);\n\t},\n\tdeleteUser(state, userid) {\n\t\tlet userIndex = state.users.findIndex(user => user.id == userid);\n\t\tstate.users.splice(userIndex, 1);\n\t},\n\taddUserData(state, response) {\n\t\tstate.users.push(response.data.ocs.data);\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tlet user = state.users.find(user => user.id == userid);\n\t\tuser.enabled = enabled;\n\t\t// increment or not\n\t\tstate.groups.find(group => group.id == 'disabled').usercount += enabled ? -1 : 1;\n\t\tstate.userCount += enabled ? 1 : -1;\n\t\tuser.groups.forEach(group => {\n\t\t\t// Increment disabled count\n\t\t\tstate.groups.find(groupSearch => groupSearch.id == group).disabled += enabled ? -1 : 1;\n\t\t});\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tlet humanValue = OC.Util.computerFileSize(value);\n\t\t\tstate.users.find(user => user.id == userid)[key][key] = humanValue!==null ? humanValue : value;\n\t\t} else {\n\t\t\tstate.users.find(user => user.id == userid)[key] = value;\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t */\n\tresetUsers(state) {\n\t\tstate.users = [];\n\t\tstate.usersOffset = 0;\n\t}\n};\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users;\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups;\n\t},\n\tgetSubadminGroups(state) {\n\t\t// Can't be subadmin of admin or disabled\n\t\treturn state.groups.filter(group => group.id !== 'admin' && group.id !== 'disabled');\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength;\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset;\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit;\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount;\n\t}\n};\n\nconst actions = {\n\n\t/**\n\t * Get all users with full details\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @returns {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\tgroup = typeof group === 'string' ? group : '';\n\t\tif (group !== '') {\n\t\t\treturn api.get(OC.linkToOCS(`cloud/groups/${group}/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t\t}\n\n\t\treturn api.get(OC.linkToOCS(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\treturn api.get(OC.linkToOCS(`cloud/groups?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', {gid: group, displayName: group});\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\t/**\n\t * Get all users with full details\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @returns {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\treturn api.get(OC.linkToOCS(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @returns {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(OC.linkToOCS(`cloud/users/${groupid}/details?offset=${offset}&limit=${limit}`, 2))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\t\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif(oc_capabilities.password_policy && oc_capabilities.password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', oc_capabilities.password_policy.minLength);\n\t\t\treturn oc_capabilities.password_policy.minLength;\n\t\t}\n\t\treturn false;\n\t},\n\n\t/**\n\t * Add group\n\t * \n\t * @param {Object} context\n\t * @param {string} gid Group id\n\t * @returns {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/groups`, 2), {groupid: gid})\n\t\t\t\t.then((response) => context.commit('addGroup', {gid: gid, displayName: gid}))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error });\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error;\n\t\t});\n\t},\n\n\t/**\n\t * Remove group\n\t * \n\t * @param {Object} context\n\t * @param {string} gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/groups/${gid}`, 2))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }));\n\t},\n\n\t/**\n\t * Add user to group\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Remove user from group\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error });\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error; \n\t\t});\n\t},\n\n\t/**\n\t * Add user to group admin\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Delete a user\n\t * \n\t * @param {Object} context\n\t * @param {string} userid User id \n\t * @returns {Promise}\n\t */\n\tdeleteUser(context, { userid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}`, 2))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Add a user\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password \n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @returns {Promise}\n\t */\n\taddUser({commit, dispatch}, { userid, password, email, groups, subadmin, quota, language }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users`, 2), { userid, password, email, groups, subadmin, quota, language })\n\t\t\t\t.then((response) => dispatch('addUserData', userid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t * \n\t * @param {Object} context\n\t * @param {string} userid User id \n\t * @returns {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(OC.linkToOCS(`cloud/users/${userid}`, 2))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/** Enable or disable user \n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @returns {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tlet userStatus = enabled ? 'enable' : 'disable';\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(OC.linkToOCS(`cloud/users/${userid}/${userStatus}`, 2))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Edit user data\n\t * \n\t * @param {Object} context \n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @returns {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tlet allowedEmpty = ['email', 'displayname'];\n\t\tif (['email', 'language', 'quota', 'displayname', 'password'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string' &&\n\t\t\t\t(\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0) ||\n\t\t\t\t\tallowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(OC.linkToOCS(`cloud/users/${userid}`, 2), { key: key, value: value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => {throw error;});\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'));\n\t}\n};\n\nexport default { state, mutations, getters, actions };\n","/*\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api';\nimport axios from 'axios/index';\nimport Vue from 'vue';\n\nconst state = {\n\tapps: [],\n\tcategories: [],\n\tupdateCount: 0,\n\tloading: {},\n\tloadingList: false,\n};\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tOC.Notification.showHtml(t('settings','An error occured during the request. Unable to proceed.')+'<br>'+error.error.response.data.data.message, {timeout: 7});\n\t\tconsole.log(state, error);\n\t},\n\n\tinitCategories(state, {categories, updateCount}) {\n\t\tstate.categories = categories;\n\t\tstate.updateCount = updateCount;\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount;\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category);\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray;\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps;\n\t},\n\n\tsetError(state, {appId, error}) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tapp.error = error;\n\t},\n\n\tclearError(state, {appId, error}) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tapp.error = null;\n\t},\n\n\tenableApp(state, {appId, groups}) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tapp.active = true;\n\t\tapp.groups = groups;\n\t},\n\n\tdisableApp(state, appId) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tapp.active = false;\n\t\tapp.groups = [];\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true;\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false;\n\t\tstate.apps.find(app => app.id === appId).groups = [];\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true;\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false;\n\t\tstate.apps.find(app => app.id === appId).canInstall = true;\n\t},\n\n\tupdateApp(state, appId) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tlet version = app.update;\n\t\tapp.update = null;\n\t\tapp.version = version;\n\t\tstate.updateCount--;\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = [];\n\t},\n\treset(state) {\n\t\tstate.apps = [];\n\t\tstate.categories = [];\n\t\tstate.updateCount = 0;\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true);\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true);\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false);\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false);\n\t\t}\n\t},\n};\n\nconst getters = {\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id];\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories;\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps;\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount;\n\t}\n};\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps;\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId;\n\t\t} else {\n\t\t\tapps = [appId];\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps);\n\t\t\tcontext.commit('startLoading', 'install');\n\t\t\treturn api.post(OC.generateUrl(`settings/apps/enable`), {appIds: apps, groups: groups})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps);\n\t\t\t\t\tcontext.commit('stopLoading', 'install');\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', {appId: _appId, groups: groups});\n\t\t\t\t\t});\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn api.get(OC.generateUrl('apps/files'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tOC.dialogs.info(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tt('settings','App update'),\n\t\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload();\n\t\t\t\t\t\t\t\t}, 5000);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app can not be enabled because it makes the server unstable')\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('setError', {appId: apps, error: t('settings', 'Error while enabling app')});\n\t\t\t\t\tcontext.commit('stopLoading', apps);\n\t\t\t\t\tcontext.commit('stopLoading', 'install');\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }));\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps;\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId;\n\t\t} else {\n\t\t\tapps = [appId];\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps);\n\t\t\treturn api.post(OC.generateUrl(`settings/apps/disable`), {appIds: apps})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps);\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId);\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps);\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }));\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId);\n\t\t\treturn api.get(OC.generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId);\n\t\t\t\t\tcontext.commit('uninstallApp', appId);\n\t\t\t\t\treturn true;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId);\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }));\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId);\n\t\t\tcontext.commit('startLoading', 'install');\n\t\t\treturn api.get(OC.generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install');\n\t\t\t\t\tcontext.commit('stopLoading', appId);\n\t\t\t\t\tcontext.commit('updateApp', appId);\n\t\t\t\t\treturn true;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId);\n\t\t\t\t\tcontext.commit('stopLoading', 'install');\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }));\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list');\n\t\treturn api.get(OC.generateUrl(`settings/apps/list`))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps);\n\t\t\t\tcontext.commit('stopLoading', 'list');\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetCategories(context) {\n\t\tcontext.commit('startLoading', 'categories');\n\t\treturn api.get(OC.generateUrl('settings/apps/categories'))\n\t\t\t.then((response) => {\n\t\t\t\tif (response.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', response.data);\n\t\t\t\t\tcontext.commit('stopLoading', 'categories');\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n};\n\nexport default { state, mutations, getters, actions };","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api';\n\nconst state = {\n\tserverData: {}\n};\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data;\n\t}\n};\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData;\n\t}\n};\nconst actions = {};\n\nexport default {state, mutations, getters, actions};\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api';\n\nconst state = {};\nconst mutations = {};\nconst getters = {};\nconst actions = {\n\t/**\n * Set application config in database\n * \n\t * @param {Object} context\n * @param {Object} options\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @returns{Promise}\n\t */\n\tsetAppConfig(context, {app, key, value}) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`apps/provisioning_api/api/v1/config/apps/${app}/${key}`, 2), {value: value})\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }));;\n }\n};\n\nexport default {state, mutations, getters, actions};\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport users from './users';\nimport apps from './apps';\nimport settings from './settings';\nimport oc from './oc';\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production';\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tlet message = error.error.response.data.ocs.meta.message;\n\t\t\tOC.Notification.showHtml(t('settings','An error occured during the request. Unable to proceed.')+'<br>'+message, {timeout: 7});\n\t\t} catch(e) {\n\t\t\tOC.Notification.showTemporary(t('settings','An error occured during the request. Unable to proceed.'));\n\t\t}\n\t\tconsole.log(state, error);\n\t}\n};\n\nexport default new Vuex.Store({\n\tmodules: {\n\t\tusers,\n\t\tapps,\n\t\tsettings,\n\t\toc\n\t},\n\tstrict: debug,\n\n\tmutations\n});\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n import Vue from 'vue';\nimport { sync } from 'vuex-router-sync';\nimport App from './App.vue';\nimport router from './router';\nimport store from './store';\nrequire(\"babel-polyfill\");\n\n\nsync(store, router);\n\n// bind to window\nVue.prototype.t = t;\nVue.prototype.OC = OC;\nVue.prototype.oc_userconfig = oc_userconfig;\nVue.prototype.oc_current_user = oc_current_user;\n\nconst app = new Vue({\n\trouter,\n\tstore,\n\trender: h => h(App)\n}).$mount('#content');\n\nexport { app, router, store };","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search) {\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp) {\n 'use strict';\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});\n","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split) {\n 'use strict';\n var isRegExp = require('./_is-regexp');\n var _split = $split;\n var $push = [].push;\n var $SPLIT = 'split';\n var LENGTH = 'length';\n var LAST_INDEX = 'lastIndex';\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while (match = separatorCopy.exec(string)) {\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n // eslint-disable-next-line no-loop-func\n if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () {\n for (i = 1; i < arguments[LENGTH] - 2; i++) if (arguments[i] === undefined) match[i] = undefined;\n });\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n $split = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit) {\n var O = defined(this);\n var fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});\n","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace) {\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue) {\n 'use strict';\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});\n","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match) {\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp) {\n 'use strict';\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var final = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < final) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/vue/dist/vue.esm.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/vue-multiselect/dist/vue-multiselect.min.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/vue-localstorage/dist/vue-local-storage.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/vue-click-outside/index.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/core-js/modules/_string-pad.js","webpack:///./node_modules/core-js/modules/_object-to-array.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js","webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///./node_modules/vuex-router-sync/index.js","webpack:///./src/App.vue?73cf","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./src/views/Users.vue?5fd9","webpack:///./src/components/appNavigation.vue?b1bf","webpack:///./src/components/appNavigation/navigationItem.vue?f060","webpack:///./src/components/popoverMenu.vue?bea1","webpack:///./src/components/popoverMenu/popoverItem.vue?53f1","webpack:///src/components/popoverMenu/popoverItem.vue","webpack:///./src/components/popoverMenu/popoverItem.vue","webpack:///./src/components/popoverMenu.vue","webpack:///src/components/popoverMenu.vue","webpack:///./src/components/appNavigation/navigationItem.vue","webpack:///src/components/appNavigation/navigationItem.vue","webpack:///./src/components/appNavigation.vue","webpack:///src/components/appNavigation.vue","webpack:///./src/components/userList.vue?90a1","webpack:///./src/components/userList/userRow.vue?3f6b","webpack:///src/components/userList/userRow.vue","webpack:///./src/components/userList/userRow.vue","webpack:///./src/components/userList.vue","webpack:///src/components/userList.vue","webpack:///./src/store/api.js","webpack:///src/views/Users.vue","webpack:///./src/views/Users.vue","webpack:///./src/views/Apps.vue?c382","webpack:///./src/components/appList.vue?ef0d","webpack:///./src/components/appList/appItem.vue?0546","webpack:///./src/components/appList/appScore.vue?216c","webpack:///src/components/appList/appScore.vue","webpack:///./src/components/appList/appScore.vue","webpack:///./src/components/appManagement.vue","webpack:///src/components/appManagement.vue","webpack:///./src/components/svgFilterMixin.vue","webpack:///src/components/svgFilterMixin.vue","webpack:///./src/components/appList/appItem.vue","webpack:///src/components/appList/appItem.vue","webpack:///./src/components/prefixMixin.vue","webpack:///src/components/prefixMixin.vue","webpack:///./src/components/appList.vue","webpack:///src/components/appList.vue","webpack:///./src/components/appDetails.vue?2047","webpack:///src/components/appDetails.vue","webpack:///./src/components/appDetails.vue","webpack:///src/views/Apps.vue","webpack:///./src/views/Apps.vue","webpack:///./src/router.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./src/store/users.js","webpack:///./src/store/apps.js","webpack:///./src/store/settings.js","webpack:///./src/store/oc.js","webpack:///./src/store/index.js","webpack:///./src/main.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/modules/web.immediate.js","webpack:///./node_modules/core-js/modules/web.timers.js","webpack:///./node_modules/core-js/modules/es7.string.pad-end.js","webpack:///./node_modules/core-js/modules/es7.string.pad-start.js","webpack:///./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/modules/es7.object.entries.js","webpack:///./node_modules/core-js/modules/es7.object.values.js","webpack:///./node_modules/core-js/modules/es7.array.includes.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/helpers/btoa.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/timers-browserify/main.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","Function","U","W","R","it","setImmediate","emptyObject","freeze","isUndef","v","isDef","isTrue","isPrimitive","isObject","obj","_toString","toString","isPlainObject","isRegExp","isValidArrayIndex","val","parseFloat","String","Math","floor","isFinite","JSON","stringify","toNumber","isNaN","makeMap","str","expectsLowerCase","map","list","split","length","toLowerCase","isBuiltInTag","isReservedAttribute","remove","arr","item","index","indexOf","splice","hasOwn","cached","fn","cache","camelizeRE","camelize","replace","_","toUpperCase","capitalize","charAt","slice","hyphenateRE","hyphenate","boundFn","a","arguments","apply","_length","toArray","start","ret","Array","extend","to","_from","toObject","res","noop","b","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArray","isArrayB","every","e","keysA","keys","keysB","looseIndexOf","once","called","this","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","def","writable","configurable","bailRE","_isServer","hasProto","inBrowser","window","inWeex","WXEnvironment","platform","weexPlatform","UA","navigator","userAgent","isIE","test","isIE9","isEdge","isIOS","nativeWatch","watch","supportsPassive","opts","addEventListener","isServerRendering","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","set","has","add","clear","warn","uid","Dep","id","subs","addSub","sub","push","removeSub","depend","addDep","notify","update","targetStack","pushTarget","_target","popTarget","pop","VNode","tag","data","children","text","elm","context","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","componentInstance","parent","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","forEach","method","original","args","len","inserted","result","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","src","__proto__","observe","asRootData","isExtensible","_isVue","defineReactive","customSetter","shallow","getOwnPropertyDescriptor","setter","childOb","dependArray","newVal","max","del","items","strats","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","concat","mergeAssets","hook","key$1","props","methods","inject","computed","provide","defaultStrat","mergeOptions","options","normalizeProps","normalized","normalizeInject","dirs","directives","normalizeDirectives","extendsFrom","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","prop","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","default","$options","_props","getType","getPropDefaultValue","prevShouldObserve","match","isSameType","expectedTypes","handleError","err","info","cur","$parent","hooks","errorCaptured","globalHandleError","logError","console","error","microTimerFunc","macroTimerFunc","callbacks","pending","flushCallbacks","copies","useMacroTask","MessageChannel","setTimeout","channel","port","port2","port1","onmessage","postMessage","Promise","resolve","then","nextTick","cb","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","capture","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","old","event","params","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","checkProp","hash","altKey","preserve","normalizeChildren","normalizeArrayChildren","nestedIndex","lastIndex","last","isTextNode","shift","_isVList","ensureCtor","comp","base","getFirstComponentChild","$once","$on","remove$1","$off","updateComponentListeners","listeners","oldListeners","resolveSlots","slots","attrs","slot","name$1","isWhitespace","resolveScopedSlots","activeInstance","isInInactiveTree","_inactive","activateChildComponent","direct","_directInactive","$children","callHook","handlers","j","_hasHookEvent","$emit","queue","activatedChildren","waiting","flushing","flushSchedulerQueue","watcher","sort","run","activatedQueue","updatedQueue","callActivatedHooks","_watcher","_isMounted","callUpdatedHooks","emit","uid$1","Watcher","expOrFn","isRenderWatcher","_watchers","deep","user","lazy","sync","active","dirty","deps","newDeps","depIds","newDepIds","expression","path","segments","parsePath","cleanupDeps","tmp","queueWatcher","oldValue","evaluate","teardown","_isBeingDestroyed","sharedPropertyDefinition","proxy","sourceKey","initState","propsOptions","_propKeys","loop","initProps","initMethods","_data","getData","charCodeAt","initData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","initComputed","handler","createWatcher","initWatch","shouldCache","createComputedGetter","$watch","resolveInject","filter","provideKey","_provided","provideDefault","renderList","render","renderSlot","fallback","bindObject","nodes","scopedSlotFn","$scopedSlots","slotNodes","$slots","_rendered","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","domProps","$event","renderStatic","isInFor","_staticTrees","tree","markStatic","staticRenderFns","_renderProxy","markOnce","markStaticNode","bindObjectListeners","existing","ours","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","FunctionalRenderContext","contextVm","_original","isCompiled","_compiled","needNormalization","injections","scopedSlots","_scopeId","_c","createElement","cloneAndMarkFunctionalResult","clone","mergeProps","componentVNodeHooks","init","hydrating","parentElm","refElm","_isDestroyed","keepAlive","mountedNode","prepatch","_isComponent","_parentVnode","_parentElm","_refElm","inlineTemplate","createComponentInstanceForVnode","$mount","oldVnode","parentVnode","renderChildren","hasChildren","_renderChildren","$vnode","_vnode","$attrs","$listeners","propKeys","_parentListeners","$forceUpdate","updateChildComponent","insert","destroy","deactivateChildComponent","$destroy","hooksToMerge","createComponent","baseCtor","_base","cid","factory","errorComp","resolved","loading","loadingComp","contexts","forceRender","reject","reason","component","delay","timeout","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","callback","transformModel","extractPropsFromVNodeData","functional","renderContext","vnodes","createFunctionalComponent","nativeOn","abstract","installComponentHooks","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","is","simpleNormalizeChildren","applyNS","force","style","class","registerDeepBindings","_createElement","uid$3","super","superOptions","modifiedOptions","modified","latest","extended","extendOptions","sealed","sealedOptions","dedupe","resolveModifiedOptions","components","Vue","_init","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","constructor","Comp","initProps$1","initComputed$1","mixin","use","getComponentName","matches","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","current","cached$$1","_uid","vnodeComponentOptions","_componentTag","initInternalComponent","_self","$root","$refs","initLifecycle","_events","initEvents","parentData","initRender","initInjections","initProvide","el","initMixin","dataDef","propsDef","$set","$delete","immediate","stateMixin","hookRE","cbs","i$1","eventsMixin","_update","prevEl","$el","prevVnode","prevActiveInstance","__patch__","__vue__","lifecycleMixin","$nextTick","_render","ref","renderMixin","patternTypes","RegExp","builtInComponents","KeepAlive","include","exclude","Number","created","destroyed","mounted","this$1","parseInt","configDef","util","delete","plugin","installedPlugins","_installedPlugins","unshift","install","initUse","initMixin$1","definition","initAssetRegisters","initGlobalAPI","ssrContext","version","acceptValue","attr","isEnumeratedAttr","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","parentNode","childNode","mergeClassData","staticClass","dynamicClass","stringifyClass","renderClass","stringified","stringifyArray","stringifyObject","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","isTextInputType","query","selected","document","querySelector","nodeOps","tagName","multiple","setAttribute","createElementNS","namespace","createTextNode","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","setStyleScope","scopeId","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","typeA","typeB","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","join","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","removeAttribute","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","chr","index$1","expressionPos","expressionEndPos","klass","validDivisionCharRE","parseFilters","prev","filters","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","trim","pushFilter","wrapFilter","baseWarn","msg","pluckModuleFunction","addProp","plain","addAttr","addRawAttr","attrsMap","attrsList","addDirective","arg","addHandler","important","events","right","middle","native","nativeEvents","newHandler","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","genComponentModel","number","valueExpression","assignment","genAssignmentCode","lastIndexOf","eof","isStringStart","next","parseString","parseBracket","parseModel","inBracket","stringQuote","target$1","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","add$1","_withTask","onceHandler","remove$2","createOnceHandler","updateDOMListeners","change","normalizeEvents","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","notInFocus","activeElement","isNotInFocusAndDirty","_vModifiers","isDirtyWithModifiers","parseStyleText","cssText","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","checkChild","styleData","getStyle","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","end","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","rm","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","patch","backend","removeNode","createElm","insertedVnodeQueue","nested","ownerArray","isReactivated","initComponent","innerNode","activate","reactivateComponent","setScope","createChildren","invokeCreateHooks","pendingInsert","isPatchable","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","childElm","createRmCb","findIdxInOld","oldCh","patchVnode","removeOnly","hydrate","newCh","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","updateChildren","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","pre","hasChildNodes","innerHTML","childrenMatch","firstChild","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","parentElm$1","patchable","i$2","createPatchFunction","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","createEvent","initEvent","dispatchEvent","locateNode","platformDirectives","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","h","rawChild","Transition","hasParentTransition","_leaving","oldRawChild","oldChild","isSameChild","delayedLeave","moveClass","callPendingCbs","_moveCb","recordPosition","newPos","getBoundingClientRect","applyTranslation","oldPos","pos","dx","left","dy","top","moved","transform","WebkitTransform","transitionDuration","platformComponents","TransitionGroup","prevChildren","rawChildren","transitionData","kept","removed","c$1","beforeUpdate","updated","hasMove","_reflow","body","offsetHeight","propertyName","_hasMove","cloneNode","HTMLUnknownElement","HTMLElement","mountComponent","defaultTagRE","regexEscapeRE","buildRegex","delimiters","open","close","klass$1","staticKeys","transformNode","classBinding","genData","decoder","style$1","styleBinding","he","html","isUnaryTag","canBeLeftOpenTag","isNonPhrasingTag","attribute","ncname","qnameCapture","startTagOpen","startTagClose","endTag","doctype","comment","conditionalComment","IS_REGEX_CAPTURING_BROKEN","g","isPlainTextElement","reCache","decodingMap","<",">",""","&"," ","	","encodedAttr","encodedAttrWithNewLines","isIgnoreNewlineTag","shouldIgnoreFirstNewline","decodeAttr","shouldDecodeNewlines","re","warn$2","transforms","preTransforms","postTransforms","platformIsPreTag","platformMustUseProp","platformGetTagNamespace","onRE","dirRE","forAliasRE","forIteratorRE","stripParensRE","argRE","bindRE","modifierRE","decodeHTMLCached","createASTElement","makeAttrsMap","parse","template","isPreTag","root","currentParent","stack","preserveWhitespace","inPre","closeElement","element","lastTag","expectHTML","isUnaryTag$$1","canBeLeftOpenTag$$1","endTagLength","stackedTag","reStackedTag","rest$1","all","chars","parseEndTag","textEnd","commentEnd","shouldKeepComment","substring","advance","conditionalEnd","doctypeMatch","endTagMatch","curIndex","startTagMatch","parseStartTag","handleStartTag","rest","unarySlash","unary","shouldDecodeNewlinesForHref","lowerCasedTag","lowerCasedTagName","parseHTML","comments","ieNSBug","ieNSPrefix","guardIESVGBug","forbidden","checkRootConstraints","processPre","processRawAttrs","processed","processFor","if","addIfCondition","block","else","elseif","processIf","processOnce","processElement","findPrevElement","processIfConditions","slotScope","slotTarget","lastNode","tagRE","tokenValue","tokens","rawTokens","exec","@binding","parseText","for","checkInFor","processRef","slotName","processSlot","processComponent","isProp","hasBindings","parseModifiers","camel","argMatch","processAttrs","inMatch","alias","iteratorMatch","iterator1","iterator2","parseFor","condition","ifConditions","cloneASTElement","modules$1","preTransformNode","typeBinding","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","branch1","branch2","isStaticKey","isPlatformReservedTag","baseOptions","_warn","code","genSelect","valueBinding","trueValueBinding","falseValueBinding","genCheckboxModel","genRadioModel","needCompositionGuard","genDefaultModel","reduce","genStaticKeys","genStaticKeysCached","optimize","markStatic$1","static","isDirectChildOfTemplateFor","l$1","markStaticRoots","staticInFor","staticRoot","fnExpRE","simplePathRE","esc","tab","space","up","down","keyNames","genGuard","modifierCode","stop","prevent","self","ctrl","alt","meta","genHandlers","genHandler","isMethodPath","isFunctionExpression","genModifierCode","keyModifier","genFilterCode","genKeyFilter","keyVal","keyCode","keyName","baseDirectives","wrapListeners","wrapData","cloak","CodegenState","dataGenFns","maybeComponent","onceId","generate","ast","state","genElement","staticProcessed","genStatic","onceProcessed","genOnce","forProcessed","altGen","altHelper","genFor","ifProcessed","genIf","genChildren","bind$$1","genSlot","componentName","genData$2","genComponent","altEmpty","genIfConditions","conditions","genTernaryExp","needRuntime","hasRuntime","gen","genDirectives","genProps","genScopedSlot","inlineRenderFns","genInlineTemplate","genForScopedSlot","checkSkip","altGenElement","altGenNode","el$1","needsNormalization","getNormalizationType","genNode","transformSpecialNewlines","createFunction","errors","baseCompile","div","compileToFunctions","compile","finalOptions","tips","tip","compiled","fnGenErrors","createCompileToFunctionFn","getShouldDecode","href","idToTemplate","mount","documentElement","outerHTML","container","getOuterHTML","__webpack_exports__","__g","TypeError","store","USE_SYMBOL","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","toInteger","min","u","y","__e","random","virtual","propertyIsEnumerable","ceil","valueOf","x","w","$isLabel","$groupLabel","search","isOpen","prefferedOpenDirection","optimizedHeight","maxHeight","internalSearch","required","trackBy","label","searchable","clearOnSelect","hideSelected","allowEmpty","resetAfter","closeOnSelect","customLabel","taggable","tagPlaceholder","tagPosition","optionsLimit","groupValues","groupLabel","groupSelect","blockKeys","preserveSearch","preselectFirst","internalValue","select","filteredOptions","filterAndFlat","isSelected","isExistingOption","isTag","valueKeys","optionKeys","flatAndStrip","currentOptionLabel","getOptionLabel","updateSearch","selectGroup","disabled","$isDisabled","pointerDirty","deactivate","removeElement","find","wholeGroupSelected","removeLastElement","adjustPosition","pointer","focus","blur","toggle","innerHeight","bottom","openDirection","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","optionHighlight","multiselect__option--highlight","multiselect__option--selected","groupHighlight","multiselect__option--group-selected","addPointerElement","pointerReset","pointerForward","scrollTop","pointerBackward","pointerSet","L","k","E","V","entries","values","contentWindow","write","getOwnPropertySymbols","inspectSource","selectLabel","selectGroupLabel","selectedLabel","deselectLabel","deselectGroupLabel","showLabels","limit","limitText","showNoResults","tabindex","isSingleLabelVisible","singleValue","visibleValues","isPlaceholderVisible","deselectLabelText","deselectGroupLabelText","selectLabelText","selectGroupLabelText","selectedLabelText","inputStyle","width","position","padding","contentStyle","isAbove","showSearchInput","hasSingleSelectedSlot","visibleSingleValue","done","preventExtensions","KEY","NEED","fastKey","getWeak","onFreeze","getPrototypeOf","Arguments","C","T","A","$","D","M","N","H","QObject","I","findChild","K","z","iterator","J","X","Y","Q","Z","tt","et","keyFor","useSetter","useSimple","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","beforeCreate","_injectStyles","esModule","multiselect--active","multiselect--disabled","multiselect--above","keydown","currentTarget","preventDefault","stopPropagation","keyup","mousedown","aria-hidden","autocomplete","input","data-select","data-selected","data-deselect","click","mouseenter","isBuffer","isFunction","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","product","merge","assignValue","thisArg","createDesc","fails","IObject","defined","pIE","toIObject","gOPD","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toLength","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","$ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","arrayEntries","arrayLastIndexOf","arrayReduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","Uint16Array","FORCED_SET","toOffset","BYTES","offset","validate","speciesFromList","fromList","addGetter","internal","_d","$from","step","aLen","mapfn","mapping","iterFn","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","callbackfn","fill","predicate","findIndex","searchElement","includes","separator","reverse","comparefn","subarray","begin","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","arrayLike","$iterators","isTAIndex","$getDesc","$setDesc","desc","$TypedArrayPrototype$","wrapper","CLAMPED","NAME","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","that","round","$offset","$length","byteLength","$len","iter","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","aFunction","META","setDesc","FREEZE","setMeta","SRC","$toString","TPL","safe","$keys","enumBugKeys","px","bitmap","TYPE","UNSCOPABLES","IE_PROTO","ObjectProto","stat","Constructor","forbiddenField","process","VueLocalStorage","_properties","_namespace","_isSupported","_getLsKey","lsKey","_lsSet","rawValue","localStorage","setItem","_lsGet","defaultValue","defaultType","_process","removeItem","addProperty","array","vueLocalStorage","server","SERVER_BUILD","isSupported","existingProp","log","asc","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","dPs","Empty","createDict","iframeDocument","iframe","lt","Properties","hiddenKeys","SYMBOL","strfn","rxfn","string","forOf","setToStringTag","inheritIfRequired","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","iterable","getConstructor","setStrong","BREAK","RETURN","SAFE_CLOSING","riter","skipClosing","DESCRIPTORS","SPECIES","eval","isServer","vNode","$isServer","elements","composedPath","contains","popupItem","isPopup","__vueClickOutside__","$expm1","expm1","sign","$defineProperty","MATCH","searchString","defer","invoke","cel","setTask","clearTask","clearImmediate","Dispatch","counter","listener","now","importScripts","check","setPrototypeOf","buggy","addToUnscopables","iterated","kind","getIteratorMethod","cof","ARG","tryGet","callee","endPos","shared","IS_INCLUDES","fromIndex","Typed","TypedArrayConstructors","utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","setContentTypeIfUnset","headers","adapter","defaults","XMLHttpRequest","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","Accept","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","title","browser","argv","versions","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","repeat","maxLength","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","getKeys","isEnum","isEntries","log1p","count","Infinity","windowNames","getWindowNames","promise","$$resolve","$$reject","gOPS","getSymbols","un","$has","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","entry","ufstore","$assign","assign","$iterDefine","SIZE","getEntry","inc","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","names","PROTOTYPE","WRONG_INDEX","BaseBuffer","abs","pow","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","intIndex","pack","conversion","ArrayBufferProto","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","Cancel","message","__CANCEL__","enhanceError","request","response","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","requestData","requestHeaders","loadEvent","xDomain","XDomainRequest","url","onprogress","ontimeout","auth","username","password","Authorization","paramsSerializer","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseType","responseText","statusText","onerror","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","cancel","abort","send","unescape","encodeURIComponent","sources","sourceRoot","parts","media","sourceMap","styleSheet","DEBUG","head","getElementsByTagName","locals","STATE_CHANGER","INFINITE_EVENT","INFINITE_LOOP","scrollParent","scrollHandler","isLoading","isComplete","isFirstLoad","debounceTimer","debounceDuration","infiniteLoopChecked","infiniteLoopTimer","continuousCallTimes","Spinner","isNoResults","isNoMore","distance","onInfinite","spinner","direction","forceUseInfiniteWrapper","getScrollParent","Event","attemptLoad","stateChanger","loaded","complete","reset","deactivated","activated","getCurrentDistance","offsetWidth","pageYOffset","overflowY","BUBBLES","CIRCLES","SPIRAL","WAVEDOTS","spinnerView","isBrowser","longerTimeoutBrowsers","timeoutDuration","debounce","scheduled","functionToCheck","getStyleComputedProperty","getParentNode","nodeName","host","ownerDocument","_getStyleComputedProp","overflow","overflowX","isIE11","MSInputMethodContext","documentMode","isIE10","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","scrollingElement","getBordersSize","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","height","classCallCheck","createClass","descriptor","protoProps","staticProps","_extends","getClientRect","offsets","rect","scrollLeft","sizes","clientWidth","clientHeight","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","reference","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","_ref","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","getOuterSizes","marginBottom","marginRight","getOppositePlacement","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","ends","enabled","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","prefix","toCheck","getWindow","defaultView","setupEventListeners","updateBound","scrollElement","attachToScrollParents","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","isNumeric","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","transformProp","popperStyles","priority","primary","escapeWithReference","secondary","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","getOppositeVariation","inner","subtractLength","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","onLoad","modifierOptions","Popper","_this","isDestroyed","isCreated","jquery","enableEventListeners","Utils","PopperUtils","SVGAnimatedString","convertToArray","addClasses","classes","newClasses","className","baseVal","newClass","SVGElement","removeClasses","_typeof","classCallCheck$1","createClass$1","_extends$1","DEFAULT_OPTIONS","openTooltips","Tooltip","_initialiseProps","_isOpen","_classes","content","_tooltipNode","_setContent","classesUpdated","defaultClass","setClasses","getOptions","needPopperUpdate","needRestart","dispose","popperInstance","_isDisposed","_enableDocumentTouch","_setEventListeners","tooltipGenerator","tooltipNode","substr","autoHide","asyncContent","_applyContent","_this2","allowHtml","rootNode","titleNode","innerSelector","loadingClass","loadingContent","asyncResult","catch","innerText","_disposeTimer","updateClasses","_ensureShown","_this3","_create","_findContainer","_append","popperOptions","arrowSelector","_this4","_noLongerOpen","disposeTime","disposeTimeout","_this5","func","_hide","_this6","directEvents","oppositeEvents","hideOnTargetClick","evt","usedByTooltip","_scheduleShow","_scheduleHide","_this7","computedDelay","_scheduleTimer","_show","_this8","_setTooltipNodeEvent","_this9","_dispose","relatedreference","toElement","relatedTarget","evt2","relatedreference2","_onDocumentTouch","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultHtml","defaultTemplate","defaultArrowSelector","defaultInnerSelector","defaultDelay","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","popover","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultAutoHide","defaultHandleResize","typeofOffset","getPlacement","getContent","destroyTooltip","_tooltip","_tooltipOldShow","_tooltipTargetClasses","tooltip","setContent","setOptions","_vueEl","targetClasses","createTooltip","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","screenY","screenX","vclosepopover","isIE$1","initCompat","ua","msie","rv","edge","getInternetExplorerVersion","ResizeObserver","_h","addResizeHandlers","_resizeObject","contentDocument","_w","removeResizeHandlers","onload","beforeDestroy","plugin$2","GlobalVue$1","getDefault","MSStream","openPopovers","Element","Popover","_vm","cssClass","aria-describedby","popoverId","popoverBaseClass","popoverClass","visibility","popoverWrapperClass","popoverInnerClass","handleResize","$_handleResize","popoverArrowClass","openGroup","oldVal","popoverNode","$_findContainer","$_removeEventListeners","$_addEventListeners","$_updatePopper","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","_ref$force","skipDelay","$_scheduleShow","$_beingShowed","$_scheduleHide","$_show","$_disposeTimer","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref3","$_restartPopper","$_handleGlobalClose","handleGlobalClose","commonjsGlobal","lodash_merge","LARGE_ARRAY_SIZE","HASH_UNDEFINED","HOT_COUNT","HOT_SPAN","MAX_SAFE_INTEGER","argsTag","asyncTag","funcTag","genTag","nullTag","objectTag","proxyTag","undefinedTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","freeProcess","nodeUtil","nodeIsTypedArray","isTypedArray","safeGet","funcProto","objectProto","coreJsData","funcToString","maskSrcKey","nativeObjectToString","objectCtorString","reIsNative","Buffer","allocUnsafe","getPrototype","objectCreate","symToStringTag","getNative","nativeIsBuffer","nativeMax","nativeNow","Date","Map","nativeCreate","baseCreate","Hash","ListCache","MapCache","Stack","__data__","size","arrayLikeKeys","inherited","isArr","isArg","isArguments","isBuff","isType","skipIndexes","iteratee","baseTimes","isIndex","assignMergeValue","eq","baseAssignValue","objValue","assocIndexOf","getMapData","pairs","fromRight","baseFor","keysFunc","baseGetTag","isOwn","unmasked","getRawTag","objectToString","baseIsArguments","isObjectLike","baseIsNative","toSource","baseKeysIn","nativeKeysIn","isProto","isPrototype","baseMerge","srcIndex","customizer","srcValue","mergeFunc","stacked","newValue","isCommon","isTyped","isArrayLike","copyArray","isDeep","copy","cloneBuffer","typedArray","arrayBuffer","isNew","copyObject","keysIn","toPlainObject","initCloneObject","baseMergeDeep","baseRest","setToString","otherArgs","overRest","lastCalled","stamp","remaining","shortOut","other","isLength","baseUnary","assigner","guard","isIterateeCall","installed","GlobalVue","cloneRoute","fullPath","router","moduleName","registerModule","namespaced","currentRoute","mutations","ROUTE_CHANGED","currentPath","isTimeTraveling","storeUnwatch","route","afterEachUnHook","afterEach","commit","unregisterModule","Appvue_type_template_id_7ba5bd90_render","normalizeComponent","scriptExports","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","shadowRoot","originalRender","_withStripped","beforeMount","getElementById","$store","dataset","__file","App","isError","View","routerView","$route","_routerViewCache","depth","inactive","_routerRoot","routerViewDepth","registerRouteInstance","instances","propsToPass","resolveProps","encodeReserveRE","encodeReserveReplacer","commaRE","encode","decode","decodeURIComponent","parseQuery","param","stringifyQuery","val2","trailingSlashRE","createRoute","record","location","redirectedFrom","stringifyQuery$$1","getFullPath","formatMatch","START","_stringifyQuery","isSameRoute","isObjectEqual","aKeys","bKeys","aVal","bVal","_Vue","toTypes","eventTypes","Link","exact","append","exactActiveClass","$router","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","queryIncludes","isIncludedRoute","guardEvent","findAnchor","metaKey","ctrlKey","shiftKey","defaultPrevented","button","registerInstance","callVal","_router","history","_route","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","resolvePath","relative","firstChar","segment","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","tokensToFunction","tokensToFunction_1","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","escaped","group","asterisk","partial","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","pretty","token","attachKeys","flags","sensitive","strict","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","regexpCompileCache","fillParams","routeMsg","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","childMatchAs","aliases","aliasRoute","normalizeLocation","_normalized","vue_router_esm_assign","rawPath","parsedPath","hashIndex","queryIndex","basePath","extraQuery","_parseQuery","parsedQuery","resolveQuery","createMatcher","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedMatch","aliasedRecord","addRoutes","positionStore","setupScroll","replaceState","getStateKey","saveScrollPosition","_key","handleScroll","isPop","app","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","pageXOffset","isValidPosition","normalizePosition","selector","docRect","elRect","getElementPosition","scrollTo","supportsPushState","Time","genKey","toFixed","pushState","runQueue","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","flatten","History","baseEl","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","extractGuards","records","guards","extractGuard","bindGuard","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","resolveQueue","extractLeaveGuards","beforeHooks","extractUpdateHooks","postEnterCbs","isValid","poll","bindEnterGuard","extractEnterGuards","resolveHooks","afterHooks","HTML5History","History$$1","expectScroll","initLocation","getLocation","go","fromRoute","getCurrentLocation","pathname","HashHistory","checkFallback","ensureSlash","setupListeners","supportsScroll","getHash","replaceHash","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","registerHook","setupHashListener","beforeEach","beforeResolve","back","forward","getMatchedComponents","createHref","normalizedTo","vue_router_esm","Usersvue_type_template_id_68be103e_render","menu","defaultQuota","quotaOptions","tag-placeholder","track-by","validateQuota","setDefaultQuota","showLanguages","checked","$$a","$$el","$$c","$$i","showLastLogin","showUserBackend","showStoragePath","users","showConfig","selectedGroup","appNavigationvue_type_template_id_142c1cb5_render","icon-loading","new","icon","action","data-apps-slide-toggle","navigationItemvue_type_template_id_2cb61dde_render","icon-loading-small","opened","collapsible","navElement","bullet","backgroundColor","toggleCollapse","iconUrl","isInteger","actions","hideMenu","showMenu","openedMenu","undo","edit","cancelEdit","popoverMenuvue_type_template_id_04ea21c4_render","popoverItemvue_type_template_id_4c6af9e6_render","longtext","popoverItem_component","popoverMenu_component","popoverItem","popoverMenu","navigationItem_component","ClickOutside","vue_click_outside_default","vue_esm","appNavigation_component","navigationItem","appNavigation","userListvue_type_template_id_40745299_render","&scroll","onScroll","sticky","scrolled","showNewUserForm","subAdminsGroups","settings","isAdmin","submit","createUser","newUser","autocapitalize","autocorrect","displayName","mailAddress","minlength","minPasswordLength","close-on-select","$$v","quota","languages","group-values","group-label","language","resetForm","filteredUsers","infinite","infiniteHandler","userRowvue_type_template_id_d19586ce_render","disable","generateAvatar","srcset","updateDisplayName","rand","spellcheck","displayname","canChangePassword","updatePassword","updateEmail","email","userGroups","createGroup","addUserGroup","removeUserGroup","formatGroupsTitle","auto","subadmins","userSubAdminsGroups","addUserSubAdmin","removeUserSubAdmin","userQuota","setUserQuota","usedQuota","userLanguage","setUserLanguage","storageLocation","lastLogin","OC","Util","formatDate","relativeModifiedDate","currentUser","toggleMenu","userActions","v_tooltip_esm","userRow_component","Multiselect","vue_multiselect_min_default","deleteUser","enableDisableUser","subadmin","used","humanQuota","humanFileSize","getters","getPasswordPolicyMinLength","userLang","lang","generateUrl","oc_userconfig","avatar","userid","dispatch","gid","getGroups","_this10","_this11","_this12","_this13","_this14","validQuota","computerFileSize","_this15","userRow","userList_component","InfiniteLoading","vue_infinite_loading_default","unlimitedQuota","Notification","showTemporary","defaultLanguage","setNewUserDefaultGroup","getServerData","disabledUsers","infiniteLoading","oc_current_user","localeCompare","getSubadminGroups","quotaPreset","acc","usersOffset","getUsersOffset","usersLimit","getUsersLimit","commonlanguages","$state","currentGroup","userList","tokenHeaders","requesttoken","sanitize","store_api","passwordTimeout","promiseTimeout","getElementsByClassName","PasswordConfirmation","requirePasswordConfirmation","waitForpassword","requiresPasswordConfirmation","axios_default","post","put","vue_local_storage_default","Users_component","orderBy","sortGroups","userCount","selectedQuota","toggleNewUserMenu","newusername","getLocalstorage","localConfig","$localStorage","setLocalStorage","removeGroup","groupid","dialogs","confirm","success","Usersvue_type_script_lang_js_typeof","getUsers","getUserCount","adminGroup","usercount","disabledGroupIndex","disabledGroup","everyoneGroup","Users","Appsvue_type_template_id_33a216a8_render","with-app-sidebar","currentApp","loadingList","category","appListvue_type_template_id_a1862e02_render","useBundleView","useListView","useAppStoreView","bundles","bundle","bundleApps","bundleToggleText","toggleBundle","list-view","searchApps","appItemvue_type_template_id_1c68d544_render","showAppDetails","listView","preview","screenshot","viewBox","filterId","in","preserveAspectRatio","filterUrl","xlink:href","summary","appstoreData","releases","level","score","installing","canUnInstall","enableButtonTooltip","enableButtonText","canInstall","enable","appScorevue_type_template_id_71d71231_render","scoreImage","appScore_component","imageName","imagePath","appScore","appManagement_component","groupCheckedAppsData","appGroups","needsDownload","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","addGroupLimitation","removeGroupLimitation","currentGroups","Settings","Apps","rebuildNavigation","appManagement_render","appManagement_staticRenderFns","appManagement","svgFilterMixin_component","getSeconds","getMilliseconds","svgFilterMixin_render","svgFilterMixin_staticRenderFns","svgFilterMixin","appItem_component","$route.params.id","AppScore","_prefix","appItem","prefixMixin_component","prefixMixin_render","prefixMixin_staticRenderFns","prefixMixin","appList_component","getAllApps","naturalSortCompare","appstore","bundleId","_app","allBundlesEnabled","disableBundle","enableBundle","appList","appDetailsvue_type_template_id_273c8e71_render","hideAppDetails","previewAsIcon","hasRating","ratingOverall","author","licence","options-limit","appstoreUrl","rel","website","bugs","documentation","admin","developer","missingMinOwnCloudVersion","missingMaxOwnCloudVersion","missingDependencies","renderMarkdown","appDetails_component","ratingNumOverall","@value","renderer","marked","Renderer","link","prot","image","blockquote","quote","DOMPurify","description","gfm","highlight","tables","breaks","pedantic","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","appDetails","Apps_component","AppDetails","setSearch","updateCount","categories","getCategories","getUpdateCount","ident","defaultCategories","appstoreEnabled","activeGroup","developerDocumentation","applyMixin","vuexInit","devtoolHook","forEachValue","Module","rawModule","runtime","_children","_rawModule","rawState","prototypeAccessors$1","addChild","getChild","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","register","getNamespace","targetModule","newModule","rawChildModule","unregister","Store","vuex_esm_install","plugins","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","payload","installModule","resetStoreVM","_devtoolHook","targetState","subscribe","mutation","devtoolPlugin","vuex_esm_prototypeAccessors","genericSubscribe","resetStore","hot","oldVm","$$state","enableStrictMode","_withCommit","rootState","isRoot","parentState","getNestedState","local","noNamespace","_type","_payload","_options","unifyObjectStyle","gettersProxy","splitPos","localType","makeLocalGetters","makeLocalContext","registerMutation","rootGetters","registerAction","rawGetter","registerGetter","subscribeAction","preserveState","hotUpdate","newOptions","committing","mapState","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","helper","vuex_esm","createNamespacedHelpers","orderGroups","appendUsers","usersObj","setPasswordPolicyMinLength","initGroups","addGroup","groupIndex","groupSearch","_ref4","_ref5","_ref6","userIndex","addUserData","ocs","_ref7","setUserData","_ref8","humanValue","resetUsers","_ref9","linkToOCS","_ref10","getUsersFromList","_ref11","getUsersFromGroup","_ref12","oc_capabilities","password_policy","minLength","_ref13","_ref14","_ref15","_ref16","_ref17","addUser","_ref18","_ref19","_ref20","_ref20$enabled","userStatus","_ref21","allowedEmpty","store_apps","APPS_API_FAILURE","showHtml","initCategories","setUpdateCount","addCategory","appendCategories","categoriesArray","setAllApps","setError","clearError","enableApp","disableApp","removable","uninstallApp","updateApp","resetApps","startLoading","_id","stopLoading","appIds","_appId","update_required","reload","serverData","setServerData","oc","setAppConfig","store_mutations","API_FAILURE","vuex_router_sync","main_app","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","regeneratorRuntime","wrap","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","getProto","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","isGeneratorFunction","genFun","ctor","mark","awrap","__await","defineIteratorMethods","AsyncIterator","async","innerFn","outerFn","tryLocsList","Context","skipTempReset","sent","_sent","delegate","tryEntries","resetTryEntry","rootRecord","completion","rval","dispatchException","exception","handle","loc","caught","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","abrupt","finallyEntry","afterLoc","finish","thrown","delegateYield","resultName","nextLoc","protoGenerator","generator","_invoke","doneResult","delegateResult","maybeInvokeDelegate","tryCatch","makeInvokeMethod","previousPromise","callInvokeWithMethodAndArg","unwrapped","return","pushTryEntry","locs","iteratorMethod","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","$task","MSIE","time","boundArgs","setInterval","$pad","padEnd","padStart","createProperty","getOwnPropertyDescriptors","getDesc","$values","$includes","trunc","tanh","sinh","log2","log10","LOG10E","$imul","imul","xn","yn","xl","yl","hypot","value1","value2","sum","larg","sqrt","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","cosh","clz32","LOG2E","cbrt","$atanh","atanh","$asinh","asinh","$acosh","acosh","MAX_VALUE","MIN_SAFE_INTEGER","isSafeInteger","_isFinite","$find","forced","SEARCH","$search","regexp","SPLIT","$split","_split","$push","NPCG","separator2","lastLength","output","ignoreCase","multiline","unicode","lastLastIndex","splitLimit","separatorCopy","REPLACE","$replace","searchValue","replaceValue","$match","$endsWith","endsWith","endPosition","$startsWith","startsWith","TO_STRING","$at","codePointAt","fromCharCode","$fromCodePoint","fromCodePoint","callSite","tpl","FProto","nameRE","$getPrototypeOf","$getOwnPropertyDescriptor","$isExtensible","$isSealed","$isFrozen","$preventExtensions","$seal","$freeze","symbols","wksExt","$fails","wksDefine","enumKeys","gOPNExt","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","setSymbolDesc","protoDesc","sym","isSymbol","$defineProperties","$propertyIsEnumerable","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","replacer","$replacer","newPromiseCapability","promiseCapability","macrotask","MutationObserver","WebKitMutationObserver","isNode","flush","domain","exit","standalone","characterData","task","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","$Promise","empty","FakePromise","PromiseRejectionEvent","isThenable","isReject","chain","ok","reaction","exited","fail","onHandleUnhandled","onUnhandled","unhandled","isUnhandled","onunhandledrejection","_a","onrejectionhandled","$reject","$resolve","executor","onFulfilled","onRejected","capability","$index","alreadyCalled","race","setProto","propertyKey","existingDescriptor","receiver","ownDesc","deleteProperty","factories","partArgs","construct","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","rApply","fApply","thisArgument","argumentsList","weak","InternalMap","each","$WeakMap","strong","$isView","first","final","viewS","viewT","CancelToken","resolvePromise","throwIfRequested","baseURL","relativeURL","transformData","isCancel","isAbsoluteURL","combineURLs","throwIfCancellationRequested","InterceptorManager","fulfilled","rejected","eject","expires","secure","cookie","toGMTString","charCode","idx","originURL","urlParsingNode","resolveURL","protocol","hostname","requestURL","parsed","ignoreDuplicateOf","line","serializedParams","toISOString","dispatchRequest","Axios","instanceConfig","interceptors","interceptor","readFloatLE","isSlowBuffer","_isBuffer","createInstance","defaultConfig","axios","promises","spread","registerImmediate","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","runIfPresent","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","script","onreadystatechange","attachEvent","scope","Timeout","clearFn","_clearFn","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout"],"mappings":"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","file":"settings-vue.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 109);\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","/*!\n * Vue.js v2.5.16\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// these helpers produces better vm code in JS engines due to their\n// explicitness and function inlining\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value e.g. [object Object]\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if a attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured'\n];\n\n/* */\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = /[^\\w.$]/;\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = (function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {};\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false && isObject(value) && ('@binding' in value))\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n logError(e, null, 'config.errorHandler');\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n/* globals MessageChannel */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = function () {\n p.then(flushCallbacks);\n // in problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\n })\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n perf.clearMeasures(name);\n };\n }\n}\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n warnNonPresent(target, key);\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n warnNonPresent(target, key);\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur);\n }\n add(event.name, cur, event.once, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor,\n context\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (isDef(factory.contexts)) {\n // already pending\n factory.contexts.push(context);\n } else {\n var contexts = factory.contexts = [context];\n var sync = true;\n\n var forceRender = function () {\n for (var i = 0, l = contexts.length; i < l; i++) {\n contexts[i].$forceUpdate();\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender();\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender();\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (typeof res.then === 'function') {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isDef(res.component) && typeof res.component.then === 'function') {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n setTimeout(function () {\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender();\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n setTimeout(function () {\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn, once) {\n if (once) {\n target.$once(event, fn);\n } else {\n target.$on(event, fn);\n }\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$off(event[i], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n if (fn) {\n // specific handler\n var cb;\n var i$1 = cbs.length;\n while (i$1--) {\n cb = cbs[i$1];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i$1, 1);\n break\n }\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n for (var i = 0, l = cbs.length; i < l; i++) {\n try {\n cbs[i].apply(vm, args);\n } catch (e) {\n handleError(e, vm, (\"event handler for \\\"\" + event + \"\\\"\"));\n }\n }\n }\n return vm\n };\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n var slots = {};\n if (!children) {\n return slots\n }\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res\n) {\n res = res || {};\n for (var i = 0; i < fns.length; i++) {\n if (Array.isArray(fns[i])) {\n resolveScopedSlots(fns[i], res);\n } else {\n res[fns[i].key] = fns[i].fn;\n }\n }\n return res\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n if (vm._isMounted) {\n callHook(vm, 'beforeUpdate');\n }\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(\n vm.$el, vnode, hydrating, false /* removeOnly */,\n vm.$options._parentElm,\n vm.$options._refElm\n );\n // no need for the ref nodes after initial patch\n // this prevents keeping a detached DOM tree in memory (#5851)\n vm.$options._parentElm = vm.$options._refElm = null;\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n activeInstance = prevActiveInstance;\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, null, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren\n var hasChildren = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n parentVnode.data.scopedSlots || // has new scoped slots\n vm.$scopedSlots !== emptyObject // has old scoped slots\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (hasChildren) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n try {\n handlers[i].call(vm);\n } catch (e) {\n handleError(e, vm, (hook + \" hook\"));\n }\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\nvar uid$1 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$1; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = function () {};\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n var dep = this$1.deps[i];\n if (!this$1.newDepIds.has(dep.id)) {\n dep.removeSub(this$1);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n var this$1 = this;\n\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].removeSub(this$1);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive(props, key, value, function () {\n if (vm.$parent && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : userDef;\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : userDef.get\n : noop;\n sharedPropertyDefinition.set = userDef.set\n ? userDef.set\n : noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (methods[key] == null) {\n warn(\n \"Method \\\"\" + key + \"\\\" has an undefined value in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = methods[key] == null ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function (newData) {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n cb.call(vm, watcher.value);\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject).filter(function (key) {\n /* istanbul ignore next */\n return Object.getOwnPropertyDescriptor(inject, key).enumerable\n })\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n if (isDef(ret)) {\n (ret)._isVList = true;\n }\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n var slotNodes = this.$slots[name];\n // warn duplicate slot usage\n if (slotNodes) {\n if (process.env.NODE_ENV !== 'production' && slotNodes._rendered) {\n warn(\n \"Duplicate presence of slot \\\"\" + name + \"\\\" found in the same render tree \" +\n \"- this will likely cause render errors.\",\n this\n );\n }\n slotNodes._rendered = true;\n }\n nodes = slotNodes || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n if (!(key in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () { return resolveSlots(children, parent); };\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = data.scopedSlots || emptyObject;\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n\n\n\n// Register the component hook to weex native render engine.\n// The hook will be triggered by native, not javascript.\n\n\n// Updates the state of the component to weex native render engine.\n\n/* */\n\n// https://github.com/Hanks10100/weex-native-directive/tree/master/component\n\n// listening on native callback\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (\n vnode,\n hydrating,\n parentElm,\n refElm\n ) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance,\n parentElm,\n refElm\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor, context);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n // Weex specific: invoke recycle-list optimized @render function for\n // extracting cell-slot template.\n // https://github.com/Hanks10100/weex-native-directive/tree/master/component\n /* istanbul ignore if */\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent, // activeInstance in lifecycle state\n parentElm,\n refElm\n) {\n var options = {\n _isComponent: true,\n parent: parent,\n _parentVnode: vnode,\n _parentElm: parentElm || null,\n _refElm: refElm || null\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n hooks[key] = componentVNodeHooks[key];\n }\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input';(data.props || (data.props = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n if (isDef(on[event])) {\n on[event] = [data.model.callback].concat(on[event]);\n } else {\n on[event] = data.model.callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if (isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n // reset _rendered flag on slots for duplicate slot check\n if (process.env.NODE_ENV !== 'production') {\n for (var key in vm.$slots) {\n // $flow-disable-line\n vm.$slots[key]._rendered = false;\n }\n }\n\n if (_parentVnode) {\n vm.$scopedSlots = _parentVnode.data.scopedSlots || emptyObject;\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n if (vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n opts._parentElm = options._parentElm;\n opts._refElm = options._refElm;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var extended = Ctor.extendOptions;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = dedupe(latest[key], extended[key], sealed[key]);\n }\n }\n return modified\n}\n\nfunction dedupe (latest, extended, sealed) {\n // compare latest and sealed to ensure lifecycle hooks won't be duplicated\n // between merges\n if (Array.isArray(latest)) {\n var res = [];\n sealed = Array.isArray(sealed) ? sealed : [sealed];\n extended = Array.isArray(extended) ? extended : [extended];\n for (var i = 0; i < latest.length; i++) {\n // push original options and not sealed options to exclude duplicated options\n if (extended.indexOf(latest[i]) >= 0 || sealed.indexOf(latest[i]) < 0) {\n res.push(latest[i]);\n }\n }\n return res\n } else {\n return latest\n }\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n var this$1 = this;\n\n for (var key in this$1.cache) {\n pruneCacheEntry(this$1.cache, key, this$1.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n}\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n}\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.5.16';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,translate,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isPreTag = function (tag) { return tag === 'pre'; };\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\n\nvar nodeOps = Object.freeze({\n\tcreateElement: createElement$1,\n\tcreateElementNS: createElementNS,\n\tcreateTextNode: createTextNode,\n\tcreateComment: createComment,\n\tinsertBefore: insertBefore,\n\tremoveChild: removeChild,\n\tappendChild: appendChild,\n\tparentNode: parentNode,\n\tnextSibling: nextSibling,\n\ttagName: tagName,\n\tsetTextContent: setTextContent,\n\tsetStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n}\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove () {\n if (--remove.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove.listeners = listeners;\n return remove\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */, parentElm, refElm);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (ref$$1.parentNode === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (oldVnode, vnode, insertedVnodeQueue, removeOnly) {\n if (oldVnode === vnode) {\n return\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly, parentElm, refElm) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue, parentElm, refElm);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm$1 = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm$1,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm$1)) {\n removeVnodes(parentElm$1, [oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n}\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n]\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value) {\n if (el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, isFalsyAttrValue(value) || value === 'false' ? 'false' : 'true');\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n}\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n}\n\n/* */\n\nvar validDivisionCharRE = /[\\w).+\\-_$\\]]/;\n\nfunction parseFilters (exp) {\n var inSingle = false;\n var inDouble = false;\n var inTemplateString = false;\n var inRegex = false;\n var curly = 0;\n var square = 0;\n var paren = 0;\n var lastFilterIndex = 0;\n var c, prev, i, expression, filters;\n\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5C) { inSingle = false; }\n } else if (inDouble) {\n if (c === 0x22 && prev !== 0x5C) { inDouble = false; }\n } else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }\n } else if (inRegex) {\n if (c === 0x2f && prev !== 0x5C) { inRegex = false; }\n } else if (\n c === 0x7C && // pipe\n exp.charCodeAt(i + 1) !== 0x7C &&\n exp.charCodeAt(i - 1) !== 0x7C &&\n !curly && !square && !paren\n ) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22: inDouble = true; break // \"\n case 0x27: inSingle = true; break // '\n case 0x60: inTemplateString = true; break // `\n case 0x28: paren++; break // (\n case 0x29: paren--; break // )\n case 0x5B: square++; break // [\n case 0x5D: square--; break // ]\n case 0x7B: curly++; break // {\n case 0x7D: curly--; break // }\n }\n if (c === 0x2f) { // /\n var j = i - 1;\n var p = (void 0);\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ') { break }\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n function pushFilter () {\n (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n\n if (filters) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i]);\n }\n }\n\n return expression\n}\n\nfunction wrapFilter (exp, filter) {\n var i = filter.indexOf('(');\n if (i < 0) {\n // _f: resolveFilter\n return (\"_f(\\\"\" + filter + \"\\\")(\" + exp + \")\")\n } else {\n var name = filter.slice(0, i);\n var args = filter.slice(i + 1);\n return (\"_f(\\\"\" + name + \"\\\")(\" + exp + (args !== ')' ? ',' + args : args))\n }\n}\n\n/* */\n\nfunction baseWarn (msg) {\n console.error((\"[Vue compiler]: \" + msg));\n}\n\nfunction pluckModuleFunction (\n modules,\n key\n) {\n return modules\n ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })\n : []\n}\n\nfunction addProp (el, name, value) {\n (el.props || (el.props = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\nfunction addAttr (el, name, value) {\n (el.attrs || (el.attrs = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value) {\n el.attrsMap[name] = value;\n el.attrsList.push({ name: name, value: value });\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n modifiers\n) {\n (el.directives || (el.directives = [])).push({ name: name, rawName: rawName, value: value, arg: arg, modifiers: modifiers });\n el.plain = false;\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn\n) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n process.env.NODE_ENV !== 'production' && warn &&\n modifiers.prevent && modifiers.passive\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.'\n );\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = '!' + name; // mark the event as captured\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = '~' + name; // mark the event as once\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = '&' + name; // mark the event as passive\n }\n\n // normalize click.right and click.middle since they don't actually fire\n // this is technically browser-specific, but at least for now browsers are\n // the only target envs that have right/middle clicks.\n if (name === 'click') {\n if (modifiers.right) {\n name = 'contextmenu';\n delete modifiers.right;\n } else if (modifiers.middle) {\n name = 'mouseup';\n }\n }\n\n var events;\n if (modifiers.native) {\n delete modifiers.native;\n events = el.nativeEvents || (el.nativeEvents = {});\n } else {\n events = el.events || (el.events = {});\n }\n\n var newHandler = {\n value: value.trim()\n };\n if (modifiers !== emptyObject) {\n newHandler.modifiers = modifiers;\n }\n\n var handlers = events[name];\n /* istanbul ignore if */\n if (Array.isArray(handlers)) {\n important ? handlers.unshift(newHandler) : handlers.push(newHandler);\n } else if (handlers) {\n events[name] = important ? [newHandler, handlers] : [handlers, newHandler];\n } else {\n events[name] = newHandler;\n }\n\n el.plain = false;\n}\n\nfunction getBindingAttr (\n el,\n name,\n getStatic\n) {\n var dynamicValue =\n getAndRemoveAttr(el, ':' + name) ||\n getAndRemoveAttr(el, 'v-bind:' + name);\n if (dynamicValue != null) {\n return parseFilters(dynamicValue)\n } else if (getStatic !== false) {\n var staticValue = getAndRemoveAttr(el, name);\n if (staticValue != null) {\n return JSON.stringify(staticValue)\n }\n }\n}\n\n// note: this only removes the attr from the Array (attrsList) so that it\n// doesn't get processed by processAttrs.\n// By default it does NOT remove it from the map (attrsMap) because the map is\n// needed during codegen.\nfunction getAndRemoveAttr (\n el,\n name,\n removeFromMap\n) {\n var val;\n if ((val = el.attrsMap[name]) != null) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i].name === name) {\n list.splice(i, 1);\n break\n }\n }\n }\n if (removeFromMap) {\n delete el.attrsMap[name];\n }\n return val\n}\n\n/* */\n\n/**\n * Cross-platform code generation for component v-model\n */\nfunction genComponentModel (\n el,\n value,\n modifiers\n) {\n var ref = modifiers || {};\n var number = ref.number;\n var trim = ref.trim;\n\n var baseValueExpression = '$$v';\n var valueExpression = baseValueExpression;\n if (trim) {\n valueExpression =\n \"(typeof \" + baseValueExpression + \" === 'string'\" +\n \"? \" + baseValueExpression + \".trim()\" +\n \": \" + baseValueExpression + \")\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n var assignment = genAssignmentCode(value, valueExpression);\n\n el.model = {\n value: (\"(\" + value + \")\"),\n expression: (\"\\\"\" + value + \"\\\"\"),\n callback: (\"function (\" + baseValueExpression + \") {\" + assignment + \"}\")\n };\n}\n\n/**\n * Cross-platform codegen helper for generating v-model value assignment code.\n */\nfunction genAssignmentCode (\n value,\n assignment\n) {\n var res = parseModel(value);\n if (res.key === null) {\n return (value + \"=\" + assignment)\n } else {\n return (\"$set(\" + (res.exp) + \", \" + (res.key) + \", \" + assignment + \")\")\n }\n}\n\n/**\n * Parse a v-model expression into a base path and a final key segment.\n * Handles both dot-path and possible square brackets.\n *\n * Possible cases:\n *\n * - test\n * - test[key]\n * - test[test1[key]]\n * - test[\"a\"][key]\n * - xxx.test[a[a].test1[key]]\n * - test.xxx.a[\"asa\"][test1[key]]\n *\n */\n\nvar len;\nvar str;\nvar chr;\nvar index$1;\nvar expressionPos;\nvar expressionEndPos;\n\n\n\nfunction parseModel (val) {\n // Fix https://github.com/vuejs/vue/pull/7730\n // allow v-model=\"obj.val \" (trailing whitespace)\n val = val.trim();\n len = val.length;\n\n if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {\n index$1 = val.lastIndexOf('.');\n if (index$1 > -1) {\n return {\n exp: val.slice(0, index$1),\n key: '\"' + val.slice(index$1 + 1) + '\"'\n }\n } else {\n return {\n exp: val,\n key: null\n }\n }\n }\n\n str = val;\n index$1 = expressionPos = expressionEndPos = 0;\n\n while (!eof()) {\n chr = next();\n /* istanbul ignore if */\n if (isStringStart(chr)) {\n parseString(chr);\n } else if (chr === 0x5B) {\n parseBracket(chr);\n }\n }\n\n return {\n exp: val.slice(0, expressionPos),\n key: val.slice(expressionPos + 1, expressionEndPos)\n }\n}\n\nfunction next () {\n return str.charCodeAt(++index$1)\n}\n\nfunction eof () {\n return index$1 >= len\n}\n\nfunction isStringStart (chr) {\n return chr === 0x22 || chr === 0x27\n}\n\nfunction parseBracket (chr) {\n var inBracket = 1;\n expressionPos = index$1;\n while (!eof()) {\n chr = next();\n if (isStringStart(chr)) {\n parseString(chr);\n continue\n }\n if (chr === 0x5B) { inBracket++; }\n if (chr === 0x5D) { inBracket--; }\n if (inBracket === 0) {\n expressionEndPos = index$1;\n break\n }\n }\n}\n\nfunction parseString (chr) {\n var stringQuote = chr;\n while (!eof()) {\n chr = next();\n if (chr === stringQuote) {\n break\n }\n }\n}\n\n/* */\n\nvar warn$1;\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\nfunction model (\n el,\n dir,\n _warn\n) {\n warn$1 = _warn;\n var value = dir.value;\n var modifiers = dir.modifiers;\n var tag = el.tag;\n var type = el.attrsMap.type;\n\n if (process.env.NODE_ENV !== 'production') {\n // inputs with type=\"file\" are read only and setting the input's\n // value will throw an error.\n if (tag === 'input' && type === 'file') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\" type=\\\"file\\\">:\\n\" +\n \"File inputs are read only. Use a v-on:change listener instead.\"\n );\n }\n }\n\n if (el.component) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (tag === 'select') {\n genSelect(el, value, modifiers);\n } else if (tag === 'input' && type === 'checkbox') {\n genCheckboxModel(el, value, modifiers);\n } else if (tag === 'input' && type === 'radio') {\n genRadioModel(el, value, modifiers);\n } else if (tag === 'input' || tag === 'textarea') {\n genDefaultModel(el, value, modifiers);\n } else if (!config.isReservedTag(tag)) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (process.env.NODE_ENV !== 'production') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"v-model is not supported on this element type. \" +\n 'If you are working with contenteditable, it\\'s recommended to ' +\n 'wrap a library dedicated for that purpose inside a custom component.'\n );\n }\n\n // ensure runtime directive metadata\n return true\n}\n\nfunction genCheckboxModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';\n var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';\n addProp(el, 'checked',\n \"Array.isArray(\" + value + \")\" +\n \"?_i(\" + value + \",\" + valueBinding + \")>-1\" + (\n trueValueBinding === 'true'\n ? (\":(\" + value + \")\")\n : (\":_q(\" + value + \",\" + trueValueBinding + \")\")\n )\n );\n addHandler(el, 'change',\n \"var $$a=\" + value + \",\" +\n '$$el=$event.target,' +\n \"$$c=$$el.checked?(\" + trueValueBinding + \"):(\" + falseValueBinding + \");\" +\n 'if(Array.isArray($$a)){' +\n \"var $$v=\" + (number ? '_n(' + valueBinding + ')' : valueBinding) + \",\" +\n '$$i=_i($$a,$$v);' +\n \"if($$el.checked){$$i<0&&(\" + (genAssignmentCode(value, '$$a.concat([$$v])')) + \")}\" +\n \"else{$$i>-1&&(\" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + \")}\" +\n \"}else{\" + (genAssignmentCode(value, '$$c')) + \"}\",\n null, true\n );\n}\n\nfunction genRadioModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n valueBinding = number ? (\"_n(\" + valueBinding + \")\") : valueBinding;\n addProp(el, 'checked', (\"_q(\" + value + \",\" + valueBinding + \")\"));\n addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);\n}\n\nfunction genSelect (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var selectedVal = \"Array.prototype.filter\" +\n \".call($event.target.options,function(o){return o.selected})\" +\n \".map(function(o){var val = \\\"_value\\\" in o ? o._value : o.value;\" +\n \"return \" + (number ? '_n(val)' : 'val') + \"})\";\n\n var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';\n var code = \"var $$selectedVal = \" + selectedVal + \";\";\n code = code + \" \" + (genAssignmentCode(value, assignment));\n addHandler(el, 'change', code, null, true);\n}\n\nfunction genDefaultModel (\n el,\n value,\n modifiers\n) {\n var type = el.attrsMap.type;\n\n // warn if v-bind:value conflicts with v-model\n // except for inputs with v-bind:type\n if (process.env.NODE_ENV !== 'production') {\n var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];\n var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];\n if (value$1 && !typeBinding) {\n var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';\n warn$1(\n binding + \"=\\\"\" + value$1 + \"\\\" conflicts with v-model on the same element \" +\n 'because the latter already expands to a value binding internally'\n );\n }\n }\n\n var ref = modifiers || {};\n var lazy = ref.lazy;\n var number = ref.number;\n var trim = ref.trim;\n var needCompositionGuard = !lazy && type !== 'range';\n var event = lazy\n ? 'change'\n : type === 'range'\n ? RANGE_TOKEN\n : 'input';\n\n var valueExpression = '$event.target.value';\n if (trim) {\n valueExpression = \"$event.target.value.trim()\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n\n var code = genAssignmentCode(value, valueExpression);\n if (needCompositionGuard) {\n code = \"if($event.target.composing)return;\" + code;\n }\n\n addProp(el, 'value', (\"(\" + value + \")\"));\n addHandler(el, event, code, null, true);\n if (trim || number) {\n addHandler(el, 'blur', '$forceUpdate()');\n }\n}\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler (handler, event, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\nfunction add$1 (\n event,\n handler,\n once$$1,\n capture,\n passive\n) {\n handler = withMacroTask(handler);\n if (once$$1) { handler = createOnceHandler(handler, event, capture); }\n target$1.addEventListener(\n event,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n event,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n event,\n handler._withTask || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n}\n\n/* */\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (isUndef(props[key])) {\n elm[key] = '';\n }\n }\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else {\n elm[key] = cur;\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.lazy) {\n // inputs with lazy should only be updated when not in focus\n return false\n }\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(name, val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n}\n\n/* */\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(/\\s+/).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(/\\s+/).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def) {\n if (!def) {\n return\n }\n /* istanbul ignore else */\n if (typeof def === 'object') {\n var res = {};\n if (def.css !== false) {\n extend(res, autoCssTransition(def.name || 'v'));\n }\n extend(res, def);\n return res\n } else if (typeof def === 'string') {\n return autoCssTransition(def)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n var transitionDelays = styles[transitionProp + 'Delay'].split(', ');\n var transitionDurations = styles[transitionProp + 'Duration'].split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = styles[animationProp + 'Delay'].split(', ');\n var animationDurations = styles[animationProp + 'Duration'].split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\nfunction toMs (s) {\n return Number(s.slice(0, -1)) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n transitionNode = transitionNode.parent;\n context = transitionNode.context;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {}\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n]\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n}\n\nvar platformDirectives = {\n model: directive,\n show: show\n}\n\n/* */\n\n// Provides transition support for a single element/component.\n// supports transition mode (out-in / in-out)\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(function (c) { return c.tag || isAsyncPlaceholder(c); });\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(function (d) { return d.name === 'show'; })) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n}\n\n/* */\n\n// Provides transition support for list items.\n// supports move transitions using the FLIP technique.\n\n// Because the vdom's children update algorithm is \"unstable\" - i.e.\n// it doesn't guarantee the relative positioning of removed elements,\n// we force transition-group to update its children into two passes:\n// in the first pass, we remove all nodes that need to be removed,\n// triggering their leaving transition; in the second pass, we insert/move\n// into the final desired state. This way in the second pass removed\n// nodes will remain where they should be.\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n beforeUpdate: function beforeUpdate () {\n // force removing pass\n this.__patch__(\n this._vnode,\n this.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this._vnode = this.kept;\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n}\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n}\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n isChrome\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nvar defaultTagRE = /\\{\\{((?:.|\\n)+?)\\}\\}/g;\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\nvar buildRegex = cached(function (delimiters) {\n var open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n var close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n});\n\n\n\nfunction parseText (\n text,\n delimiters\n) {\n var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n var tokens = [];\n var rawTokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, tokenValue;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n rawTokens.push(tokenValue = text.slice(lastIndex, index));\n tokens.push(JSON.stringify(tokenValue));\n }\n // tag token\n var exp = parseFilters(match[1].trim());\n tokens.push((\"_s(\" + exp + \")\"));\n rawTokens.push({ '@binding': exp });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n rawTokens.push(tokenValue = text.slice(lastIndex));\n tokens.push(JSON.stringify(tokenValue));\n }\n return {\n expression: tokens.join('+'),\n tokens: rawTokens\n }\n}\n\n/* */\n\nfunction transformNode (el, options) {\n var warn = options.warn || baseWarn;\n var staticClass = getAndRemoveAttr(el, 'class');\n if (process.env.NODE_ENV !== 'production' && staticClass) {\n var res = parseText(staticClass, options.delimiters);\n if (res) {\n warn(\n \"class=\\\"\" + staticClass + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div class=\"{{ val }}\">, use <div :class=\"val\">.'\n );\n }\n }\n if (staticClass) {\n el.staticClass = JSON.stringify(staticClass);\n }\n var classBinding = getBindingAttr(el, 'class', false /* getStatic */);\n if (classBinding) {\n el.classBinding = classBinding;\n }\n}\n\nfunction genData (el) {\n var data = '';\n if (el.staticClass) {\n data += \"staticClass:\" + (el.staticClass) + \",\";\n }\n if (el.classBinding) {\n data += \"class:\" + (el.classBinding) + \",\";\n }\n return data\n}\n\nvar klass$1 = {\n staticKeys: ['staticClass'],\n transformNode: transformNode,\n genData: genData\n}\n\n/* */\n\nfunction transformNode$1 (el, options) {\n var warn = options.warn || baseWarn;\n var staticStyle = getAndRemoveAttr(el, 'style');\n if (staticStyle) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(staticStyle, options.delimiters);\n if (res) {\n warn(\n \"style=\\\"\" + staticStyle + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div style=\"{{ val }}\">, use <div :style=\"val\">.'\n );\n }\n }\n el.staticStyle = JSON.stringify(parseStyleText(staticStyle));\n }\n\n var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);\n if (styleBinding) {\n el.styleBinding = styleBinding;\n }\n}\n\nfunction genData$1 (el) {\n var data = '';\n if (el.staticStyle) {\n data += \"staticStyle:\" + (el.staticStyle) + \",\";\n }\n if (el.styleBinding) {\n data += \"style:(\" + (el.styleBinding) + \"),\";\n }\n return data\n}\n\nvar style$1 = {\n staticKeys: ['staticStyle'],\n transformNode: transformNode$1,\n genData: genData$1\n}\n\n/* */\n\nvar decoder;\n\nvar he = {\n decode: function decode (html) {\n decoder = decoder || document.createElement('div');\n decoder.innerHTML = html;\n return decoder.textContent\n }\n}\n\n/* */\n\nvar isUnaryTag = makeMap(\n 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +\n 'link,meta,param,source,track,wbr'\n);\n\n// Elements that you can, intentionally, leave open\n// (and which close themselves)\nvar canBeLeftOpenTag = makeMap(\n 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'\n);\n\n// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3\n// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content\nvar isNonPhrasingTag = makeMap(\n 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +\n 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +\n 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +\n 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +\n 'title,tr,track'\n);\n\n/**\n * Not type-checking this file because it's mostly vendor code.\n */\n\n/*!\n * HTML Parser By John Resig (ejohn.org)\n * Modified by Juriy \"kangax\" Zaytsev\n * Original code by Erik Arvidsson, Mozilla Public License\n * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js\n */\n\n// Regular Expressions for parsing tags and attributes\nvar attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\n// could use https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName\n// but for Vue templates we can enforce a simple charset\nvar ncname = '[a-zA-Z_][\\\\w\\\\-\\\\.]*';\nvar qnameCapture = \"((?:\" + ncname + \"\\\\:)?\" + ncname + \")\";\nvar startTagOpen = new RegExp((\"^<\" + qnameCapture));\nvar startTagClose = /^\\s*(\\/?)>/;\nvar endTag = new RegExp((\"^<\\\\/\" + qnameCapture + \"[^>]*>\"));\nvar doctype = /^<!DOCTYPE [^>]+>/i;\n// #7298: escape - to avoid being pased as HTML comment when inlined in page\nvar comment = /^<!\\--/;\nvar conditionalComment = /^<!\\[/;\n\nvar IS_REGEX_CAPTURING_BROKEN = false;\n'x'.replace(/x(.)?/g, function (m, g) {\n IS_REGEX_CAPTURING_BROKEN = g === '';\n});\n\n// Special Elements (can contain anything)\nvar isPlainTextElement = makeMap('script,style,textarea', true);\nvar reCache = {};\n\nvar decodingMap = {\n '<': '<',\n '>': '>',\n '"': '\"',\n '&': '&',\n ' ': '\\n',\n '	': '\\t'\n};\nvar encodedAttr = /&(?:lt|gt|quot|amp);/g;\nvar encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#10|#9);/g;\n\n// #5992\nvar isIgnoreNewlineTag = makeMap('pre,textarea', true);\nvar shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\\n'; };\n\nfunction decodeAttr (value, shouldDecodeNewlines) {\n var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;\n return value.replace(re, function (match) { return decodingMap[match]; })\n}\n\nfunction parseHTML (html, options) {\n var stack = [];\n var expectHTML = options.expectHTML;\n var isUnaryTag$$1 = options.isUnaryTag || no;\n var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;\n var index = 0;\n var last, lastTag;\n while (html) {\n last = html;\n // Make sure we're not in a plaintext content element like script/style\n if (!lastTag || !isPlainTextElement(lastTag)) {\n var textEnd = html.indexOf('<');\n if (textEnd === 0) {\n // Comment:\n if (comment.test(html)) {\n var commentEnd = html.indexOf('-->');\n\n if (commentEnd >= 0) {\n if (options.shouldKeepComment) {\n options.comment(html.substring(4, commentEnd));\n }\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n var conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n var doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n var endTagMatch = html.match(endTag);\n if (endTagMatch) {\n var curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n var startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n if (shouldIgnoreFirstNewline(lastTag, html)) {\n advance(1);\n }\n continue\n }\n }\n\n var text = (void 0), rest = (void 0), next = (void 0);\n if (textEnd >= 0) {\n rest = html.slice(textEnd);\n while (\n !endTag.test(rest) &&\n !startTagOpen.test(rest) &&\n !comment.test(rest) &&\n !conditionalComment.test(rest)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest.indexOf('<', 1);\n if (next < 0) { break }\n textEnd += next;\n rest = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n advance(textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n html = '';\n }\n\n if (options.chars && text) {\n options.chars(text);\n }\n } else {\n var endTagLength = 0;\n var stackedTag = lastTag.toLowerCase();\n var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));\n var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(/<!\\--([\\s\\S]*?)-->/g, '$1') // #7298\n .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1');\n }\n if (shouldIgnoreFirstNewline(stackedTag, text)) {\n text = text.slice(1);\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest$1.length;\n html = rest$1;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"));\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n var start = html.match(startTagOpen);\n if (start) {\n var match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n var end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(attribute))) {\n advance(attr[0].length);\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n var tagName = match.tagName;\n var unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n var unary = isUnaryTag$$1(tagName) || !!unarySlash;\n\n var l = match.attrs.length;\n var attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n var args = match.attrs[i];\n // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778\n if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('\"\"') === -1) {\n if (args[3] === '') { delete args[3]; }\n if (args[4] === '') { delete args[4]; }\n if (args[5] === '') { delete args[5]; }\n }\n var value = args[3] || args[4] || args[5] || '';\n var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'\n ? options.shouldDecodeNewlinesForHref\n : options.shouldDecodeNewlines;\n attrs[i] = {\n name: args[1],\n value: decodeAttr(value, shouldDecodeNewlines)\n };\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n var pos, lowerCasedTagName;\n if (start == null) { start = index; }\n if (end == null) { end = index; }\n\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n }\n\n // Find the closest opened tag of the same type\n if (tagName) {\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (process.env.NODE_ENV !== 'production' &&\n (i > pos || !tagName) &&\n options.warn\n ) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\")\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n}\n\n/* */\n\nvar onRE = /^@|^v-on:/;\nvar dirRE = /^v-|^@|^:/;\nvar forAliasRE = /([^]*?)\\s+(?:in|of)\\s+([^]*)/;\nvar forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nvar stripParensRE = /^\\(|\\)$/g;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^v-bind:/;\nvar modifierRE = /\\.[^.]+/g;\n\nvar decodeHTMLCached = cached(he.decode);\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\n\n\n\nfunction createASTElement (\n tag,\n attrs,\n parent\n) {\n return {\n type: 1,\n tag: tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n parent: parent,\n children: []\n }\n}\n\n/**\n * Convert HTML string to AST.\n */\nfunction parse (\n template,\n options\n) {\n warn$2 = options.warn || baseWarn;\n\n platformIsPreTag = options.isPreTag || no;\n platformMustUseProp = options.mustUseProp || no;\n platformGetTagNamespace = options.getTagNamespace || no;\n\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n\n delimiters = options.delimiters;\n\n var stack = [];\n var preserveWhitespace = options.preserveWhitespace !== false;\n var root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg) {\n if (!warned) {\n warned = true;\n warn$2(msg);\n }\n }\n\n function closeElement (element) {\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n // apply post-transforms\n for (var i = 0; i < postTransforms.length; i++) {\n postTransforms[i](element, options);\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,\n shouldKeepComment: options.comments,\n start: function start (tag, attrs, unary) {\n // check namespace.\n // inherit parent ns if there is one\n var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n var element = createASTElement(tag, attrs, currentParent);\n if (ns) {\n element.ns = ns;\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n process.env.NODE_ENV !== 'production' && warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n \"<\" + tag + \">\" + ', as they will not be parsed.'\n );\n }\n\n // apply pre-transforms\n for (var i = 0; i < preTransforms.length; i++) {\n element = preTransforms[i](element, options) || element;\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else if (!element.processed) {\n // structural directives\n processFor(element);\n processIf(element);\n processOnce(element);\n // element-scope stuff\n processElement(element, options);\n }\n\n function checkRootConstraints (el) {\n if (process.env.NODE_ENV !== 'production') {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n \"Cannot use <\" + (el.tag) + \"> as component root element because it may \" +\n 'contain multiple nodes.'\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.'\n );\n }\n }\n }\n\n // tree management\n if (!root) {\n root = element;\n checkRootConstraints(root);\n } else if (!stack.length) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n checkRootConstraints(element);\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warnOnce(\n \"Component template should contain exactly one root element. \" +\n \"If you are using v-if on multiple elements, \" +\n \"use v-else-if to chain them instead.\"\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else if (element.slotScope) { // scoped slot\n currentParent.plain = false;\n var name = element.slotTarget || '\"default\"';(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n } else {\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end () {\n // remove trailing whitespace\n var element = stack[stack.length - 1];\n var lastNode = element.children[element.children.length - 1];\n if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) {\n element.children.pop();\n }\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n closeElement(element);\n },\n\n chars: function chars (text) {\n if (!currentParent) {\n if (process.env.NODE_ENV !== 'production') {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.'\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\")\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text\n ) {\n return\n }\n var children = currentParent.children;\n text = inPre || text.trim()\n ? isTextTag(currentParent) ? text : decodeHTMLCached(text)\n // only preserve whitespace if its not right after a starting tag\n : preserveWhitespace && children.length ? ' ' : '';\n if (text) {\n var res;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n children.push({\n type: 2,\n expression: res.expression,\n tokens: res.tokens,\n text: text\n });\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n children.push({\n type: 3,\n text: text\n });\n }\n }\n },\n comment: function comment (text) {\n currentParent.children.push({\n type: 3,\n text: text,\n isComment: true\n });\n }\n });\n return root\n}\n\nfunction processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n}\n\nfunction processRawAttrs (el) {\n var l = el.attrsList.length;\n if (l) {\n var attrs = el.attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n attrs[i] = {\n name: el.attrsList[i].name,\n value: JSON.stringify(el.attrsList[i].value)\n };\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n}\n\nfunction processElement (element, options) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = !element.key && !element.attrsList.length;\n\n processRef(element);\n processSlot(element);\n processComponent(element);\n for (var i = 0; i < transforms.length; i++) {\n element = transforms[i](element, options) || element;\n }\n processAttrs(element);\n}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (process.env.NODE_ENV !== 'production' && el.tag === 'template') {\n warn$2(\"<template> cannot be keyed. Place the key on real elements instead.\");\n }\n el.key = exp;\n }\n}\n\nfunction processRef (el) {\n var ref = getBindingAttr(el, 'ref');\n if (ref) {\n el.ref = ref;\n el.refInFor = checkInFor(el);\n }\n}\n\nfunction processFor (el) {\n var exp;\n if ((exp = getAndRemoveAttr(el, 'v-for'))) {\n var res = parseFor(exp);\n if (res) {\n extend(el, res);\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n (\"Invalid v-for expression: \" + exp)\n );\n }\n }\n}\n\n\n\nfunction parseFor (exp) {\n var inMatch = exp.match(forAliasRE);\n if (!inMatch) { return }\n var res = {};\n res.for = inMatch[2].trim();\n var alias = inMatch[1].trim().replace(stripParensRE, '');\n var iteratorMatch = alias.match(forIteratorRE);\n if (iteratorMatch) {\n res.alias = alias.replace(forIteratorRE, '');\n res.iterator1 = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.iterator2 = iteratorMatch[2].trim();\n }\n } else {\n res.alias = alias;\n }\n return res\n}\n\nfunction processIf (el) {\n var exp = getAndRemoveAttr(el, 'v-if');\n if (exp) {\n el.if = exp;\n addIfCondition(el, {\n exp: exp,\n block: el\n });\n } else {\n if (getAndRemoveAttr(el, 'v-else') != null) {\n el.else = true;\n }\n var elseif = getAndRemoveAttr(el, 'v-else-if');\n if (elseif) {\n el.elseif = elseif;\n }\n }\n}\n\nfunction processIfConditions (el, parent) {\n var prev = findPrevElement(parent.children);\n if (prev && prev.if) {\n addIfCondition(prev, {\n exp: el.elseif,\n block: el\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n \"v-\" + (el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else') + \" \" +\n \"used on element <\" + (el.tag) + \"> without corresponding v-if.\"\n );\n }\n}\n\nfunction findPrevElement (children) {\n var i = children.length;\n while (i--) {\n if (children[i].type === 1) {\n return children[i]\n } else {\n if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {\n warn$2(\n \"text \\\"\" + (children[i].text.trim()) + \"\\\" between v-if and v-else(-if) \" +\n \"will be ignored.\"\n );\n }\n children.pop();\n }\n }\n}\n\nfunction addIfCondition (el, condition) {\n if (!el.ifConditions) {\n el.ifConditions = [];\n }\n el.ifConditions.push(condition);\n}\n\nfunction processOnce (el) {\n var once$$1 = getAndRemoveAttr(el, 'v-once');\n if (once$$1 != null) {\n el.once = true;\n }\n}\n\nfunction processSlot (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (process.env.NODE_ENV !== 'production' && el.key) {\n warn$2(\n \"`key` does not work on <slot> because slots are abstract outlets \" +\n \"and can possibly expand into multiple elements. \" +\n \"Use the key on a wrapping element instead.\"\n );\n }\n } else {\n var slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && slotScope) {\n warn$2(\n \"the \\\"scope\\\" attribute for scoped slots have been deprecated and \" +\n \"replaced by \\\"slot-scope\\\" since 2.5. The new \\\"slot-scope\\\" attribute \" +\n \"can also be used on plain elements in addition to <template> to \" +\n \"denote scoped slots.\",\n true\n );\n }\n el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');\n } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {\n warn$2(\n \"Ambiguous combined usage of slot-scope and v-for on <\" + (el.tag) + \"> \" +\n \"(v-for takes higher priority). Use a wrapper <template> for the \" +\n \"scoped slot to make it clearer.\",\n true\n );\n }\n el.slotScope = slotScope;\n }\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\n // preserve slot as an attribute for native shadow DOM compat\n // only for non-scoped slots.\n if (el.tag !== 'template' && !el.slotScope) {\n addAttr(el, 'slot', slotTarget);\n }\n }\n }\n}\n\nfunction processComponent (el) {\n var binding;\n if ((binding = getBindingAttr(el, 'is'))) {\n el.component = binding;\n }\n if (getAndRemoveAttr(el, 'inline-template') != null) {\n el.inlineTemplate = true;\n }\n}\n\nfunction processAttrs (el) {\n var list = el.attrsList;\n var i, l, name, rawName, value, modifiers, isProp;\n for (i = 0, l = list.length; i < l; i++) {\n name = rawName = list[i].name;\n value = list[i].value;\n if (dirRE.test(name)) {\n // mark element as dynamic\n el.hasBindings = true;\n // modifiers\n modifiers = parseModifiers(name);\n if (modifiers) {\n name = name.replace(modifierRE, '');\n }\n if (bindRE.test(name)) { // v-bind\n name = name.replace(bindRE, '');\n value = parseFilters(value);\n isProp = false;\n if (modifiers) {\n if (modifiers.prop) {\n isProp = true;\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n genAssignmentCode(value, \"$event\")\n );\n }\n }\n if (isProp || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value);\n } else {\n addAttr(el, name, value);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n addHandler(el, name, value, modifiers, false, warn$2);\n } else { // normal directives\n name = name.replace(dirRE, '');\n // parse arg\n var argMatch = name.match(argRE);\n var arg = argMatch && argMatch[1];\n if (arg) {\n name = name.slice(0, -(arg.length + 1));\n }\n addDirective(el, name, rawName, value, arg, modifiers);\n if (process.env.NODE_ENV !== 'production' && name === 'model') {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(value, delimiters);\n if (res) {\n warn$2(\n name + \"=\\\"\" + value + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div id=\"{{ val }}\">, use <div :id=\"val\">.'\n );\n }\n }\n addAttr(el, name, JSON.stringify(value));\n // #6887 firefox doesn't update muted state if set via attribute\n // even immediately after element creation\n if (!el.component &&\n name === 'muted' &&\n platformMustUseProp(el.tag, el.attrsMap.type, name)) {\n addProp(el, name, 'true');\n }\n }\n }\n}\n\nfunction checkInFor (el) {\n var parent = el;\n while (parent) {\n if (parent.for !== undefined) {\n return true\n }\n parent = parent.parent;\n }\n return false\n}\n\nfunction parseModifiers (name) {\n var match = name.match(modifierRE);\n if (match) {\n var ret = {};\n match.forEach(function (m) { ret[m.slice(1)] = true; });\n return ret\n }\n}\n\nfunction makeAttrsMap (attrs) {\n var map = {};\n for (var i = 0, l = attrs.length; i < l; i++) {\n if (\n process.env.NODE_ENV !== 'production' &&\n map[attrs[i].name] && !isIE && !isEdge\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name);\n }\n map[attrs[i].name] = attrs[i].value;\n }\n return map\n}\n\n// for script (e.g. type=\"x/template\") or style, do not decode content\nfunction isTextTag (el) {\n return el.tag === 'script' || el.tag === 'style'\n}\n\nfunction isForbiddenTag (el) {\n return (\n el.tag === 'style' ||\n (el.tag === 'script' && (\n !el.attrsMap.type ||\n el.attrsMap.type === 'text/javascript'\n ))\n )\n}\n\nvar ieNSBug = /^xmlns:NS\\d+/;\nvar ieNSPrefix = /^NS\\d+:/;\n\n/* istanbul ignore next */\nfunction guardIESVGBug (attrs) {\n var res = [];\n for (var i = 0; i < attrs.length; i++) {\n var attr = attrs[i];\n if (!ieNSBug.test(attr.name)) {\n attr.name = attr.name.replace(ieNSPrefix, '');\n res.push(attr);\n }\n }\n return res\n}\n\nfunction checkForAliasModel (el, value) {\n var _el = el;\n while (_el) {\n if (_el.for && _el.alias === value) {\n warn$2(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"You are binding v-model directly to a v-for iteration alias. \" +\n \"This will not be able to modify the v-for source array because \" +\n \"writing to the alias is like modifying a function local variable. \" +\n \"Consider using an array of objects and use v-model on an object property instead.\"\n );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\n/**\n * Expand input[v-model] with dyanmic type bindings into v-if-else chains\n * Turn this:\n * <input v-model=\"data[type]\" :type=\"type\">\n * into this:\n * <input v-if=\"type === 'checkbox'\" type=\"checkbox\" v-model=\"data[type]\">\n * <input v-else-if=\"type === 'radio'\" type=\"radio\" v-model=\"data[type]\">\n * <input v-else :type=\"type\" v-model=\"data[type]\">\n */\n\nfunction preTransformNode (el, options) {\n if (el.tag === 'input') {\n var map = el.attrsMap;\n if (!map['v-model']) {\n return\n }\n\n var typeBinding;\n if (map[':type'] || map['v-bind:type']) {\n typeBinding = getBindingAttr(el, 'type');\n }\n if (!map.type && !typeBinding && map['v-bind']) {\n typeBinding = \"(\" + (map['v-bind']) + \").type\";\n }\n\n if (typeBinding) {\n var ifCondition = getAndRemoveAttr(el, 'v-if', true);\n var ifConditionExtra = ifCondition ? (\"&&(\" + ifCondition + \")\") : \"\";\n var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;\n var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);\n // 1. checkbox\n var branch0 = cloneASTElement(el);\n // process for on the main node\n processFor(branch0);\n addRawAttr(branch0, 'type', 'checkbox');\n processElement(branch0, options);\n branch0.processed = true; // prevent it from double-processed\n branch0.if = \"(\" + typeBinding + \")==='checkbox'\" + ifConditionExtra;\n addIfCondition(branch0, {\n exp: branch0.if,\n block: branch0\n });\n // 2. add radio else-if condition\n var branch1 = cloneASTElement(el);\n getAndRemoveAttr(branch1, 'v-for', true);\n addRawAttr(branch1, 'type', 'radio');\n processElement(branch1, options);\n addIfCondition(branch0, {\n exp: \"(\" + typeBinding + \")==='radio'\" + ifConditionExtra,\n block: branch1\n });\n // 3. other\n var branch2 = cloneASTElement(el);\n getAndRemoveAttr(branch2, 'v-for', true);\n addRawAttr(branch2, ':type', typeBinding);\n processElement(branch2, options);\n addIfCondition(branch0, {\n exp: ifCondition,\n block: branch2\n });\n\n if (hasElse) {\n branch0.else = true;\n } else if (elseIfCondition) {\n branch0.elseif = elseIfCondition;\n }\n\n return branch0\n }\n }\n}\n\nfunction cloneASTElement (el) {\n return createASTElement(el.tag, el.attrsList.slice(), el.parent)\n}\n\nvar model$2 = {\n preTransformNode: preTransformNode\n}\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$2\n]\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\nvar directives$1 = {\n model: model,\n text: text,\n html: html\n}\n\n/* */\n\nvar baseOptions = {\n expectHTML: true,\n modules: modules$1,\n directives: directives$1,\n isPreTag: isPreTag,\n isUnaryTag: isUnaryTag,\n mustUseProp: mustUseProp,\n canBeLeftOpenTag: canBeLeftOpenTag,\n isReservedTag: isReservedTag,\n getTagNamespace: getTagNamespace,\n staticKeys: genStaticKeys(modules$1)\n};\n\n/* */\n\nvar isStaticKey;\nvar isPlatformReservedTag;\n\nvar genStaticKeysCached = cached(genStaticKeys$1);\n\n/**\n * Goal of the optimizer: walk the generated template AST tree\n * and detect sub-trees that are purely static, i.e. parts of\n * the DOM that never needs to change.\n *\n * Once we detect these sub-trees, we can:\n *\n * 1. Hoist them into constants, so that we no longer need to\n * create fresh nodes for them on each re-render;\n * 2. Completely skip them in the patching process.\n */\nfunction optimize (root, options) {\n if (!root) { return }\n isStaticKey = genStaticKeysCached(options.staticKeys || '');\n isPlatformReservedTag = options.isReservedTag || no;\n // first pass: mark all non-static nodes.\n markStatic$1(root);\n // second pass: mark static roots.\n markStaticRoots(root, false);\n}\n\nfunction genStaticKeys$1 (keys) {\n return makeMap(\n 'type,tag,attrsList,attrsMap,plain,parent,children,attrs' +\n (keys ? ',' + keys : '')\n )\n}\n\nfunction markStatic$1 (node) {\n node.static = isStatic(node);\n if (node.type === 1) {\n // do not make component slot content static. this avoids\n // 1. components not able to mutate slot nodes\n // 2. static slot content fails for hot-reloading\n if (\n !isPlatformReservedTag(node.tag) &&\n node.tag !== 'slot' &&\n node.attrsMap['inline-template'] == null\n ) {\n return\n }\n for (var i = 0, l = node.children.length; i < l; i++) {\n var child = node.children[i];\n markStatic$1(child);\n if (!child.static) {\n node.static = false;\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n var block = node.ifConditions[i$1].block;\n markStatic$1(block);\n if (!block.static) {\n node.static = false;\n }\n }\n }\n }\n}\n\nfunction markStaticRoots (node, isInFor) {\n if (node.type === 1) {\n if (node.static || node.once) {\n node.staticInFor = isInFor;\n }\n // For a node to qualify as a static root, it should have children that\n // are not just static text. Otherwise the cost of hoisting out will\n // outweigh the benefits and it's better off to just always render it fresh.\n if (node.static && node.children.length && !(\n node.children.length === 1 &&\n node.children[0].type === 3\n )) {\n node.staticRoot = true;\n return\n } else {\n node.staticRoot = false;\n }\n if (node.children) {\n for (var i = 0, l = node.children.length; i < l; i++) {\n markStaticRoots(node.children[i], isInFor || !!node.for);\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n markStaticRoots(node.ifConditions[i$1].block, isInFor);\n }\n }\n }\n}\n\nfunction isStatic (node) {\n if (node.type === 2) { // expression\n return false\n }\n if (node.type === 3) { // text\n return true\n }\n return !!(node.pre || (\n !node.hasBindings && // no dynamic bindings\n !node.if && !node.for && // not v-if or v-for or v-else\n !isBuiltInTag(node.tag) && // not a built-in\n isPlatformReservedTag(node.tag) && // not a component\n !isDirectChildOfTemplateFor(node) &&\n Object.keys(node).every(isStaticKey)\n ))\n}\n\nfunction isDirectChildOfTemplateFor (node) {\n while (node.parent) {\n node = node.parent;\n if (node.tag !== 'template') {\n return false\n }\n if (node.for) {\n return true\n }\n }\n return false\n}\n\n/* */\n\nvar fnExpRE = /^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function\\s*\\(/;\nvar simplePathRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/;\n\n// KeyboardEvent.keyCode aliases\nvar keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n};\n\n// KeyboardEvent.key aliases\nvar keyNames = {\n esc: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: ' ',\n // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.\n up: ['Up', 'ArrowUp'],\n left: ['Left', 'ArrowLeft'],\n right: ['Right', 'ArrowRight'],\n down: ['Down', 'ArrowDown'],\n 'delete': ['Backspace', 'Delete']\n};\n\n// #4868: modifiers that prevent the execution of the listener\n// need to explicitly return null so that we can determine whether to remove\n// the listener for .once\nvar genGuard = function (condition) { return (\"if(\" + condition + \")return null;\"); };\n\nvar modifierCode = {\n stop: '$event.stopPropagation();',\n prevent: '$event.preventDefault();',\n self: genGuard(\"$event.target !== $event.currentTarget\"),\n ctrl: genGuard(\"!$event.ctrlKey\"),\n shift: genGuard(\"!$event.shiftKey\"),\n alt: genGuard(\"!$event.altKey\"),\n meta: genGuard(\"!$event.metaKey\"),\n left: genGuard(\"'button' in $event && $event.button !== 0\"),\n middle: genGuard(\"'button' in $event && $event.button !== 1\"),\n right: genGuard(\"'button' in $event && $event.button !== 2\")\n};\n\nfunction genHandlers (\n events,\n isNative,\n warn\n) {\n var res = isNative ? 'nativeOn:{' : 'on:{';\n for (var name in events) {\n res += \"\\\"\" + name + \"\\\":\" + (genHandler(name, events[name])) + \",\";\n }\n return res.slice(0, -1) + '}'\n}\n\nfunction genHandler (\n name,\n handler\n) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(name, handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n /* istanbul ignore if */\n return (\"function($event){\" + (handler.value) + \"}\") // inline statement\n } else {\n var code = '';\n var genModifierCode = '';\n var keys = [];\n for (var key in handler.modifiers) {\n if (modifierCode[key]) {\n genModifierCode += modifierCode[key];\n // left/right\n if (keyCodes[key]) {\n keys.push(key);\n }\n } else if (key === 'exact') {\n var modifiers = (handler.modifiers);\n genModifierCode += genGuard(\n ['ctrl', 'shift', 'alt', 'meta']\n .filter(function (keyModifier) { return !modifiers[keyModifier]; })\n .map(function (keyModifier) { return (\"$event.\" + keyModifier + \"Key\"); })\n .join('||')\n );\n } else {\n keys.push(key);\n }\n }\n if (keys.length) {\n code += genKeyFilter(keys);\n }\n // Make sure modifiers like prevent and stop get executed after key filtering\n if (genModifierCode) {\n code += genModifierCode;\n }\n var handlerCode = isMethodPath\n ? (\"return \" + (handler.value) + \"($event)\")\n : isFunctionExpression\n ? (\"return (\" + (handler.value) + \")($event)\")\n : handler.value;\n /* istanbul ignore if */\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\"if(!('button' in $event)&&\" + (keys.map(genFilterCode).join('&&')) + \")return null;\")\n}\n\nfunction genFilterCode (key) {\n var keyVal = parseInt(key, 10);\n if (keyVal) {\n return (\"$event.keyCode!==\" + keyVal)\n }\n var keyCode = keyCodes[key];\n var keyName = keyNames[key];\n return (\n \"_k($event.keyCode,\" +\n (JSON.stringify(key)) + \",\" +\n (JSON.stringify(keyCode)) + \",\" +\n \"$event.key,\" +\n \"\" + (JSON.stringify(keyName)) +\n \")\"\n )\n}\n\n/* */\n\nfunction on (el, dir) {\n if (process.env.NODE_ENV !== 'production' && dir.modifiers) {\n warn(\"v-on without argument does not support modifiers.\");\n }\n el.wrapListeners = function (code) { return (\"_g(\" + code + \",\" + (dir.value) + \")\"); };\n}\n\n/* */\n\nfunction bind$1 (el, dir) {\n el.wrapData = function (code) {\n return (\"_b(\" + code + \",'\" + (el.tag) + \"',\" + (dir.value) + \",\" + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + \")\")\n };\n}\n\n/* */\n\nvar baseDirectives = {\n on: on,\n bind: bind$1,\n cloak: noop\n}\n\n/* */\n\nvar CodegenState = function CodegenState (options) {\n this.options = options;\n this.warn = options.warn || baseWarn;\n this.transforms = pluckModuleFunction(options.modules, 'transformCode');\n this.dataGenFns = pluckModuleFunction(options.modules, 'genData');\n this.directives = extend(extend({}, baseDirectives), options.directives);\n var isReservedTag = options.isReservedTag || no;\n this.maybeComponent = function (el) { return !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\n};\n\n\n\nfunction generate (\n ast,\n options\n) {\n var state = new CodegenState(options);\n var code = ast ? genElement(ast, state) : '_c(\"div\")';\n return {\n render: (\"with(this){return \" + code + \"}\"),\n staticRenderFns: state.staticRenderFns\n }\n}\n\nfunction genElement (el, state) {\n if (el.staticRoot && !el.staticProcessed) {\n return genStatic(el, state)\n } else if (el.once && !el.onceProcessed) {\n return genOnce(el, state)\n } else if (el.for && !el.forProcessed) {\n return genFor(el, state)\n } else if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.tag === 'template' && !el.slotTarget) {\n return genChildren(el, state) || 'void 0'\n } else if (el.tag === 'slot') {\n return genSlot(el, state)\n } else {\n // component or element\n var code;\n if (el.component) {\n code = genComponent(el.component, el, state);\n } else {\n var data = el.plain ? undefined : genData$2(el, state);\n\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n code = \"_c('\" + (el.tag) + \"'\" + (data ? (\",\" + data) : '') + (children ? (\",\" + children) : '') + \")\";\n }\n // module transforms\n for (var i = 0; i < state.transforms.length; i++) {\n code = state.transforms[i](el, code);\n }\n return code\n }\n}\n\n// hoist static sub-trees out\nfunction genStatic (el, state) {\n el.staticProcessed = true;\n state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\n return (\"_m(\" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + \")\")\n}\n\n// v-once\nfunction genOnce (el, state) {\n el.onceProcessed = true;\n if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.staticInFor) {\n var key = '';\n var parent = el.parent;\n while (parent) {\n if (parent.for) {\n key = parent.key;\n break\n }\n parent = parent.parent;\n }\n if (!key) {\n process.env.NODE_ENV !== 'production' && state.warn(\n \"v-once can only be used inside v-for that is keyed. \"\n );\n return genElement(el, state)\n }\n return (\"_o(\" + (genElement(el, state)) + \",\" + (state.onceId++) + \",\" + key + \")\")\n } else {\n return genStatic(el, state)\n }\n}\n\nfunction genIf (\n el,\n state,\n altGen,\n altEmpty\n) {\n el.ifProcessed = true; // avoid recursion\n return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)\n}\n\nfunction genIfConditions (\n conditions,\n state,\n altGen,\n altEmpty\n) {\n if (!conditions.length) {\n return altEmpty || '_e()'\n }\n\n var condition = conditions.shift();\n if (condition.exp) {\n return (\"(\" + (condition.exp) + \")?\" + (genTernaryExp(condition.block)) + \":\" + (genIfConditions(conditions, state, altGen, altEmpty)))\n } else {\n return (\"\" + (genTernaryExp(condition.block)))\n }\n\n // v-if with v-once should generate code like (a)?_m(0):_m(1)\n function genTernaryExp (el) {\n return altGen\n ? altGen(el, state)\n : el.once\n ? genOnce(el, state)\n : genElement(el, state)\n }\n}\n\nfunction genFor (\n el,\n state,\n altGen,\n altHelper\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n\n if (process.env.NODE_ENV !== 'production' &&\n state.maybeComponent(el) &&\n el.tag !== 'slot' &&\n el.tag !== 'template' &&\n !el.key\n ) {\n state.warn(\n \"<\" + (el.tag) + \" v-for=\\\"\" + alias + \" in \" + exp + \"\\\">: component lists rendered with \" +\n \"v-for should have explicit keys. \" +\n \"See https://vuejs.org/guide/list.html#key for more info.\",\n true /* tip */\n );\n }\n\n el.forProcessed = true; // avoid recursion\n return (altHelper || '_l') + \"((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + ((altGen || genElement)(el, state)) +\n '})'\n}\n\nfunction genData$2 (el, state) {\n var data = '{';\n\n // directives first.\n // directives may mutate the el's other properties before they are generated.\n var dirs = genDirectives(el, state);\n if (dirs) { data += dirs + ','; }\n\n // key\n if (el.key) {\n data += \"key:\" + (el.key) + \",\";\n }\n // ref\n if (el.ref) {\n data += \"ref:\" + (el.ref) + \",\";\n }\n if (el.refInFor) {\n data += \"refInFor:true,\";\n }\n // pre\n if (el.pre) {\n data += \"pre:true,\";\n }\n // record original tag name for components using \"is\" attribute\n if (el.component) {\n data += \"tag:\\\"\" + (el.tag) + \"\\\",\";\n }\n // module data generation functions\n for (var i = 0; i < state.dataGenFns.length; i++) {\n data += state.dataGenFns[i](el);\n }\n // attributes\n if (el.attrs) {\n data += \"attrs:{\" + (genProps(el.attrs)) + \"},\";\n }\n // DOM props\n if (el.props) {\n data += \"domProps:{\" + (genProps(el.props)) + \"},\";\n }\n // event handlers\n if (el.events) {\n data += (genHandlers(el.events, false, state.warn)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true, state.warn)) + \",\";\n }\n // slot target\n // only for non-scoped slots\n if (el.slotTarget && !el.slotScope) {\n data += \"slot:\" + (el.slotTarget) + \",\";\n }\n // scoped slots\n if (el.scopedSlots) {\n data += (genScopedSlots(el.scopedSlots, state)) + \",\";\n }\n // component v-model\n if (el.model) {\n data += \"model:{value:\" + (el.model.value) + \",callback:\" + (el.model.callback) + \",expression:\" + (el.model.expression) + \"},\";\n }\n // inline-template\n if (el.inlineTemplate) {\n var inlineTemplate = genInlineTemplate(el, state);\n if (inlineTemplate) {\n data += inlineTemplate + \",\";\n }\n }\n data = data.replace(/,$/, '') + '}';\n // v-bind data wrap\n if (el.wrapData) {\n data = el.wrapData(data);\n }\n // v-on data wrap\n if (el.wrapListeners) {\n data = el.wrapListeners(data);\n }\n return data\n}\n\nfunction genDirectives (el, state) {\n var dirs = el.directives;\n if (!dirs) { return }\n var res = 'directives:[';\n var hasRuntime = false;\n var i, l, dir, needRuntime;\n for (i = 0, l = dirs.length; i < l; i++) {\n dir = dirs[i];\n needRuntime = true;\n var gen = state.directives[dir.name];\n if (gen) {\n // compile-time directive that manipulates AST.\n // returns true if it also needs a runtime counterpart.\n needRuntime = !!gen(el, dir, state.warn);\n }\n if (needRuntime) {\n hasRuntime = true;\n res += \"{name:\\\"\" + (dir.name) + \"\\\",rawName:\\\"\" + (dir.rawName) + \"\\\"\" + (dir.value ? (\",value:(\" + (dir.value) + \"),expression:\" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (\",arg:\\\"\" + (dir.arg) + \"\\\"\") : '') + (dir.modifiers ? (\",modifiers:\" + (JSON.stringify(dir.modifiers))) : '') + \"},\";\n }\n }\n if (hasRuntime) {\n return res.slice(0, -1) + ']'\n }\n}\n\nfunction genInlineTemplate (el, state) {\n var ast = el.children[0];\n if (process.env.NODE_ENV !== 'production' && (\n el.children.length !== 1 || ast.type !== 1\n )) {\n state.warn('Inline-template components must have exactly one child element.');\n }\n if (ast.type === 1) {\n var inlineRenderFns = generate(ast, state.options);\n return (\"inlineTemplate:{render:function(){\" + (inlineRenderFns.render) + \"},staticRenderFns:[\" + (inlineRenderFns.staticRenderFns.map(function (code) { return (\"function(){\" + code + \"}\"); }).join(',')) + \"]}\")\n }\n}\n\nfunction genScopedSlots (\n slots,\n state\n) {\n return (\"scopedSlots:_u([\" + (Object.keys(slots).map(function (key) {\n return genScopedSlot(key, slots[key], state)\n }).join(',')) + \"])\")\n}\n\nfunction genScopedSlot (\n key,\n el,\n state\n) {\n if (el.for && !el.forProcessed) {\n return genForScopedSlot(key, el, state)\n }\n var fn = \"function(\" + (String(el.slotScope)) + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if\n ? ((el.if) + \"?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n return (\"{key:\" + key + \",fn:\" + fn + \"}\")\n}\n\nfunction genForScopedSlot (\n key,\n el,\n state\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n el.forProcessed = true; // avoid recursion\n return \"_l((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + (genScopedSlot(key, el, state)) +\n '})'\n}\n\nfunction genChildren (\n el,\n state,\n checkSkip,\n altGenElement,\n altGenNode\n) {\n var children = el.children;\n if (children.length) {\n var el$1 = children[0];\n // optimize single v-for\n if (children.length === 1 &&\n el$1.for &&\n el$1.tag !== 'template' &&\n el$1.tag !== 'slot'\n ) {\n return (altGenElement || genElement)(el$1, state)\n }\n var normalizationType = checkSkip\n ? getNormalizationType(children, state.maybeComponent)\n : 0;\n var gen = altGenNode || genNode;\n return (\"[\" + (children.map(function (c) { return gen(c, state); }).join(',')) + \"]\" + (normalizationType ? (\",\" + normalizationType) : ''))\n }\n}\n\n// determine the normalization needed for the children array.\n// 0: no normalization needed\n// 1: simple normalization needed (possible 1-level deep nested array)\n// 2: full normalization needed\nfunction getNormalizationType (\n children,\n maybeComponent\n) {\n var res = 0;\n for (var i = 0; i < children.length; i++) {\n var el = children[i];\n if (el.type !== 1) {\n continue\n }\n if (needsNormalization(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {\n res = 2;\n break\n }\n if (maybeComponent(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {\n res = 1;\n }\n }\n return res\n}\n\nfunction needsNormalization (el) {\n return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'\n}\n\nfunction genNode (node, state) {\n if (node.type === 1) {\n return genElement(node, state)\n } if (node.type === 3 && node.isComment) {\n return genComment(node)\n } else {\n return genText(node)\n }\n}\n\nfunction genText (text) {\n return (\"_v(\" + (text.type === 2\n ? text.expression // no need for () because already wrapped in _s()\n : transformSpecialNewlines(JSON.stringify(text.text))) + \")\")\n}\n\nfunction genComment (comment) {\n return (\"_e(\" + (JSON.stringify(comment.text)) + \")\")\n}\n\nfunction genSlot (el, state) {\n var slotName = el.slotName || '\"default\"';\n var children = genChildren(el, state);\n var res = \"_t(\" + slotName + (children ? (\",\" + children) : '');\n var attrs = el.attrs && (\"{\" + (el.attrs.map(function (a) { return ((camelize(a.name)) + \":\" + (a.value)); }).join(',')) + \"}\");\n var bind$$1 = el.attrsMap['v-bind'];\n if ((attrs || bind$$1) && !children) {\n res += \",null\";\n }\n if (attrs) {\n res += \",\" + attrs;\n }\n if (bind$$1) {\n res += (attrs ? '' : ',null') + \",\" + bind$$1;\n }\n return res + ')'\n}\n\n// componentName is el.component, take it as argument to shun flow's pessimistic refinement\nfunction genComponent (\n componentName,\n el,\n state\n) {\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n return (\"_c(\" + componentName + \",\" + (genData$2(el, state)) + (children ? (\",\" + children) : '') + \")\")\n}\n\nfunction genProps (props) {\n var res = '';\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n /* istanbul ignore if */\n {\n res += \"\\\"\" + (prop.name) + \"\\\":\" + (transformSpecialNewlines(prop.value)) + \",\";\n }\n }\n return res.slice(0, -1)\n}\n\n// #3895, #4268\nfunction transformSpecialNewlines (text) {\n return text\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n}\n\n/* */\n\n// these keywords should not appear inside expressions, but operators like\n// typeof, instanceof and in are allowed\nvar prohibitedKeywordRE = new RegExp('\\\\b' + (\n 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments'\n).split(',').join('\\\\b|\\\\b') + '\\\\b');\n\n// these unary operators should not be used as property/method names\nvar unaryOperatorsRE = new RegExp('\\\\b' + (\n 'delete,typeof,void'\n).split(',').join('\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b') + '\\\\s*\\\\([^\\\\)]*\\\\)');\n\n// strip strings in expressions\nvar stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n\n// detect problematic expressions in a template\nfunction detectErrors (ast) {\n var errors = [];\n if (ast) {\n checkNode(ast, errors);\n }\n return errors\n}\n\nfunction checkNode (node, errors) {\n if (node.type === 1) {\n for (var name in node.attrsMap) {\n if (dirRE.test(name)) {\n var value = node.attrsMap[name];\n if (value) {\n if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), errors);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], errors);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, errors);\n }\n}\n\nfunction checkEvent (exp, text, errors) {\n var stipped = exp.replace(stripStringRE, '');\n var keywordMatch = stipped.match(unaryOperatorsRE);\n if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {\n errors.push(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim())\n );\n }\n checkExpression(exp, text, errors);\n}\n\nfunction checkFor (node, text, errors) {\n checkExpression(node.for || '', text, errors);\n checkIdentifier(node.alias, 'v-for alias', text, errors);\n checkIdentifier(node.iterator1, 'v-for iterator', text, errors);\n checkIdentifier(node.iterator2, 'v-for iterator', text, errors);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n errors\n) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n errors.push((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())));\n }\n }\n}\n\nfunction checkExpression (exp, text, errors) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n errors.push(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim())\n );\n } else {\n errors.push(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\"\n );\n }\n }\n}\n\n/* */\n\nfunction createFunction (code, errors) {\n try {\n return new Function(code)\n } catch (err) {\n errors.push({ err: err, code: code });\n return noop\n }\n}\n\nfunction createCompileToFunctionFn (compile) {\n var cache = Object.create(null);\n\n return function compileToFunctions (\n template,\n options,\n vm\n ) {\n options = extend({}, options);\n var warn$$1 = options.warn || warn;\n delete options.warn;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n // detect possible CSP restriction\n try {\n new Function('return 1');\n } catch (e) {\n if (e.toString().match(/unsafe-eval|CSP/)) {\n warn$$1(\n 'It seems you are using the standalone build of Vue.js in an ' +\n 'environment with Content Security Policy that prohibits unsafe-eval. ' +\n 'The template compiler cannot work in this environment. Consider ' +\n 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +\n 'templates into render functions.'\n );\n }\n }\n }\n\n // check cache\n var key = options.delimiters\n ? String(options.delimiters) + template\n : template;\n if (cache[key]) {\n return cache[key]\n }\n\n // compile\n var compiled = compile(template, options);\n\n // check compilation errors/tips\n if (process.env.NODE_ENV !== 'production') {\n if (compiled.errors && compiled.errors.length) {\n warn$$1(\n \"Error compiling template:\\n\\n\" + template + \"\\n\\n\" +\n compiled.errors.map(function (e) { return (\"- \" + e); }).join('\\n') + '\\n',\n vm\n );\n }\n if (compiled.tips && compiled.tips.length) {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\n }\n }\n\n // turn code into functions\n var res = {};\n var fnGenErrors = [];\n res.render = createFunction(compiled.render, fnGenErrors);\n res.staticRenderFns = compiled.staticRenderFns.map(function (code) {\n return createFunction(code, fnGenErrors)\n });\n\n // check function generation errors.\n // this should only happen if there is a bug in the compiler itself.\n // mostly for codegen development use\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {\n warn$$1(\n \"Failed to generate render function:\\n\\n\" +\n fnGenErrors.map(function (ref) {\n var err = ref.err;\n var code = ref.code;\n\n return ((err.toString()) + \" in\\n\\n\" + code + \"\\n\");\n }).join('\\n'),\n vm\n );\n }\n }\n\n return (cache[key] = res)\n }\n}\n\n/* */\n\nfunction createCompilerCreator (baseCompile) {\n return function createCompiler (baseOptions) {\n function compile (\n template,\n options\n ) {\n var finalOptions = Object.create(baseOptions);\n var errors = [];\n var tips = [];\n finalOptions.warn = function (msg, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\n // merge custom modules\n if (options.modules) {\n finalOptions.modules =\n (baseOptions.modules || []).concat(options.modules);\n }\n // merge custom directives\n if (options.directives) {\n finalOptions.directives = extend(\n Object.create(baseOptions.directives || null),\n options.directives\n );\n }\n // copy other options\n for (var key in options) {\n if (key !== 'modules' && key !== 'directives') {\n finalOptions[key] = options[key];\n }\n }\n }\n\n var compiled = baseCompile(template, finalOptions);\n if (process.env.NODE_ENV !== 'production') {\n errors.push.apply(errors, detectErrors(compiled.ast));\n }\n compiled.errors = errors;\n compiled.tips = tips;\n return compiled\n }\n\n return {\n compile: compile,\n compileToFunctions: createCompileToFunctionFn(compile)\n }\n }\n}\n\n/* */\n\n// `createCompilerCreator` allows creating compilers that use alternative\n// parser/optimizer/codegen, e.g the SSR optimizing compiler.\n// Here we just export a default compiler using the default parts.\nvar createCompiler = createCompilerCreator(function baseCompile (\n template,\n options\n) {\n var ast = parse(template.trim(), options);\n if (options.optimize !== false) {\n optimize(ast, options);\n }\n var code = generate(ast, options);\n return {\n ast: ast,\n render: code.render,\n staticRenderFns: code.staticRenderFns\n }\n});\n\n/* */\n\nvar ref$1 = createCompiler(baseOptions);\nvar compileToFunctions = ref$1.compileToFunctions;\n\n/* */\n\n// check whether current browser encodes a char inside attribute values\nvar div;\nfunction getShouldDecode (href) {\n div = div || document.createElement('div');\n div.innerHTML = href ? \"<a href=\\\"\\n\\\"/>\" : \"<div a=\\\"\\n\\\"/>\";\n return div.innerHTML.indexOf(' ') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Do not mount Vue to <html> or <body> - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !template) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n\nexport default Vue;\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=66)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(10),r=n(43),o=n(31),s=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(77),r=n(21);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(9),r=n(52),o=n(18),s=n(55),u=n(53),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,y=t&a.P,g=t&a.B,b=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,m=d?r:r[e]||(r[e]={}),_=m.prototype||(m.prototype={});d&&(n=e);for(l in n)c=!h&&b&&void 0!==b[l],f=(c?b:n)[l],p=g&&c?u(f,i):y&&\"function\"==typeof f?u(Function.call,f):f,b&&s(b,l,f,t&a.U),m[l]!=f&&o(m,l,p),y&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){var i=n(3),r=n(15);t.exports=n(1)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(29)(\"wks\"),r=n(16),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(13);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(48),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){var i=n(109),r=n(110);t.exports=n(35)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(8);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(0),r=n(11),o=n(74),s=n(6),u=function(t,e,n){var a,l,c,f=t&u.F,p=t&u.G,h=t&u.S,d=t&u.P,v=t&u.B,y=t&u.W,g=p?r:r[e]||(r[e]={}),b=g.prototype,m=p?i:h?i[e]:(i[e]||{}).prototype;p&&(n=e);for(a in n)(l=!f&&m&&void 0!==m[a])&&a in g||(c=l?m[a]:n[a],g[a]=p&&\"function\"!=typeof m[a]?n[a]:v&&l?o(c,i):y&&m[a]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(c):d&&\"function\"==typeof c?o(Function.call,c):c,d&&((g.virtual||(g.virtual={}))[a]=c,t&u.R&&b&&!b[a]&&s(b,a,c)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(3).f,r=n(2),o=n(7)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(29)(\"keys\"),r=n(16);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(0),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(13);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var i=n(0),r=n(11),o=n(25),s=n(33),u=n(3).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});\"_\"==t.charAt(0)||t in e||u(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var i=n(53),r=n(36),o=n(57),s=n(37),u=n(104);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,y,g=o(e),b=r(g),m=i(u,d,3),_=s(b.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in b)&&(v=b[x],y=m(v,x,g),t))if(n)w[x]=y;else if(y)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(51);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(56),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(111)(\"wks\"),r=n(58),o=n(9).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,n,i,r){return function(o){return o.map(function(o){var u;if(!o[n])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var a=s(o[n],t,e,r);return a.length?(u={},v()(u,i,o[i]),v()(u,n,a),u):[]})}}var c=n(65),f=n.n(c),p=n(59),h=(n.n(p),n(122)),d=(n.n(h),n(64)),v=n.n(d),y=n(120),g=(n.n(y),n(121)),b=(n.n(g),n(117)),m=(n.n(b),n(123)),_=(n.n(m),n(118)),x=(n.n(_),n(119)),w=(n.n(x),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:\"\",isOpen:!1,prefferedOpenDirection:\"below\",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:\"Select option\"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?\"\":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:\"Press enter to create a tag\"},tagPosition:{type:String,default:\"top\"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){this.multiple||this.clearOnSelect||console.warn(\"[Vue-Multiselect warn]: ClearOnSelect and Multiple props can’t be both set to false.\"),!this.multiple&&this.max&&console.warn(\"[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.\"),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||\"\",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&(\"bottom\"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?\"\":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?\"\":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search=\"\",this.$emit(\"input\",this.multiple?[]:null))},search:function(){this.$emit(\"search-change\",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return w(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return w(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var o=n[this.groupValues].filter(r(this.isSelected));this.$emit(\"select\",o,this.id),this.$emit(\"input\",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n=\"object\"===f()(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var i=this.internalValue.slice(0,n).concat(this.internalValue.slice(n+1));this.$emit(\"input\",i,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.prefferedOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(59);n.n(i);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?\"multiselect__option--group\":\"multiselect__option--disabled\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var i=n(13),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){\"use strict\";var i=n(25),r=n(23),o=n(49),s=n(6),u=n(2),a=n(24),l=n(79),c=n(27),f=n(86),p=n(7)(\"iterator\"),h=!([].keys&&\"next\"in[].keys()),d=function(){return this};t.exports=function(t,e,n,v,y,g,b){l(n,e,v);var m,_,x,w=function(t){if(!h&&t in P)return P[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+\" Iterator\",O=\"values\"==y,L=!1,P=t.prototype,k=P[p]||P[\"@@iterator\"]||y&&P[y],E=k||w(y),j=y?O?w(\"entries\"):E:void 0,V=\"Array\"==e?P.entries||k:k;if(V&&(x=f(V.call(new t)))!==Object.prototype&&(c(x,S,!0),i||u(x,p)||s(x,p,d)),O&&k&&\"values\"!==k.name&&(L=!0,E=function(){return k.call(this)}),i&&!b||!h&&!L&&P[p]||s(P,p,E),a[e]=E,a[S]=d,y)if(m={values:O?E:w(\"values\"),keys:g?E:w(\"keys\"),entries:j},b)for(_ in m)_ in P||o(P,_,m[_]);else r(r.P+r.F*(h||L),e,m);return m}},function(t,e,n){var i=n(10),r=n(83),o=n(22),s=n(28)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(42)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(76).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(48),r=n(22).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(2),r=n(4),o=n(73)(!1),s=n(28)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){t.exports=n(6)},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(50);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(51);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){var i=n(9),r=n(18),o=n(107),s=n(58)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(52).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(17);t.exports=function(t){return Object(i(t))}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(5),o=!0;\"find\"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,\"Array\",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)(\"find\")},function(t,e,n){\"use strict\";function i(t){n(124)}var r=n(67),o=n(126),s=n(125),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){t.exports=n(68)},function(t,e,n){t.exports=n(69)},function(t,e,n){t.exports=n(70)},function(t,e,n){function i(t,e,n){return e in t?r(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r=n(61);t.exports=i},function(t,e,n){function i(t){return(i=\"function\"==typeof s&&\"symbol\"==typeof o?function(t){return typeof t}:function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":typeof t})(t)}function r(e){return\"function\"==typeof s&&\"symbol\"===i(o)?t.exports=r=function(t){return i(t)}:t.exports=r=function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":i(t)},r(e)}var o=n(63),s=n(62);t.exports=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(60),r=n(39),o=n(40);n.d(e,\"Multiselect\",function(){return i.a}),n.d(e,\"multiselectMixin\",function(){return r.a}),n.d(e,\"pointerMixin\",function(){return o.a}),e.default=i.a},function(t,e,n){\"use strict\";var i=n(39),r=n(40);e.a={name:\"vue-multiselect\",mixins:[i.a,r.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return this.singleValue&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"auto\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.prefferedOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){n(92);var i=n(11).Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},function(t,e,n){n(95),n(93),n(96),n(97),t.exports=n(11).Symbol},function(t,e,n){n(94),n(98),t.exports=n(33).f(\"iterator\")},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var i=n(4),r=n(89),o=n(88);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(71);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(14),r=n(47),o=n(26);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,u=n(t),a=o.f,l=0;u.length>l;)a.call(t,s=u[l++])&&e.push(s);return e}},function(t,e,n){t.exports=n(0).document&&document.documentElement},function(t,e,n){var i=n(41);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(41);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";var i=n(45),r=n(15),o=n(27),s={};n(6)(s,n(7)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(14),r=n(4);t.exports=function(t,e){for(var n,o=r(t),s=i(o),u=s.length,a=0;u>a;)if(o[n=s[a++]]===e)return n}},function(t,e,n){var i=n(16)(\"meta\"),r=n(13),o=n(2),s=n(3).f,u=0,a=Object.isExtensible||function(){return!0},l=!n(12)(function(){return a(Object.preventExtensions({}))}),c=function(t){s(t,i,{value:{i:\"O\"+ ++u,w:{}}})},f=function(t,e){if(!r(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!o(t,i)){if(!a(t))return\"F\";if(!e)return\"E\";c(t)}return t[i].i},p=function(t,e){if(!o(t,i)){if(!a(t))return!0;if(!e)return!1;c(t)}return t[i].w},h=function(t){return l&&d.NEED&&a(t)&&!o(t,i)&&c(t),t},d=t.exports={KEY:i,NEED:!1,fastKey:f,getWeak:p,onFreeze:h}},function(t,e,n){var i=n(3),r=n(10),o=n(14);t.exports=n(1)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(26),r=n(15),o=n(4),s=n(31),u=n(2),a=n(43),l=Object.getOwnPropertyDescriptor;e.f=n(1)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(4),r=n(46).f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&\"[object Window]\"==o.call(t)?u(t):r(i(t))}},function(t,e,n){var i=n(2),r=n(90),o=n(28)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(30),r=n(21);t.exports=function(t){return function(e,n){var o,s,u=String(r(e)),a=i(n),l=u.length;return a<0||a>=l?t?\"\":void 0:(o=u.charCodeAt(a),o<55296||o>56319||a+1===l||(s=u.charCodeAt(a+1))<56320||s>57343?t?u.charAt(a):o:t?u.slice(a,a+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var i=n(30),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(30),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(21);t.exports=function(t){return Object(i(t))}},function(t,e,n){\"use strict\";var i=n(72),r=n(80),o=n(24),s=n(4);t.exports=n(44)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){var i=n(23);i(i.S+i.F*!n(1),\"Object\",{defineProperty:n(3).f})},function(t,e){},function(t,e,n){\"use strict\";var i=n(87)(!0);n(44)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){\"use strict\";var i=n(0),r=n(2),o=n(1),s=n(23),u=n(49),a=n(82).KEY,l=n(12),c=n(29),f=n(27),p=n(16),h=n(7),d=n(33),v=n(32),y=n(81),g=n(75),b=n(78),m=n(10),_=n(4),x=n(31),w=n(15),S=n(45),O=n(85),L=n(84),P=n(3),k=n(14),E=L.f,j=P.f,V=O.f,C=i.Symbol,T=i.JSON,A=T&&T.stringify,$=h(\"_hidden\"),D=h(\"toPrimitive\"),F={}.propertyIsEnumerable,M=c(\"symbol-registry\"),B=c(\"symbols\"),N=c(\"op-symbols\"),R=Object.prototype,H=\"function\"==typeof C,G=i.QObject,I=!G||!G.prototype||!G.prototype.findChild,K=o&&l(function(){return 7!=S(j({},\"a\",{get:function(){return j(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var i=E(R,e);i&&delete R[e],j(t,e,n),i&&t!==R&&j(R,e,i)}:j,z=function(t){var e=B[t]=S(C.prototype);return e._k=t,e},U=H&&\"symbol\"==typeof C.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof C},W=function(t,e,n){return t===R&&W(N,e,n),m(t),e=x(e,!0),m(n),r(B,e)?(n.enumerable?(r(t,$)&&t[$][e]&&(t[$][e]=!1),n=S(n,{enumerable:w(0,!1)})):(r(t,$)||j(t,$,w(1,{})),t[$][e]=!0),K(t,e,n)):j(t,e,n)},J=function(t,e){m(t);for(var n,i=g(e=_(e)),r=0,o=i.length;o>r;)W(t,n=i[r++],e[n]);return t},q=function(t,e){return void 0===e?S(t):J(S(t),e)},X=function(t){var e=F.call(this,t=x(t,!0));return!(this===R&&r(B,t)&&!r(N,t))&&(!(e||!r(this,t)||!r(B,t)||r(this,$)&&this[$][t])||e)},Y=function(t,e){if(t=_(t),e=x(e,!0),t!==R||!r(B,e)||r(N,e)){var n=E(t,e);return!n||!r(B,e)||r(t,$)&&t[$][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=V(_(t)),i=[],o=0;n.length>o;)r(B,e=n[o++])||e==$||e==a||i.push(e);return i},Z=function(t){for(var e,n=t===R,i=V(n?N:_(t)),o=[],s=0;i.length>s;)!r(B,e=i[s++])||n&&!r(R,e)||o.push(B[e]);return o};H||(C=function(){if(this instanceof C)throw TypeError(\"Symbol is not a constructor!\");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===R&&e.call(N,n),r(this,$)&&r(this[$],t)&&(this[$][t]=!1),K(this,t,w(1,n))};return o&&I&&K(R,t,{configurable:!0,set:e}),z(t)},u(C.prototype,\"toString\",function(){return this._k}),L.f=Y,P.f=W,n(46).f=O.f=Q,n(26).f=X,n(47).f=Z,o&&!n(25)&&u(R,\"propertyIsEnumerable\",X,!0),d.f=function(t){return z(h(t))}),s(s.G+s.W+s.F*!H,{Symbol:C});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)h(tt[et++]);for(var tt=k(h.store),et=0;tt.length>et;)v(tt[et++]);s(s.S+s.F*!H,\"Symbol\",{for:function(t){return r(M,t+=\"\")?M[t]:M[t]=C(t)},keyFor:function(t){if(U(t))return y(M,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){I=!0},useSimple:function(){I=!1}}),s(s.S+s.F*!H,\"Object\",{create:q,defineProperty:W,defineProperties:J,getOwnPropertyDescriptor:Y,getOwnPropertyNames:Q,getOwnPropertySymbols:Z}),T&&s(s.S+s.F*(!H||l(function(){var t=C();return\"[null]\"!=A([t])||\"{}\"!=A({a:t})||\"{}\"!=A(Object(t))})),\"JSON\",{stringify:function(t){if(void 0!==t&&!U(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],\"function\"==typeof e&&(n=e),!n&&b(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!U(e))return e}),i[1]=e,A.apply(T,i)}}}),C.prototype[D]||n(6)(C.prototype,D,C.prototype.valueOf),f(C,\"Symbol\"),f(Math,\"Math\",!0),f(i.JSON,\"JSON\",!0)},function(t,e,n){n(32)(\"asyncIterator\")},function(t,e,n){n(32)(\"observable\")},function(t,e,n){n(91);for(var i=n(0),r=n(6),o=n(24),s=n(7)(\"toStringTag\"),u=[\"NodeList\",\"DOMTokenList\",\"MediaList\",\"StyleSheetList\",\"CSSRuleList\"],a=0;a<5;a++){var l=u[a],c=i[l],f=c&&c.prototype;f&&!f[s]&&r(f,s,l),o[l]=o.Array}},function(t,e,n){var i=n(38)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(18)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(19);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(115),r=n(37),o=n(114);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(50),r=n(57),o=n(36),s=n(37);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(19),r=n(54),o=n(38)(\"species\");t.exports=function(t){var e;return r(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(103);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){var i=n(19),r=n(9).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){\"use strict\";var i=n(18),r=n(55),o=n(8),s=n(17),u=n(38);t.exports=function(t,e,n){var a=u(t),l=n(s,a,\"\"[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=\"\"[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(35)&&!n(8)(function(){return 7!=Object.defineProperty(n(105)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(100),r=n(108),o=n(116),s=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(9),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e,n){var i=n(5),r=n(17),o=n(8),s=n(113),u=\"[\"+s+\"]\",a=\"
\",l=RegExp(\"^\"+u+u+\"*\"),c=RegExp(u+u+\"*$\"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,\"String\",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(c,\"\")),t};t.exports=f},function(t,e){t.exports=\"\\t\\n\\v\\f\\r \\u2028\\u2029\\ufeff\"},function(t,e,n){var i=n(56),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(36),r=n(17);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(19);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(2);i(i.P+i.F*!n(20)([].filter,!0),\"Array\",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(101)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(20)(o)),\"Array\",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(5);i(i.S,\"Array\",{isArray:n(54)})},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(1);i(i.P+i.F*!n(20)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(102);i(i.P+i.F*!n(20)([].reduce,!0),\"Array\",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){n(106)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){\"use strict\";n(112)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(s=t,u=t.default);var l=\"function\"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"multiselect\",class:{\"multiselect--active\":t.isOpen,\"multiselect--disabled\":t.disabled,\"multiselect--above\":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return\"button\"in e||!t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||!t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}],keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()}}},[t._t(\"caret\",[n(\"div\",{staticClass:\"multiselect__select\",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(\" \"),t._t(\"clear\",null,{search:t.search}),t._v(\" \"),n(\"div\",{ref:\"tags\",staticClass:\"multiselect__tags\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibleValues.length>0,expression:\"visibleValues.length > 0\"}],staticClass:\"multiselect__tags-wrap\"},[t._l(t.visibleValues,function(e){return[t._t(\"tag\",[n(\"span\",{staticClass:\"multiselect__tag\"},[n(\"span\",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(\" \"),n(\"i\",{staticClass:\"multiselect__tag-icon\",attrs:{\"aria-hidden\":\"true\",tabindex:\"1\"},on:{keydown:function(n){if(!(\"button\"in n)&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(\" \"),t.internalValue&&t.internalValue.length>t.limit?[t._t(\"limit\",[n(\"strong\",{staticClass:\"multiselect__strong\",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e(),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect__loading\"}},[t._t(\"loading\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.loading,expression:\"loading\"}],staticClass:\"multiselect__spinner\"})])],2),t._v(\" \"),n(\"input\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen&&t.searchable,expression:\"isOpen && searchable\"}],ref:\"search\",staticClass:\"multiselect__input\",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:\"text\",autocomplete:\"off\",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\"))return null;e.preventDefault(),t.pointerForward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\"))return null;e.preventDefault(),t.pointerBackward()},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\"]))return null;e.stopPropagation(),t.removeLastElement()}]}}),t._v(\" \"),t.isSingleLabelVisible?n(\"span\",{staticClass:\"multiselect__single\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"singleLabel\",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(\" \"),t.isPlaceholderVisible?n(\"span\",{on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"placeholder\",[n(\"span\",{staticClass:\"multiselect__single\"},[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])])],2):t._e()],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen,expression:\"isOpen\"}],ref:\"list\",staticClass:\"multiselect__content-wrapper\",style:{maxHeight:t.optimizedHeight+\"px\"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n(\"ul\",{staticClass:\"multiselect__content\",style:t.contentStyle},[t._t(\"beforeList\"),t._v(\" \"),t.multiple&&t.max===t.internalValue.length?n(\"li\",[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"maxElements\",[t._v(\"Maximum of \"+t._s(t.max)+\" options selected. First remove a selected option to select another.\")])],2)]):t._e(),t._v(\" \"),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n(\"li\",{key:i,staticClass:\"multiselect__element\"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n(\"span\",{staticClass:\"multiselect__option\",class:t.optionHighlight(i,e),attrs:{\"data-select\":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,\"data-selected\":t.selectedLabelText,\"data-deselect\":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(\" \"),e&&(e.$isLabel||e.$isDisabled)?n(\"span\",{staticClass:\"multiselect__option\",class:t.groupHighlight(i,e),attrs:{\"data-select\":t.groupSelect&&t.selectGroupLabelText,\"data-deselect\":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:\"showNoResults && (filteredOptions.length === 0 && search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noResult\",[t._v(\"No elements found. Consider changing the search query.\")])],2)]),t._v(\" \"),t._t(\"afterList\")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = require('./lib/axios');","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","module.exports = {};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","module.exports = false;\n","var core = module.exports = { version: '2.5.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (process.env && process.env.VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n","exports.f = {}.propertyIsEnumerable;\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n var fns = exec(defined, SYMBOL, ''[KEY]);\n var strfn = fns[0];\n var rxfn = fns[1];\n if (fails(function () {\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n })) {\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","exports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function validate(binding) {\r\n if (typeof binding.value !== 'function') {\r\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isPopup(popupItem, elements) {\r\n if (!popupItem || !elements)\r\n return false\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n try {\r\n if (popupItem.contains(elements[i])) {\r\n return true\r\n }\r\n if (elements[i].contains(popupItem)) {\r\n return false\r\n }\r\n } catch(e) {\r\n return false\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isServer(vNode) {\r\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\r\n}\r\n\r\nexports = module.exports = {\r\n bind: function (el, binding, vNode) {\r\n if (!validate(binding)) return\r\n\r\n // Define Handler and cache it on the element\r\n function handler(e) {\r\n if (!vNode.context) return\r\n\r\n // some components may have related popup item, on which we shall prevent the click outside event handler.\r\n var elements = e.path || (e.composedPath && e.composedPath())\r\n elements && elements.length > 0 && elements.unshift(e.target)\r\n \r\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\r\n\r\n el.__vueClickOutside__.callback(e)\r\n }\r\n\r\n // add Event Listeners\r\n el.__vueClickOutside__ = {\r\n handler: handler,\r\n callback: binding.value\r\n }\r\n !isServer(vNode) && document.addEventListener('click', handler)\r\n },\r\n\r\n update: function (el, binding) {\r\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\r\n },\r\n \r\n unbind: function (el, binding, vNode) {\r\n // Remove Event Listeners\r\n !isServer(vNode) && document.removeEventListener('click', el.__vueClickOutside__.handler)\r\n delete el.__vueClickOutside__\r\n }\r\n}\r\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n","var getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","exports.f = require('./_wks');\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueInfiniteLoading=t():e.VueInfiniteLoading=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(n){if(i[n])return i[n].exports;var a=i[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var i={};return t.m=e,t.c=i,t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,\"a\",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/\",t(t.s=3)}([function(e,t){function i(e,t){var i=e[1]||\"\",a=e[3];if(!a)return i;if(t&&\"function\"==typeof btoa){var r=n(a);return[i].concat(a.sources.map(function(e){return\"/*# sourceURL=\"+a.sourceRoot+e+\" */\"})).concat([r]).join(\"\\n\")}return[i].join(\"\\n\")}function n(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=i(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n}).join(\"\")},t.i=function(e,i){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var n={},a=0;a<this.length;a++){var r=this[a][0];\"number\"==typeof r&&(n[r]=!0)}for(a=0;a<e.length;a++){var o=e[a];\"number\"==typeof o[0]&&n[o[0]]||(i&&!o[2]?o[2]=i:i&&(o[2]=\"(\"+o[2]+\") and (\"+i+\")\"),t.push(o))}},t}},function(e,t,i){function n(e){for(var t=0;t<e.length;t++){var i=e[t],n=f[i.id];if(n){n.refs++;for(var a=0;a<n.parts.length;a++)n.parts[a](i.parts[a]);for(;a<i.parts.length;a++)n.parts.push(r(i.parts[a]));n.parts.length>i.parts.length&&(n.parts.length=i.parts.length)}else{for(var o=[],a=0;a<i.parts.length;a++)o.push(r(i.parts[a]));f[i.id]={id:i.id,refs:1,parts:o}}}}function a(){var e=document.createElement(\"style\");return e.type=\"text/css\",c.appendChild(e),e}function r(e){var t,i,n=document.querySelector('style[data-vue-ssr-id~=\"'+e.id+'\"]');if(n){if(m)return h;n.parentNode.removeChild(n)}if(b){var r=p++;n=u||(u=a()),t=o.bind(null,n,r,!1),i=o.bind(null,n,r,!0)}else n=a(),t=s.bind(null,n),i=function(){n.parentNode.removeChild(n)};return t(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;t(e=n)}else i()}}function o(e,t,i,n){var a=i?\"\":n.css;if(e.styleSheet)e.styleSheet.cssText=g(t,a);else{var r=document.createTextNode(a),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(r,o[t]):e.appendChild(r)}}function s(e,t){var i=t.css,n=t.media,a=t.sourceMap;if(n&&e.setAttribute(\"media\",n),a&&(i+=\"\\n/*# sourceURL=\"+a.sources[0]+\" */\",i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var l=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!l)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var d=i(7),f={},c=l&&(document.head||document.getElementsByTagName(\"head\")[0]),u=null,p=0,m=!1,h=function(){},b=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,i){m=i;var a=d(e,t);return n(a),function(t){for(var i=[],r=0;r<a.length;r++){var o=a[r],s=f[o.id];s.refs--,i.push(s)}t?(a=d(e,t),n(a)):a=[];for(var r=0;r<i.length;r++){var s=i[r];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete f[s.id]}}}};var g=function(){var e=[];return function(t,i){return e[t]=i,e.filter(Boolean).join(\"\\n\")}}()},function(e,t){e.exports=function(e,t,i,n,a,r){var o,s=e=e||{},l=typeof e.default;\"object\"!==l&&\"function\"!==l||(o=e,s=e.default);var d=\"function\"==typeof s?s.options:s;t&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0),i&&(d.functional=!0),a&&(d._scopeId=a);var f;if(r?(f=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},d._ssrRegister=f):n&&(f=n),f){var c=d.functional,u=c?d.render:d.beforeCreate;c?(d._injectStyles=f,d.render=function(e,t){return f.call(t),u(e,t)}):d.beforeCreate=u?[].concat(u,f):[f]}return{esModule:o,exports:s,options:d}}},function(e,t,i){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=i(4);t.default=n.a,\"undefined\"!=typeof window&&window.Vue&&window.Vue.component(\"infinite-loading\",n.a)},function(e,t,i){\"use strict\";function n(e){i(5)}var a=i(8),r=i(14),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-fb2c869e\",null);t.a=l.exports},function(e,t,i){var n=i(6);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"2249d7a7\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,\".infinite-loading-container[data-v-fb2c869e]{clear:both;text-align:center}.infinite-loading-container[data-v-fb2c869e] [class^=loading-]{display:inline-block;margin:15px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.infinite-status-prompt[data-v-fb2c869e]{color:#666;font-size:14px;text-align:center;padding:10px 0}\",\"\"])},function(e,t){e.exports=function(e,t){for(var i=[],n={},a=0;a<t.length;a++){var r=t[a],o=r[0],s=r[1],l=r[2],d=r[3],f={id:e+\":\"+a,css:s,media:l,sourceMap:d};n[o]?n[o].parts.push(f):i.push(n[o]={id:o,parts:[f]})}return i}},function(e,t,i){\"use strict\";var n=i(9),a={STATE_CHANGER:[\"[Vue-infinite-loading warn]: emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):\",\"\\ntemplate:\",'<infinite-loading @infinite=\"infiniteHandler\"></infinite-loading>',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\"},r={INFINITE_LOOP:[\"[Vue-infinite-loading error]: executed the callback function more than 10 times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\",'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n<div infinite-wrapper>\\n ...\\n \\x3c!-- set force-use-infinite-wrapper to true --\\x3e\\n <infinite-loading force-use-infinite-wrapper=\"true\"></infinite-loading>\\n</div>\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")};t.a={name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,debounceTimer:null,debounceDuration:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:n.a},computed:{isNoResults:{cache:!1,get:function(){var e=this.$slots[\"no-results\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!t}},isNoMore:{cache:!1,get:function(){var e=this.$slots[\"no-more\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!t}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:null},mounted:function(){var e=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(e){this.isLoading||(clearTimeout(this.debounceTimer),e&&e.constructor===Event?this.debounceTimer=setTimeout(this.attemptLoad,this.debounceDuration):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener(\"scroll\",this.scrollHandler),this.$on(\"$InfiniteLoading:loaded\",function(t){e.isFirstLoad=!1,e.isLoading&&e.$nextTick(e.attemptLoad.bind(null,!0)),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:complete\",function(t){e.isLoading=!1,e.isComplete=!0,e.$nextTick(function(){e.$forceUpdate()}),e.scrollParent.removeEventListener(\"scroll\",e.scrollHandler),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:reset\",function(){e.isLoading=!1,e.isComplete=!1,e.isFirstLoad=!0,e.scrollParent.addEventListener(\"scroll\",e.scrollHandler),setTimeout(e.scrollHandler,1)}),this.onInfinite&&console.warn(a.INFINITE_EVENT),this.stateChanger={loaded:function(){e.$emit(\"$InfiniteLoading:loaded\",{target:e})},complete:function(){e.$emit(\"$InfiniteLoading:complete\",{target:e})},reset:function(){e.$emit(\"$InfiniteLoading:reset\",{target:e})}},this.$watch(\"forceUseInfiniteWrapper\",function(){e.scrollParent=e.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler)},methods:{attemptLoad:function(e){var t=this,i=this.getCurrentDistance();!this.isComplete&&i<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!e||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){t.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(r.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){var e=void 0;if(\"top\"===this.direction)e=isNaN(this.scrollParent.scrollTop)?this.scrollParent.pageYOffset:this.scrollParent.scrollTop;else{e=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom)}return e},getScrollParent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el,t=void 0;return\"BODY\"===e.tagName?t=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(e).overflowY)>-1?t=e:(e.hasAttribute(\"infinite-wrapper\")||e.hasAttribute(\"data-infinite-wrapper\"))&&(t=e),t||this.getScrollParent(e.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)}}},function(e,t,i){\"use strict\";function n(e){i(10)}var a=i(12),r=i(13),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-6e1fd88f\",null);t.a=l.exports},function(e,t,i){var n=i(11);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"29881045\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,'.loading-wave-dots[data-v-6e1fd88f]{position:relative}.loading-wave-dots[data-v-6e1fd88f] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite;animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite}.loading-wave-dots[data-v-6e1fd88f] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-6e1fd88f] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-6e1fd88f linear .75s infinite;animation:loading-circles-data-v-6e1fd88f linear .75s infinite}.loading-circles[data-v-6e1fd88f] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-6e1fd88f] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-6e1fd88f] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite;animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite}.loading-bubbles[data-v-6e1fd88f] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-6e1fd88f]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite;animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite}.loading-default[data-v-6e1fd88f]:before{content:\"\";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-6e1fd88f]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-6e1fd88f linear .85s infinite;animation:loading-rotating-data-v-6e1fd88f linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-6e1fd88f],.loading-circles[data-v-6e1fd88f]{position:relative}.loading-bubbles[data-v-6e1fd88f] .bubble-item,.loading-circles[data-v-6e1fd88f] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child,.loading-circles[data-v-6e1fd88f] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',\"\"])},function(e,t,i){\"use strict\";var n={BUBBLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-bubbles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"bubble-item\"}})}))}},CIRCLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-circles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"circle-item\"}})}))}},DEFAULT:{render:function(e){return e(\"i\",{attrs:{class:\"loading-default\"}})}},SPIRAL:{render:function(e){return e(\"i\",{attrs:{class:\"loading-spiral\"}})}},WAVEDOTS:{render:function(e){return e(\"span\",{attrs:{class:\"loading-wave-dots\"}},Array.apply(Array,Array(5)).map(function(){return e(\"span\",{attrs:{class:\"wave-item\"}})}))}}};t.a={name:\"spinner\",computed:{spinnerView:function(){return n[(this.spinner||\"\").toUpperCase()]||n.DEFAULT}},props:{spinner:String}}},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.spinnerView,{tag:\"component\"})},a=[],r={render:n,staticRenderFns:a};t.a=r},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{staticClass:\"infinite-loading-container\"},[i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isLoading,expression:\"isLoading\"}]},[e._t(\"spinner\",[i(\"spinner\",{attrs:{spinner:e.spinner}})])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoResults,expression:\"isNoResults\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-results\",[e._v(\"No results :(\")])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoMore,expression:\"isNoMore\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-more\",[e._v(\"No more data :)\")])],2)])},a=[],r={render:n,staticRenderFns:a};t.a=r}])});","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.3\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && parent.nodeName === 'HTML') {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\nif (typeof window !== 'undefined') {\n\tSVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n\tif (typeof value === 'string') {\n\t\tvalue = value.split(' ');\n\t}\n\treturn value;\n}\n\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\nfunction addClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = convertToArray(el.className.baseVal);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tif (classList.indexOf(newClass) === -1) {\n\t\t\tclassList.push(newClass);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\nfunction removeClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = convertToArray(el.className.baseVal);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tvar index = classList.indexOf(newClass);\n\t\tif (index !== -1) {\n\t\t\tclassList.splice(index, 1);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n\tsupportsPassive = false;\n\ttry {\n\t\tvar opts = Object.defineProperty({}, 'passive', {\n\t\t\tget: function get() {\n\t\t\t\tsupportsPassive = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('test', null, opts);\n\t} catch (e) {}\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck$1 = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass$1 = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends$1 = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/* Forked from https://github.com/FezVrasta/popper.js/blob/master/packages/tooltip/src/index.js */\n\nvar DEFAULT_OPTIONS = {\n\tcontainer: false,\n\tdelay: 0,\n\thtml: false,\n\tplacement: 'top',\n\ttitle: '',\n\ttemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n\ttrigger: 'hover focus',\n\toffset: 0\n};\n\nvar openTooltips = [];\n\nvar Tooltip = function () {\n\t/**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n *\t\t\tPlacement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n *\t\t\tleft(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n *\t\t\tDelay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n *\t\t\tIf a number is supplied, delay is applied to both hide/show.\n *\t\t\tObject structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>']\n *\t\t\tBase HTML to used when creating the tooltip.\n *\t\t\tThe tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n *\t\t\t`.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n *\t\t\tThe outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n *\t\t\tHow tooltip is triggered - click, hover, focus, manual.\n *\t\t\tYou may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n *\t\t\tThe element used as boundaries for the tooltip. For more information refer to Popper.js'\n *\t\t\t[boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n *\t\t\t[offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n *\t\t\t[options docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n\tfunction Tooltip(reference, options) {\n\t\tclassCallCheck$1(this, Tooltip);\n\n\t\t_initialiseProps.call(this);\n\n\t\t// apply user options over default ones\n\t\toptions = _extends$1({}, DEFAULT_OPTIONS, options);\n\n\t\treference.jquery && (reference = reference[0]);\n\n\t\t// cache reference and options\n\t\tthis.reference = reference;\n\t\tthis.options = options;\n\n\t\t// set initial state\n\t\tthis._isOpen = false;\n\n\t\tthis._init();\n\t}\n\n\t//\n\t// Public methods\n\t//\n\n\t/**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n\n\t/**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n\n\tcreateClass$1(Tooltip, [{\n\t\tkey: 'setClasses',\n\t\tvalue: function setClasses(classes) {\n\t\t\tthis._classes = classes;\n\t\t}\n\t}, {\n\t\tkey: 'setContent',\n\t\tvalue: function setContent(content) {\n\t\t\tthis.options.title = content;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._setContent(content, this.options);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'setOptions',\n\t\tvalue: function setOptions(options) {\n\t\t\tvar classesUpdated = false;\n\t\t\tvar classes = options && options.classes || directive.options.defaultClass;\n\t\t\tif (this._classes !== classes) {\n\t\t\t\tthis.setClasses(classes);\n\t\t\t\tclassesUpdated = true;\n\t\t\t}\n\n\t\t\toptions = getOptions(options);\n\n\t\t\tvar needPopperUpdate = false;\n\t\t\tvar needRestart = false;\n\n\t\t\tif (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n\t\t\t\tneedPopperUpdate = true;\n\t\t\t}\n\n\t\t\tif (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n\t\t\t\tneedRestart = true;\n\t\t\t}\n\n\t\t\tfor (var key in options) {\n\t\t\t\tthis.options[key] = options[key];\n\t\t\t}\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tif (needRestart) {\n\t\t\t\t\tvar isOpen = this._isOpen;\n\n\t\t\t\t\tthis.dispose();\n\t\t\t\t\tthis._init();\n\n\t\t\t\t\tif (isOpen) {\n\t\t\t\t\t\tthis.show();\n\t\t\t\t\t}\n\t\t\t\t} else if (needPopperUpdate) {\n\t\t\t\t\tthis.popperInstance.update();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\t// Private methods\n\t\t//\n\n\t}, {\n\t\tkey: '_init',\n\t\tvalue: function _init() {\n\t\t\t// get events list\n\t\t\tvar events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\t\t\tthis._isDisposed = false;\n\t\t\tthis._enableDocumentTouch = events.indexOf('manual') === -1;\n\n\t\t\t// set event listeners\n\t\t\tthis._setEventListeners(this.reference, events, this.options);\n\t\t}\n\n\t\t/**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n\t}, {\n\t\tkey: '_create',\n\t\tvalue: function _create(reference, template) {\n\t\t\t// create tooltip element\n\t\t\tvar tooltipGenerator = window.document.createElement('div');\n\t\t\ttooltipGenerator.innerHTML = template.trim();\n\t\t\tvar tooltipNode = tooltipGenerator.childNodes[0];\n\n\t\t\t// add unique ID to our tooltip (needed for accessibility reasons)\n\t\t\ttooltipNode.id = 'tooltip_' + Math.random().toString(36).substr(2, 10);\n\n\t\t\t// Initially hide the tooltip\n\t\t\t// The attribute will be switched in a next frame so\n\t\t\t// CSS transitions can play\n\t\t\ttooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tif (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n\t\t\t\ttooltipNode.addEventListener('mouseenter', this.hide);\n\t\t\t\ttooltipNode.addEventListener('click', this.hide);\n\t\t\t}\n\n\t\t\t// return the generated tooltip node\n\t\t\treturn tooltipNode;\n\t\t}\n\t}, {\n\t\tkey: '_setContent',\n\t\tvalue: function _setContent(content, options) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.asyncContent = false;\n\t\t\tthis._applyContent(content, options).then(function () {\n\t\t\t\t_this.popperInstance.update();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_applyContent',\n\t\tvalue: function _applyContent(title, options) {\n\t\t\tvar _this2 = this;\n\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tvar allowHtml = options.html;\n\t\t\t\tvar rootNode = _this2._tooltipNode;\n\t\t\t\tif (!rootNode) return;\n\t\t\t\tvar titleNode = rootNode.querySelector(_this2.options.innerSelector);\n\t\t\t\tif (title.nodeType === 1) {\n\t\t\t\t\t// if title is a node, append it only if allowHtml is true\n\t\t\t\t\tif (allowHtml) {\n\t\t\t\t\t\twhile (titleNode.firstChild) {\n\t\t\t\t\t\t\ttitleNode.removeChild(titleNode.firstChild);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitleNode.appendChild(title);\n\t\t\t\t\t}\n\t\t\t\t} else if (typeof title === 'function') {\n\t\t\t\t\t// if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tvar result = title();\n\t\t\t\t\tif (result && typeof result.then === 'function') {\n\t\t\t\t\t\t_this2.asyncContent = true;\n\t\t\t\t\t\toptions.loadingClass && addClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\tif (options.loadingContent) {\n\t\t\t\t\t\t\t_this2._applyContent(options.loadingContent, options);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresult.then(function (asyncResult) {\n\t\t\t\t\t\t\toptions.loadingClass && removeClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\t\treturn _this2._applyContent(asyncResult, options);\n\t\t\t\t\t\t}).then(resolve).catch(reject);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this2._applyContent(result, options).then(resolve).catch(reject);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\t// if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tallowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n\t\t\t\t}\n\t\t\t\tresolve();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_show',\n\t\tvalue: function _show(reference, options) {\n\t\t\tif (options && typeof options.container === 'string') {\n\t\t\t\tvar container = document.querySelector(options.container);\n\t\t\t\tif (!container) return;\n\t\t\t}\n\n\t\t\tclearTimeout(this._disposeTimer);\n\n\t\t\toptions = Object.assign({}, options);\n\t\t\tdelete options.offset;\n\n\t\t\tvar updateClasses = true;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t\tupdateClasses = false;\n\t\t\t}\n\n\t\t\tvar result = this._ensureShown(reference, options);\n\n\t\t\tif (updateClasses && this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t}\n\n\t\t\taddClasses(reference, ['v-tooltip-open']);\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: '_ensureShown',\n\t\tvalue: function _ensureShown(reference, options) {\n\t\t\tvar _this3 = this;\n\n\t\t\t// don't show if it's already visible\n\t\t\tif (this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tthis._isOpen = true;\n\n\t\t\topenTooltips.push(this);\n\n\t\t\t// if the tooltipNode already exists, just show it\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._tooltipNode.style.display = '';\n\t\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tif (this.asyncContent) {\n\t\t\t\t\tthis._setContent(options.title, options);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// get title\n\t\t\tvar title = reference.getAttribute('title') || options.title;\n\n\t\t\t// don't show tooltip if no title is defined\n\t\t\tif (!title) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// create tooltip node\n\t\t\tvar tooltipNode = this._create(reference, options.template);\n\t\t\tthis._tooltipNode = tooltipNode;\n\n\t\t\tthis._setContent(title, options);\n\n\t\t\t// Add `aria-describedby` to our reference element for accessibility reasons\n\t\t\treference.setAttribute('aria-describedby', tooltipNode.id);\n\n\t\t\t// append tooltip to container\n\t\t\tvar container = this._findContainer(options.container, reference);\n\n\t\t\tthis._append(tooltipNode, container);\n\n\t\t\tvar popperOptions = _extends$1({}, options.popperOptions, {\n\t\t\t\tplacement: options.placement\n\t\t\t});\n\n\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\tarrow: {\n\t\t\t\t\telement: this.options.arrowSelector\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (options.boundariesElement) {\n\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\tboundariesElement: options.boundariesElement\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n\t\t\t// Fix position\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\tif (!_this3._isDisposed && _this3.popperInstance) {\n\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t// Show the tooltip\n\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\tif (!_this3._isDisposed) {\n\t\t\t\t\t\t\t_this3._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t_this3.dispose();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_noLongerOpen',\n\t\tvalue: function _noLongerOpen() {\n\t\t\tvar index = openTooltips.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenTooltips.splice(index, 1);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_hide',\n\t\tvalue: function _hide() /* reference, options */{\n\t\t\tvar _this4 = this;\n\n\t\t\t// don't hide if it's already hidden\n\t\t\tif (!this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tthis._isOpen = false;\n\t\t\tthis._noLongerOpen();\n\n\t\t\t// hide tooltipNode\n\t\t\tthis._tooltipNode.style.display = 'none';\n\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tthis.popperInstance.disableEventListeners();\n\n\t\t\tclearTimeout(this._disposeTimer);\n\t\t\tvar disposeTime = directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis._disposeTimer = setTimeout(function () {\n\t\t\t\t\tif (_this4._tooltipNode) {\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('mouseenter', _this4.hide);\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('click', _this4.hide);\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\t_this4._tooltipNode.parentNode.removeChild(_this4._tooltipNode);\n\t\t\t\t\t\t_this4._tooltipNode = null;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\tremoveClasses(this.reference, ['v-tooltip-open']);\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_dispose',\n\t\tvalue: function _dispose() {\n\t\t\tvar _this5 = this;\n\n\t\t\tthis._isDisposed = true;\n\n\t\t\t// remove event listeners first to prevent any unexpected behaviour\n\t\t\tthis._events.forEach(function (_ref) {\n\t\t\t\tvar func = _ref.func,\n\t\t\t\t event = _ref.event;\n\n\t\t\t\t_this5.reference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis._events = [];\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._hide();\n\n\t\t\t\tthis._tooltipNode.removeEventListener('mouseenter', this.hide);\n\t\t\t\tthis._tooltipNode.removeEventListener('click', this.hide);\n\n\t\t\t\t// destroy instance\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tthis._tooltipNode.parentNode.removeChild(this._tooltipNode);\n\t\t\t\t\tthis._tooltipNode = null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._noLongerOpen();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_findContainer',\n\t\tvalue: function _findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t}\n\n\t\t/**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n\t}, {\n\t\tkey: '_append',\n\t\tvalue: function _append(tooltipNode, container) {\n\t\t\tcontainer.appendChild(tooltipNode);\n\t\t}\n\t}, {\n\t\tkey: '_setEventListeners',\n\t\tvalue: function _setEventListeners(reference, events, options) {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tif (_this6.options.hideOnTargetClick) oppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tif (_this6.options.hideOnTargetClick) oppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (_this6._isOpen === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevt.usedByTooltip = true;\n\t\t\t\t\t_this6._scheduleShow(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (evt.usedByTooltip === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this6._scheduleHide(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_onDocumentTouch',\n\t\tvalue: function _onDocumentTouch(event) {\n\t\t\tif (this._enableDocumentTouch) {\n\t\t\t\tthis._scheduleHide(this.reference, this.options.delay, this.options, event);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_scheduleShow',\n\t\tvalue: function _scheduleShow(reference, delay, options /*, evt */) {\n\t\t\tvar _this7 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.show || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\treturn _this7._show(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}, {\n\t\tkey: '_scheduleHide',\n\t\tvalue: function _scheduleHide(reference, delay, options, evt) {\n\t\t\tvar _this8 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.hide || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\tif (_this8._isOpen === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!document.body.contains(_this8._tooltipNode)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\tif (evt.type === 'mouseleave') {\n\t\t\t\t\tvar isSet = _this8._setTooltipNodeEvent(evt, reference, delay, options);\n\n\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t_this8._hide(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}]);\n\treturn Tooltip;\n}();\n\n// Hide tooltips on touch devices\n\n\nvar _initialiseProps = function _initialiseProps() {\n\tvar _this9 = this;\n\n\tthis.show = function () {\n\t\t_this9._show(_this9.reference, _this9.options);\n\t};\n\n\tthis.hide = function () {\n\t\t_this9._hide();\n\t};\n\n\tthis.dispose = function () {\n\t\t_this9._dispose();\n\t};\n\n\tthis.toggle = function () {\n\t\tif (_this9._isOpen) {\n\t\t\treturn _this9.hide();\n\t\t} else {\n\t\t\treturn _this9.show();\n\t\t}\n\t};\n\n\tthis._events = [];\n\n\tthis._setTooltipNodeEvent = function (evt, reference, delay, options) {\n\t\tvar relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n\t\tvar callback = function callback(evt2) {\n\t\t\tvar relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget;\n\n\t\t\t// Remove event listener after call\n\t\t\t_this9._tooltipNode.removeEventListener(evt.type, callback);\n\n\t\t\t// If the new reference is not the reference element\n\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t_this9._scheduleHide(reference, options.delay, options, evt2);\n\t\t\t}\n\t\t};\n\n\t\tif (_this9._tooltipNode.contains(relatedreference)) {\n\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t_this9._tooltipNode.addEventListener(evt.type, callback);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n};\n\nif (typeof document !== 'undefined') {\n\tdocument.addEventListener('touchstart', function (event) {\n\t\tfor (var i = 0; i < openTooltips.length; i++) {\n\t\t\topenTooltips[i]._onDocumentTouch(event);\n\t\t}\n\t}, supportsPassive ? {\n\t\tpassive: true,\n\t\tcapture: true\n\t} : true);\n}\n\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar state = {\n\tenabled: true\n};\n\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\n\nvar defaultOptions = {\n\t// Default tooltip placement relative to target element\n\tdefaultPlacement: 'top',\n\t// Default CSS classes applied to the tooltip element\n\tdefaultClass: 'vue-tooltip-theme',\n\t// Default CSS classes applied to the target element of the tooltip\n\tdefaultTargetClass: 'has-tooltip',\n\t// Is the content HTML by default?\n\tdefaultHtml: true,\n\t// Default HTML template of the tooltip element\n\t// It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n\t// Change if the classes conflict with other libraries (for example bootstrap)\n\tdefaultTemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n\t// Selector used to get the arrow element in the tooltip template\n\tdefaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n\t// Selector used to get the inner content element in the tooltip template\n\tdefaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n\t// Delay (ms)\n\tdefaultDelay: 0,\n\t// Default events that trigger the tooltip\n\tdefaultTrigger: 'hover focus',\n\t// Default position offset (px)\n\tdefaultOffset: 0,\n\t// Default container where the tooltip will be appended\n\tdefaultContainer: 'body',\n\tdefaultBoundariesElement: undefined,\n\tdefaultPopperOptions: {},\n\t// Class added when content is loading\n\tdefaultLoadingClass: 'tooltip-loading',\n\t// Displayed when tooltip content is loading\n\tdefaultLoadingContent: '...',\n\t// Hide on mouseover tooltip\n\tautoHide: true,\n\t// Close tooltip on click on tooltip target?\n\tdefaultHideOnTargetClick: true,\n\t// Auto destroy tooltip DOM nodes (ms)\n\tdisposeTimeout: 5000,\n\t// Options for popover\n\tpopover: {\n\t\tdefaultPlacement: 'bottom',\n\t\t// Use the `popoverClass` prop for theming\n\t\tdefaultClass: 'vue-popover-theme',\n\t\t// Base class (change if conflicts with other libraries)\n\t\tdefaultBaseClass: 'tooltip popover',\n\t\t// Wrapper class (contains arrow and inner)\n\t\tdefaultWrapperClass: 'wrapper',\n\t\t// Inner content class\n\t\tdefaultInnerClass: 'tooltip-inner popover-inner',\n\t\t// Arrow class\n\t\tdefaultArrowClass: 'tooltip-arrow popover-arrow',\n\t\tdefaultDelay: 0,\n\t\tdefaultTrigger: 'click',\n\t\tdefaultOffset: 0,\n\t\tdefaultContainer: 'body',\n\t\tdefaultBoundariesElement: undefined,\n\t\tdefaultPopperOptions: {},\n\t\t// Hides if clicked outside of popover\n\t\tdefaultAutoHide: true,\n\t\t// Update popper on content resize\n\t\tdefaultHandleResize: true\n\t}\n};\n\nfunction getOptions(options) {\n\tvar result = {\n\t\tplacement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n\t\tdelay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n\t\thtml: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n\t\ttemplate: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n\t\tarrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n\t\tinnerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n\t\ttrigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n\t\toffset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n\t\tcontainer: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n\t\tboundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n\t\tautoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n\t\thideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n\t\tloadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n\t\tloadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n\t\tpopperOptions: _extends$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n\t};\n\n\tif (result.offset) {\n\t\tvar typeofOffset = _typeof(result.offset);\n\t\tvar offset = result.offset;\n\n\t\t// One value -> switch\n\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\toffset = '0, ' + offset;\n\t\t}\n\n\t\tif (!result.popperOptions.modifiers) {\n\t\t\tresult.popperOptions.modifiers = {};\n\t\t}\n\t\tresult.popperOptions.modifiers.offset = {\n\t\t\toffset: offset\n\t\t};\n\t}\n\n\tif (result.trigger && result.trigger.indexOf('click') !== -1) {\n\t\tresult.hideOnTargetClick = false;\n\t}\n\n\treturn result;\n}\n\nfunction getPlacement(value, modifiers) {\n\tvar placement = value.placement;\n\tfor (var i = 0; i < positions.length; i++) {\n\t\tvar pos = positions[i];\n\t\tif (modifiers[pos]) {\n\t\t\tplacement = pos;\n\t\t}\n\t}\n\treturn placement;\n}\n\nfunction getContent(value) {\n\tvar type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\tif (type === 'string') {\n\t\treturn value;\n\t} else if (value && type === 'object') {\n\t\treturn value.content;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction createTooltip(el, value) {\n\tvar modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar content = getContent(value);\n\tvar classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\tvar opts = _extends$1({\n\t\ttitle: content\n\t}, getOptions(_extends$1({}, value, {\n\t\tplacement: getPlacement(value, modifiers)\n\t})));\n\tvar tooltip = el._tooltip = new Tooltip(el, opts);\n\ttooltip.setClasses(classes);\n\ttooltip._vueEl = el;\n\n\t// Class on target\n\tvar targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n\tel._tooltipTargetClasses = targetClasses;\n\taddClasses(el, targetClasses);\n\n\treturn tooltip;\n}\n\nfunction destroyTooltip(el) {\n\tif (el._tooltip) {\n\t\tel._tooltip.dispose();\n\t\tdelete el._tooltip;\n\t\tdelete el._tooltipOldShow;\n\t}\n\n\tif (el._tooltipTargetClasses) {\n\t\tremoveClasses(el, el._tooltipTargetClasses);\n\t\tdelete el._tooltipTargetClasses;\n\t}\n}\n\nfunction bind(el, _ref) {\n\tvar value = _ref.value,\n\t oldValue = _ref.oldValue,\n\t modifiers = _ref.modifiers;\n\n\tvar content = getContent(value);\n\tif (!content || !state.enabled) {\n\t\tdestroyTooltip(el);\n\t} else {\n\t\tvar tooltip = void 0;\n\t\tif (el._tooltip) {\n\t\t\ttooltip = el._tooltip;\n\t\t\t// Content\n\t\t\ttooltip.setContent(content);\n\t\t\t// Options\n\t\t\ttooltip.setOptions(_extends$1({}, value, {\n\t\t\t\tplacement: getPlacement(value, modifiers)\n\t\t\t}));\n\t\t} else {\n\t\t\ttooltip = createTooltip(el, value, modifiers);\n\t\t}\n\n\t\t// Manual show\n\t\tif (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n\t\t\tel._tooltipOldShow = value.show;\n\t\t\tvalue.show ? tooltip.show() : tooltip.hide();\n\t\t}\n\t}\n}\n\nvar directive = {\n\toptions: defaultOptions,\n\tbind: bind,\n\tupdate: bind,\n\tunbind: function unbind(el) {\n\t\tdestroyTooltip(el);\n\t}\n};\n\nfunction addListeners(el) {\n\tel.addEventListener('click', onClick);\n\tel.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\nfunction removeListeners(el) {\n\tel.removeEventListener('click', onClick);\n\tel.removeEventListener('touchstart', onTouchStart);\n\tel.removeEventListener('touchend', onTouchEnd);\n\tel.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n\tvar el = event.currentTarget;\n\tevent.closePopover = !el.$_vclosepopover_touch;\n\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n\tif (event.changedTouches.length === 1) {\n\t\tvar el = event.currentTarget;\n\t\tel.$_vclosepopover_touch = true;\n\t\tvar touch = event.changedTouches[0];\n\t\tel.$_vclosepopover_touchPoint = touch;\n\t\tel.addEventListener('touchend', onTouchEnd);\n\t\tel.addEventListener('touchcancel', onTouchCancel);\n\t}\n}\n\nfunction onTouchEnd(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n\tif (event.changedTouches.length === 1) {\n\t\tvar touch = event.changedTouches[0];\n\t\tvar firstTouch = el.$_vclosepopover_touchPoint;\n\t\tevent.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n\t\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n\t}\n}\n\nfunction onTouchCancel(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n\tbind: function bind(el, _ref) {\n\t\tvar value = _ref.value,\n\t\t modifiers = _ref.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (typeof value === 'undefined' || value) {\n\t\t\taddListeners(el);\n\t\t}\n\t},\n\tupdate: function update(el, _ref2) {\n\t\tvar value = _ref2.value,\n\t\t oldValue = _ref2.oldValue,\n\t\t modifiers = _ref2.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (value !== oldValue) {\n\t\t\tif (typeof value === 'undefined' || value) {\n\t\t\t\taddListeners(el);\n\t\t\t} else {\n\t\t\t\tremoveListeners(el);\n\t\t\t}\n\t\t}\n\t},\n\tunbind: function unbind(el) {\n\t\tremoveListeners(el);\n\t}\n};\n\nfunction getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE$1 = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE$1 = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tnotify: function notify() {\n\t\t\tthis.$emit('notify');\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.notify);\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis.notify();\n\t\t\t}\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE$1 && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.notify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE$1) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE$1) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install$1(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\t/* -- Add more components here -- */\n}\n\n/* -- Plugin definition & Auto-install -- */\n/* You shouldn't have to modify the code below */\n\n// Plugin\nvar plugin$2 = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.4\",\n\tinstall: install$1\n};\n\n// Auto-install\nvar GlobalVue$1 = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue$1 = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n\tGlobalVue$1.use(plugin$2);\n}\n\nfunction getDefault(key) {\n\tvar value = directive.options.popover[key];\n\tif (typeof value === 'undefined') {\n\t\treturn directive.options[key];\n\t}\n\treturn value;\n}\n\nvar isIOS = false;\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n\tisIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\nif (typeof window !== 'undefined') {\n\tElement = window.Element;\n}\n\nvar Popover = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"v-popover\", class: _vm.cssClass }, [_c('span', { ref: \"trigger\", staticClass: \"trigger\", staticStyle: { \"display\": \"inline-block\" }, attrs: { \"aria-describedby\": _vm.popoverId, \"tabindex\": _vm.trigger.indexOf('focus') !== -1 ? 0 : -1 } }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', { ref: \"popover\", class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass], style: {\n\t\t\t\tvisibility: _vm.isOpen ? 'visible' : 'hidden'\n\t\t\t}, attrs: { \"id\": _vm.popoverId, \"aria-hidden\": _vm.isOpen ? 'false' : 'true' } }, [_c('div', { class: _vm.popoverWrapperClass }, [_c('div', { ref: \"inner\", class: _vm.popoverInnerClass, staticStyle: { \"position\": \"relative\" } }, [_c('div', [_vm._t(\"popover\")], 2), _vm._v(\" \"), _vm.handleResize ? _c('ResizeObserver', { on: { \"notify\": _vm.$_handleResize } }) : _vm._e()], 1), _vm._v(\" \"), _c('div', { ref: \"arrow\", class: _vm.popoverArrowClass })])])]);\n\t}, staticRenderFns: [],\n\tname: 'VPopover',\n\n\tcomponents: {\n\t\tResizeObserver: ResizeObserver\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPlacement');\n\t\t\t}\n\t\t},\n\t\tdelay: {\n\t\t\ttype: [String, Number, Object],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultDelay');\n\t\t\t}\n\t\t},\n\t\toffset: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultOffset');\n\t\t\t}\n\t\t},\n\t\ttrigger: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultTrigger');\n\t\t\t}\n\t\t},\n\t\tcontainer: {\n\t\t\ttype: [String, Object, Element, Boolean],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultContainer');\n\t\t\t}\n\t\t},\n\t\tboundariesElement: {\n\t\t\ttype: [String, Element],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultBoundariesElement');\n\t\t\t}\n\t\t},\n\t\tpopperOptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPopperOptions');\n\t\t\t}\n\t\t},\n\t\tpopoverClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultClass');\n\t\t\t}\n\t\t},\n\t\tpopoverBaseClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultBaseClass;\n\t\t\t}\n\t\t},\n\t\tpopoverInnerClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultInnerClass;\n\t\t\t}\n\t\t},\n\t\tpopoverWrapperClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultWrapperClass;\n\t\t\t}\n\t\t},\n\t\tpopoverArrowClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultArrowClass;\n\t\t\t}\n\t\t},\n\t\tautoHide: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultAutoHide;\n\t\t\t}\n\t\t},\n\t\thandleResize: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultHandleResize;\n\t\t\t}\n\t\t},\n\t\topenGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null\n\t\t}\n\t},\n\n\tdata: function data() {\n\t\treturn {\n\t\t\tisOpen: false,\n\t\t\tid: Math.random().toString(36).substr(2, 10)\n\t\t};\n\t},\n\n\n\tcomputed: {\n\t\tcssClass: function cssClass() {\n\t\t\treturn {\n\t\t\t\t'open': this.isOpen\n\t\t\t};\n\t\t},\n\t\tpopoverId: function popoverId() {\n\t\t\treturn 'popover_' + this.id;\n\t\t}\n\t},\n\n\twatch: {\n\t\topen: function open(val) {\n\t\t\tif (val) {\n\t\t\t\tthis.show();\n\t\t\t} else {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\t\tdisabled: function disabled(val, oldVal) {\n\t\t\tif (val !== oldVal) {\n\t\t\t\tif (val) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t} else if (this.open) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcontainer: function container(val) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\tvar reference = this.$refs.trigger;\n\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t}\n\t\t},\n\t\ttrigger: function trigger(val) {\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.$_addEventListeners();\n\t\t},\n\t\tplacement: function placement(val) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\t_this.popperInstance.options.placement = val;\n\t\t\t});\n\t\t},\n\n\n\t\toffset: '$_restartPopper',\n\n\t\tboundariesElement: '$_restartPopper',\n\n\t\tpopperOptions: {\n\t\t\thandler: '$_restartPopper',\n\t\t\tdeep: true\n\t\t}\n\t},\n\n\tcreated: function created() {\n\t\tthis.$_isDisposed = false;\n\t\tthis.$_mounted = false;\n\t\tthis.$_events = [];\n\t\tthis.$_preventOpen = false;\n\t},\n\tmounted: function mounted() {\n\t\tvar popoverNode = this.$refs.popover;\n\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\n\t\tthis.$_init();\n\n\t\tif (this.open) {\n\t\t\tthis.show();\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.dispose();\n\t},\n\n\n\tmethods: {\n\t\tshow: function show() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref.event,\n\t\t\t _ref$skipDelay = _ref.skipDelay,\n\t\t\t skipDelay = _ref$skipDelay === undefined ? false : _ref$skipDelay,\n\t\t\t _ref$force = _ref.force,\n\t\t\t force = _ref$force === undefined ? false : _ref$force;\n\n\t\t\tif (force || !this.disabled) {\n\t\t\t\tthis.$_scheduleShow(event);\n\t\t\t\tthis.$emit('show');\n\t\t\t}\n\t\t\tthis.$emit('update:open', true);\n\t\t\tthis.$_beingShowed = true;\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\t_this2.$_beingShowed = false;\n\t\t\t});\n\t\t},\n\t\thide: function hide() {\n\t\t\tvar _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref2.event,\n\t\t\t _ref2$skipDelay = _ref2.skipDelay;\n\n\t\t\tthis.$_scheduleHide(event);\n\n\t\t\tthis.$emit('hide');\n\t\t\tthis.$emit('update:open', false);\n\t\t},\n\t\tdispose: function dispose() {\n\t\t\tthis.$_isDisposed = true;\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.hide({ skipDelay: true });\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$_mounted = false;\n\t\t\tthis.popperInstance = null;\n\t\t\tthis.isOpen = false;\n\n\t\t\tthis.$emit('dispose');\n\t\t},\n\t\t$_init: function $_init() {\n\t\t\tif (this.trigger.indexOf('manual') === -1) {\n\t\t\t\tthis.$_addEventListeners();\n\t\t\t}\n\t\t},\n\t\t$_show: function $_show() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\n\t\t\t// Already open\n\t\t\tif (this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Popper is already initialized\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.isOpen = true;\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t}\n\n\t\t\tif (!this.$_mounted) {\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.$_mounted = true;\n\t\t\t}\n\n\t\t\tif (!this.popperInstance) {\n\t\t\t\tvar popperOptions = _extends$1({}, this.popperOptions, {\n\t\t\t\t\tplacement: this.placement\n\t\t\t\t});\n\n\t\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\t\tarrow: _extends$1({}, popperOptions.modifiers && popperOptions.modifiers.arrow, {\n\t\t\t\t\t\telement: this.$refs.arrow\n\t\t\t\t\t})\n\t\t\t\t});\n\n\t\t\t\tif (this.offset) {\n\t\t\t\t\tvar offset = this.$_getOffset();\n\n\t\t\t\t\tpopperOptions.modifiers.offset = _extends$1({}, popperOptions.modifiers && popperOptions.modifiers.offset, {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (this.boundariesElement) {\n\t\t\t\t\tpopperOptions.modifiers.preventOverflow = _extends$1({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow, {\n\t\t\t\t\t\tboundariesElement: this.boundariesElement\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tthis.popperInstance = new Popper(reference, popoverNode, popperOptions);\n\n\t\t\t\t// Fix position\n\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\tif (!_this3.$_isDisposed && _this3.popperInstance) {\n\t\t\t\t\t\t_this3.popperInstance.scheduleUpdate();\n\n\t\t\t\t\t\t// Show the tooltip\n\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\tif (!_this3.$_isDisposed) {\n\t\t\t\t\t\t\t\t_this3.isOpen = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tvar openGroup = this.openGroup;\n\t\t\tif (openGroup) {\n\t\t\t\tvar popover = void 0;\n\t\t\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\t\t\tpopover = openPopovers[i];\n\t\t\t\t\tif (popover.openGroup !== openGroup) {\n\t\t\t\t\t\tpopover.hide();\n\t\t\t\t\t\tpopover.$emit('close-group');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\topenPopovers.push(this);\n\n\t\t\tthis.$emit('apply-show');\n\t\t},\n\t\t$_hide: function $_hide() {\n\t\t\tvar _this4 = this;\n\n\t\t\t// Already hidden\n\t\t\tif (!this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar index = openPopovers.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenPopovers.splice(index, 1);\n\t\t\t}\n\n\t\t\tthis.isOpen = false;\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.disableEventListeners();\n\t\t\t}\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\t\t\tvar disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis.$_disposeTimer = setTimeout(function () {\n\t\t\t\t\tvar popoverNode = _this4.$refs.popover;\n\t\t\t\t\tif (popoverNode) {\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t\t\t_this4.$_mounted = false;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\tthis.$emit('apply-hide');\n\t\t},\n\t\t$_findContainer: function $_findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t},\n\t\t$_getOffset: function $_getOffset() {\n\t\t\tvar typeofOffset = _typeof(this.offset);\n\t\t\tvar offset = this.offset;\n\n\t\t\t// One value -> switch\n\t\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\t\toffset = '0, ' + offset;\n\t\t\t}\n\n\t\t\treturn offset;\n\t\t},\n\t\t$_addEventListeners: function $_addEventListeners() {\n\t\t\tvar _this5 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tvar events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (_this5.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevent.usedByTooltip = true;\n\t\t\t\t\t!_this5.$_preventOpen && _this5.show({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (event.usedByTooltip) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this5.hide({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t},\n\t\t$_scheduleShow: function $_scheduleShow() {\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_show();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_scheduleHide: function $_scheduleHide() {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_hide();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(function () {\n\t\t\t\t\tif (!_this6.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\t\tif (event && event.type === 'mouseleave') {\n\t\t\t\t\t\tvar isSet = _this6.$_setTooltipNodeEvent(event);\n\n\t\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t_this6.$_hide();\n\t\t\t\t}, computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n\t\t\tvar _this7 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tvar relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n\t\t\tvar callback = function callback(event2) {\n\t\t\t\tvar relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget;\n\n\t\t\t\t// Remove event listener after call\n\t\t\t\tpopoverNode.removeEventListener(event.type, callback);\n\n\t\t\t\t// If the new reference is not the reference element\n\t\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t\t_this7.hide({ event: event2 });\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (popoverNode.contains(relatedreference)) {\n\t\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t\tpopoverNode.addEventListener(event.type, callback);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\t$_removeEventListeners: function $_removeEventListeners() {\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tthis.$_events.forEach(function (_ref3) {\n\t\t\t\tvar func = _ref3.func,\n\t\t\t\t event = _ref3.event;\n\n\t\t\t\treference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis.$_events = [];\n\t\t},\n\t\t$_updatePopper: function $_updatePopper(cb) {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tcb();\n\t\t\t\tif (this.isOpen) this.popperInstance.scheduleUpdate();\n\t\t\t}\n\t\t},\n\t\t$_restartPopper: function $_restartPopper() {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tvar isOpen = this.isOpen;\n\t\t\t\tthis.dispose();\n\t\t\t\tthis.$_isDisposed = false;\n\t\t\t\tthis.$_init();\n\t\t\t\tif (isOpen) {\n\t\t\t\t\tthis.show({ skipDelay: true, force: true });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t$_handleGlobalClose: function $_handleGlobalClose(event) {\n\t\t\tvar _this8 = this;\n\n\t\t\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tif (this.$_beingShowed) return;\n\n\t\t\tthis.hide({ event: event });\n\n\t\t\tif (event.closePopover) {\n\t\t\t\tthis.$emit('close-directive');\n\t\t\t} else {\n\t\t\t\tthis.$emit('auto-hide');\n\t\t\t}\n\n\t\t\tif (touch) {\n\t\t\t\tthis.$_preventOpen = true;\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t_this8.$_preventOpen = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t},\n\t\t$_handleResize: function $_handleResize() {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t\tthis.$emit('resize');\n\t\t\t}\n\t\t}\n\t}\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n\tif (isIOS) {\n\t\tdocument.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n\t\t\tpassive: true,\n\t\t\tcapture: true\n\t\t} : true);\n\t} else {\n\t\twindow.addEventListener('click', handleGlobalClick, true);\n\t}\n}\n\nfunction handleGlobalClick(event) {\n\thandleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n\thandleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t// Delay so that close directive has time to set values\n\trequestAnimationFrame(function () {\n\t\tvar popover = void 0;\n\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\tpopover = openPopovers[i];\n\t\t\tif (popover.$refs.popover) {\n\t\t\t\tvar contains = popover.$refs.popover.contains(event.target);\n\t\t\t\tif (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n\t\t\t\t\tpopover.$_handleGlobalClose(event, touch);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar lodash_merge = createCommonjsModule(function (module, exports) {\n/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = 'object' == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n return key == '__proto__'\n ? undefined\n : object[key];\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n});\n\nfunction install(Vue) {\n\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\tif (install.installed) return;\n\tinstall.installed = true;\n\n\tvar finalOptions = {};\n\tlodash_merge(finalOptions, defaultOptions, options);\n\n\tplugin.options = finalOptions;\n\tdirective.options = finalOptions;\n\n\tVue.directive('tooltip', directive);\n\tVue.directive('close-popover', vclosepopover);\n\tVue.component('v-popover', Popover);\n}\n\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = Popover;\n\nvar plugin = {\n\tinstall: install,\n\n\tget enabled() {\n\t\treturn state.enabled;\n\t},\n\n\tset enabled(value) {\n\t\tstate.enabled = value;\n\t}\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, VTooltip, VClosePopover, VPopover, createTooltip, destroyTooltip };\nexport default plugin;\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"router-view\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7ba5bd90\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('7ba5bd90', component.options)\n } else {\n api.reload('7ba5bd90', component.options)\n }\n module.hot.accept(\"./App.vue?vue&type=template&id=7ba5bd90\", function () {\n api.rerender('7ba5bd90', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/App.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<router-view></router-view>\n</template>\n\n<script>\nexport default {\n\tname: 'App',\n\tbeforeMount: function() {\n\t\t// importing server data into the store\n\t\tconst serverDataElmt = document.getElementById('serverData');\n\t\tif (serverDataElmt !== null) {\n\t\t\tthis.$store.commit('setServerData', JSON.parse(document.getElementById('serverData').dataset.server));\n\t\t}\n\t}\n}\n</script>\n","/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first <a> child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the <a> is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have <a> child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect <base> tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"app\" } },\n [\n _c(\n \"app-navigation\",\n { attrs: { menu: _vm.menu } },\n [\n _c(\"template\", { slot: \"settings-content\" }, [\n _c(\n \"div\",\n [\n _c(\"p\", [_vm._v(_vm._s(_vm.t(\"settings\", \"Default quota :\")))]),\n _vm._v(\" \"),\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.defaultQuota,\n options: _vm.quotaOptions,\n \"tag-placeholder\": \"create\",\n placeholder: _vm.t(\"settings\", \"Select default quota\"),\n label: \"label\",\n \"track-by\": \"id\",\n allowEmpty: false,\n taggable: true\n },\n on: { tag: _vm.validateQuota, input: _vm.setDefaultQuota }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showLanguages,\n expression: \"showLanguages\"\n }\n ],\n staticClass: \"checkbox\",\n attrs: { type: \"checkbox\", id: \"showLanguages\" },\n domProps: {\n checked: Array.isArray(_vm.showLanguages)\n ? _vm._i(_vm.showLanguages, null) > -1\n : _vm.showLanguages\n },\n on: {\n change: function($event) {\n var $$a = _vm.showLanguages,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.showLanguages = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showLanguages = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showLanguages = $$c\n }\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showLanguages\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show Languages\")))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showLastLogin,\n expression: \"showLastLogin\"\n }\n ],\n staticClass: \"checkbox\",\n attrs: { type: \"checkbox\", id: \"showLastLogin\" },\n domProps: {\n checked: Array.isArray(_vm.showLastLogin)\n ? _vm._i(_vm.showLastLogin, null) > -1\n : _vm.showLastLogin\n },\n on: {\n change: function($event) {\n var $$a = _vm.showLastLogin,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.showLastLogin = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showLastLogin = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showLastLogin = $$c\n }\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showLastLogin\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show last login\")))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showUserBackend,\n expression: \"showUserBackend\"\n }\n ],\n staticClass: \"checkbox\",\n attrs: { type: \"checkbox\", id: \"showUserBackend\" },\n domProps: {\n checked: Array.isArray(_vm.showUserBackend)\n ? _vm._i(_vm.showUserBackend, null) > -1\n : _vm.showUserBackend\n },\n on: {\n change: function($event) {\n var $$a = _vm.showUserBackend,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.showUserBackend = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showUserBackend = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showUserBackend = $$c\n }\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showUserBackend\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show user backend\")))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showStoragePath,\n expression: \"showStoragePath\"\n }\n ],\n staticClass: \"checkbox\",\n attrs: { type: \"checkbox\", id: \"showStoragePath\" },\n domProps: {\n checked: Array.isArray(_vm.showStoragePath)\n ? _vm._i(_vm.showStoragePath, null) > -1\n : _vm.showStoragePath\n },\n on: {\n change: function($event) {\n var $$a = _vm.showStoragePath,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.showStoragePath = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showStoragePath = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showStoragePath = $$c\n }\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showStoragePath\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show storage path\")))\n ])\n ])\n ])\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"user-list\", {\n attrs: {\n users: _vm.users,\n showConfig: _vm.showConfig,\n selectedGroup: _vm.selectedGroup\n }\n })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: { \"icon-loading\": _vm.menu.loading },\n attrs: { id: \"app-navigation\" }\n },\n [\n _vm.menu.new\n ? _c(\"div\", { staticClass: \"app-navigation-new\" }, [\n _c(\n \"button\",\n {\n class: _vm.menu.new.icon,\n attrs: { type: \"button\", id: _vm.menu.new.id },\n on: { click: _vm.menu.new.action }\n },\n [_vm._v(_vm._s(_vm.menu.new.text))]\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { attrs: { id: _vm.menu.id } },\n _vm._l(_vm.menu.items, function(item) {\n return _c(\"navigation-item\", { key: item.key, attrs: { item: item } })\n })\n ),\n _vm._v(\" \"),\n !!_vm.$slots[\"settings-content\"]\n ? _c(\"div\", { attrs: { id: \"app-settings\" } }, [\n _c(\"div\", { attrs: { id: \"app-settings-header\" } }, [\n _c(\n \"button\",\n {\n staticClass: \"settings-button\",\n attrs: { \"data-apps-slide-toggle\": \"#app-settings-content\" }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Settings\")))]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { attrs: { id: \"app-settings-content\" } },\n [_vm._t(\"settings-content\")],\n 2\n )\n ])\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"nav-element\",\n _vm._b(\n {\n class: [\n {\n \"icon-loading-small\": _vm.item.loading,\n open: _vm.item.opened,\n collapsible:\n _vm.item.collapsible &&\n _vm.item.children &&\n _vm.item.children.length > 0\n },\n _vm.item.classes\n ],\n attrs: { id: _vm.item.id }\n },\n \"nav-element\",\n _vm.navElement(_vm.item),\n false\n ),\n [\n _vm.item.bullet\n ? _c(\"div\", {\n staticClass: \"app-navigation-entry-bullet\",\n style: { backgroundColor: _vm.item.bullet }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n class: _vm.item.icon,\n attrs: { href: _vm.item.href ? _vm.item.href : \"#\" },\n on: { click: _vm.toggleCollapse }\n },\n [\n _vm.item.iconUrl\n ? _c(\"img\", {\n attrs: { alt: _vm.item.text, src: _vm.item.iconUrl }\n })\n : _vm._e(),\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\")\n ]\n ),\n _vm._v(\" \"),\n _vm.item.utils\n ? _c(\"div\", { staticClass: \"app-navigation-entry-utils\" }, [\n _c(\n \"ul\",\n [\n Number.isInteger(_vm.item.utils.counter)\n ? _c(\n \"li\",\n { staticClass: \"app-navigation-entry-utils-counter\" },\n [_vm._v(_vm._s(_vm.item.utils.counter))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.utils.actions &&\n _vm.item.utils.actions.length === 1 &&\n Number.isInteger(_vm.item.utils.counter)\n ? _c(\n \"li\",\n { staticClass: \"app-navigation-entry-utils-menu-button\" },\n [\n _c(\"button\", {\n class: _vm.item.utils.actions[0].icon,\n attrs: { title: _vm.item.utils.actions[0].text },\n on: { click: _vm.item.utils.actions[0].action }\n })\n ]\n )\n : _vm.item.utils.actions &&\n _vm.item.utils.actions.length === 2 &&\n !Number.isInteger(_vm.item.utils.counter)\n ? _vm._l(_vm.item.utils.actions, function(action) {\n return _c(\n \"li\",\n {\n key: action.action,\n staticClass:\n \"app-navigation-entry-utils-menu-button\"\n },\n [\n _c(\"button\", {\n class: action.icon,\n attrs: { title: action.text },\n on: { click: action.action }\n })\n ]\n )\n })\n : _vm.item.utils.actions &&\n _vm.item.utils.actions.length > 1 &&\n (Number.isInteger(_vm.item.utils.counter) ||\n _vm.item.utils.actions.length > 2)\n ? _c(\n \"li\",\n {\n staticClass:\n \"app-navigation-entry-utils-menu-button\"\n },\n [\n _c(\"button\", {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.hideMenu,\n expression: \"hideMenu\"\n }\n ],\n on: { click: _vm.showMenu }\n })\n ]\n )\n : _vm._e()\n ],\n 2\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.utils &&\n _vm.item.utils.actions &&\n _vm.item.utils.actions.length > 1 &&\n (Number.isInteger(_vm.item.utils.counter) ||\n _vm.item.utils.actions.length > 2)\n ? _c(\n \"div\",\n {\n staticClass: \"app-navigation-entry-menu\",\n class: { open: _vm.openedMenu }\n },\n [_c(\"popover-menu\", { attrs: { menu: _vm.item.utils.actions } })],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.undo\n ? _c(\"div\", { staticClass: \"app-navigation-entry-deleted\" }, [\n _c(\n \"div\",\n { staticClass: \"app-navigation-entry-deleted-description\" },\n [_vm._v(_vm._s(_vm.item.undo.text))]\n ),\n _vm._v(\" \"),\n _c(\"button\", {\n staticClass: \"app-navigation-entry-deleted-button icon-history\",\n attrs: { title: _vm.t(\"settings\", \"Undo\") }\n })\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.edit\n ? _c(\"div\", { staticClass: \"app-navigation-entry-edit\" }, [\n _c(\"form\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.item.text,\n expression: \"item.text\"\n }\n ],\n attrs: { type: \"text\" },\n domProps: { value: _vm.item.text },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.item, \"text\", $event.target.value)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-close\",\n attrs: { type: \"submit\", value: \"\" },\n on: {\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.cancelEdit($event)\n }\n }\n })\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.children\n ? _c(\n \"ul\",\n _vm._l(_vm.item.children, function(item, key) {\n return _c(\"navigation-item\", { key: key, attrs: { item: item } })\n })\n )\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"ul\",\n _vm._l(_vm.menu, function(item, key) {\n return _c(\"popover-item\", { key: key, attrs: { item: item } })\n })\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm.item.href\n ? _c(\n \"a\",\n {\n attrs: { href: _vm.item.href ? _vm.item.href : \"#\" },\n on: { click: _vm.item.action }\n },\n [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text\n ? _c(\"span\", [_vm._v(_vm._s(_vm.item.text))])\n : _vm.item.longtext\n ? _c(\"p\", [_vm._v(_vm._s(_vm.item.longtext))])\n : _vm._e()\n ]\n )\n : _vm.item.action\n ? _c(\"button\", { on: { click: _vm.item.action } }, [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text\n ? _c(\"span\", [_vm._v(_vm._s(_vm.item.text))])\n : _vm.item.longtext\n ? _c(\"p\", [_vm._v(_vm._s(_vm.item.longtext))])\n : _vm._e()\n ])\n : _c(\"span\", [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text\n ? _c(\"span\", [_vm._v(_vm._s(_vm.item.text))])\n : _vm.item.longtext\n ? _c(\"p\", [_vm._v(_vm._s(_vm.item.longtext))])\n : _vm._e()\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li>\n\t\t<!-- If item.href is set, a link will be directly used -->\n\t\t<a @click=\"item.action\" v-if=\"item.href\" :href=\"(item.href) ? item.href : '#' \">\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span v-if=\"item.text\">{{item.text}}</span>\n\t\t\t<p v-else-if=\"item.longtext\">{{item.longtext}}</p>\n\t\t</a>\n\t\t<!-- If item.action is set instead, a button will be used -->\n\t\t<button @click=\"item.action\" v-else-if=\"item.action\">\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span v-if=\"item.text\">{{item.text}}</span>\n\t\t\t<p v-else-if=\"item.longtext\">{{item.longtext}}</p>\n\t\t</button>\n\t\t<!-- If item.longtext is set AND the item does not have an action -->\n\t\t<span v-else>\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span v-if=\"item.text\">{{item.text}}</span>\n\t\t\t<p v-else-if=\"item.longtext\">{{item.longtext}}</p>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nexport default {\n\tprops: ['item']\n};\n</script>\n","import { render, staticRenderFns } from \"./popoverItem.vue?vue&type=template&id=4c6af9e6\"\nimport script from \"./popoverItem.vue?vue&type=script&lang=js\"\nexport * from \"./popoverItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('4c6af9e6', component.options)\n } else {\n api.reload('4c6af9e6', component.options)\n }\n module.hot.accept(\"./popoverItem.vue?vue&type=template&id=4c6af9e6\", function () {\n api.rerender('4c6af9e6', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/popoverMenu/popoverItem.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./popoverMenu.vue?vue&type=template&id=04ea21c4\"\nimport script from \"./popoverMenu.vue?vue&type=script&lang=js\"\nexport * from \"./popoverMenu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('04ea21c4', component.options)\n } else {\n api.reload('04ea21c4', component.options)\n }\n module.hot.accept(\"./popoverMenu.vue?vue&type=template&id=04ea21c4\", function () {\n api.rerender('04ea21c4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/popoverMenu.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<ul>\n\t\t<popover-item v-for=\"(item, key) in menu\" :item=\"item\" :key=\"key\" />\n\t</ul>\n</template>\n\n\n<script>\nimport popoverItem from './popoverMenu/popoverItem';\n\nexport default {\n\tname: 'popoverMenu',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tpopoverItem\n\t}\n}\n</script>\n","import { render, staticRenderFns } from \"./navigationItem.vue?vue&type=template&id=2cb61dde\"\nimport script from \"./navigationItem.vue?vue&type=script&lang=js\"\nexport * from \"./navigationItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('2cb61dde', component.options)\n } else {\n api.reload('2cb61dde', component.options)\n }\n module.hot.accept(\"./navigationItem.vue?vue&type=template&id=2cb61dde\", function () {\n api.rerender('2cb61dde', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appNavigation/navigationItem.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<nav-element :id=\"item.id\" v-bind=\"navElement(item)\"\n\t\t\t\t :class=\"[{'icon-loading-small': item.loading, 'open': item.opened, 'collapsible': item.collapsible&&item.children&&item.children.length>0 }, item.classes]\">\n\n\t\t<!-- Bullet -->\n\t\t<div v-if=\"item.bullet\" class=\"app-navigation-entry-bullet\" :style=\"{ backgroundColor: item.bullet }\"></div>\n\n\t\t<!-- Main link -->\n\t\t<a :href=\"(item.href) ? item.href : '#' \" @click=\"toggleCollapse\" :class=\"item.icon\">\n\t\t\t<img v-if=\"item.iconUrl\" :alt=\"item.text\" :src=\"item.iconUrl\">\n\t\t\t{{item.text}}\n\t\t</a>\n\n\t\t<!-- Popover, counter and button(s) -->\n\t\t<div v-if=\"item.utils\" class=\"app-navigation-entry-utils\">\n\t\t\t<ul>\n\t\t\t\t<!-- counter -->\n\t\t\t\t<li v-if=\"Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-counter\">{{item.utils.counter}}</li>\n\n\t\t\t\t<!-- first action if only one action and counter -->\n\t\t\t\t<li v-if=\"item.utils.actions && item.utils.actions.length === 1 && Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button @click=\"item.utils.actions[0].action\" :class=\"item.utils.actions[0].icon\" :title=\"item.utils.actions[0].text\"></button>\n\t\t\t\t</li>\n\n\t\t\t\t<!-- second action only two actions and no counter -->\n\t\t\t\t<li v-else-if=\"item.utils.actions && item.utils.actions.length === 2 && !Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tv-for=\"action in item.utils.actions\" :key=\"action.action\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button @click=\"action.action\" :class=\"action.icon\" :title=\"action.text\"></button>\n\t\t\t\t</li>\n\n\t\t\t\t<!-- menu if only at least one action and counter OR two actions and no counter-->\n\t\t\t\t<li v-else-if=\"item.utils.actions && item.utils.actions.length > 1 && (Number.isInteger(item.utils.counter) || item.utils.actions.length > 2)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button v-click-outside=\"hideMenu\" @click=\"showMenu\" ></button>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\n\t\t<!-- if more than 2 actions or more than 1 actions with counter -->\n\t\t<div v-if=\"item.utils && item.utils.actions && item.utils.actions.length > 1 && (Number.isInteger(item.utils.counter) || item.utils.actions.length > 2)\"\n\t\t\t class=\"app-navigation-entry-menu\" :class=\"{ 'open': openedMenu }\">\n\t\t\t <popover-menu :menu=\"item.utils.actions\"/>\n\t\t</div>\n\n\t\t<!-- undo entry -->\n\t\t<div class=\"app-navigation-entry-deleted\" v-if=\"item.undo\">\n\t\t\t<div class=\"app-navigation-entry-deleted-description\">{{item.undo.text}}</div>\n\t\t\t<button class=\"app-navigation-entry-deleted-button icon-history\" :title=\"t('settings', 'Undo')\"></button>\n\t\t</div>\n\n\t\t<!-- edit entry -->\n\t\t<div class=\"app-navigation-entry-edit\" v-if=\"item.edit\">\n\t\t\t<form>\n\t\t\t\t<input type=\"text\" v-model=\"item.text\">\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-close\" @click.stop.prevent=\"cancelEdit\">\n\t\t\t</form>\n\t\t</div>\n\n\t\t<!-- if the item has children, inject the component with proper data -->\n\t\t<ul v-if=\"item.children\">\n\t\t\t<navigation-item v-for=\"(item, key) in item.children\" :item=\"item\" :key=\"key\" />\n\t\t</ul>\n\t</nav-element>\n</template>\n\n<script>\nimport popoverMenu from '../popoverMenu';\nimport ClickOutside from 'vue-click-outside';\nimport Vue from 'vue';\n\nexport default {\n\tname: 'navigationItem',\n\tprops: ['item'],\n\tcomponents: {\n\t\tpopoverMenu\n\t},\n\tdirectives: {\n\t\tClickOutside\n\t},\n\tdata() {\n\t\treturn {\n\t\t\topenedMenu: false\n\t\t};\n\t},\n\tmethods: {\n\t\tshowMenu() {\n\t\t\tthis.openedMenu = true;\n\t\t},\n\t\thideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\t\ttoggleCollapse() {\n\t\t\t// if item.opened isn't set, Vue won't trigger view updates https://vuejs.org/v2/api/#Vue-set\n\t\t\t// ternary is here to detect the undefined state of item.opened\n\t\t\tVue.set(this.item, 'opened', this.item.opened ? !this.item.opened : true);\n\t\t},\n\t\tcancelEdit() {\n\t\t\t// remove the editing class\n\t\t\tif (Array.isArray(this.item.classes))\n\t\t\t\tthis.item.classes = this.item.classes.filter(\n\t\t\t\t\titem => item !== 'editing'\n\t\t\t\t);\n\t\t},\n\t\t// This is used to decide which outter element type to use\n\t\t// li or router-link\n\t\tnavElement(item) {\n\t\t\tif (item.href) {\n\t\t\t\treturn {\n\t\t\t\t\tis: 'li'\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tis: 'router-link',\n\t\t\t\ttag: 'li',\n\t\t\t\tto: item.router,\n\t\t\t\texact: true\n\t\t\t};\n\t\t}\n\t},\n\tmounted() {\n\t\t// prevent click outside event with popupItem.\n\t\tthis.popupItem = this.$el;\n\t}\n};\n</script>\n","import { render, staticRenderFns } from \"./appNavigation.vue?vue&type=template&id=142c1cb5\"\nimport script from \"./appNavigation.vue?vue&type=script&lang=js\"\nexport * from \"./appNavigation.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('142c1cb5', component.options)\n } else {\n api.reload('142c1cb5', component.options)\n }\n module.hot.accept(\"./appNavigation.vue?vue&type=template&id=142c1cb5\", function () {\n api.rerender('142c1cb5', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appNavigation.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div id=\"app-navigation\" :class=\"{'icon-loading': menu.loading}\">\n\t\t<div class=\"app-navigation-new\" v-if=\"menu.new\">\n\t\t\t<button type=\"button\" :id=\"menu.new.id\" :class=\"menu.new.icon\" @click=\"menu.new.action\">{{menu.new.text}}</button>\n\t\t</div>\n\t\t<ul :id=\"menu.id\">\n\t\t\t<navigation-item v-for=\"item in menu.items\" :item=\"item\" :key=\"item.key\" />\n\t\t</ul>\n\t\t<div id=\"app-settings\" v-if=\"!!$slots['settings-content']\">\n\t\t\t<div id=\"app-settings-header\">\n\t\t\t\t<button class=\"settings-button\"\n\t\t\t\t\t\tdata-apps-slide-toggle=\"#app-settings-content\"\n\t\t\t\t>{{t('settings', 'Settings')}}</button>\n\t\t\t</div>\n\t\t\t<div id=\"app-settings-content\">\n\t\t\t\t<slot name=\"settings-content\"></slot>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport navigationItem from './appNavigation/navigationItem';\n\nexport default {\n\tname: 'appNavigation',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tnavigationItem\n\t}\n};\n</script>\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"user-list-grid\",\n attrs: { id: \"app-content\" },\n on: {\n \"&scroll\": function($event) {\n return _vm.onScroll($event)\n }\n }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"row\",\n class: { sticky: _vm.scrolled && !_vm.showConfig.showNewUserForm },\n attrs: { id: \"grid-header\" }\n },\n [\n _c(\"div\", { staticClass: \"avatar\", attrs: { id: \"headerAvatar\" } }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\", attrs: { id: \"headerName\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Username\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"displayName\", attrs: { id: \"headerDisplayName\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Full name\")))]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"password\", attrs: { id: \"headerPassword\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Password\")))]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"mailAddress\", attrs: { id: \"headerAddress\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Email\")))]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"groups\", attrs: { id: \"headerGroups\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Groups\")))\n ]),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n { staticClass: \"subadmins\", attrs: { id: \"headerSubAdmins\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Group admin for\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"quota\", attrs: { id: \"headerQuota\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Quota\")))\n ]),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n { staticClass: \"languages\", attrs: { id: \"headerLanguages\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Languages\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\n \"div\",\n { staticClass: \"headerStorageLocation storageLocation\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Storage location\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"headerUserBackend userBackend\" }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"User backend\")))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\"div\", { staticClass: \"headerLastLogin lastLogin\" }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Last login\")))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showConfig.showNewUserForm,\n expression: \"showConfig.showNewUserForm\"\n }\n ],\n staticClass: \"row\",\n class: { sticky: _vm.scrolled && _vm.showConfig.showNewUserForm },\n attrs: { id: \"new-user\", disabled: _vm.loading },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.createUser($event)\n }\n }\n },\n [\n _c(\"div\", { class: _vm.loading ? \"icon-loading-small\" : \"icon-add\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.id,\n expression: \"newUser.id\"\n }\n ],\n attrs: {\n id: \"newusername\",\n type: \"text\",\n required: \"\",\n placeholder: _vm.t(\"settings\", \"User name\"),\n name: \"username\",\n autocomplete: \"off\",\n autocapitalize: \"none\",\n autocorrect: \"off\",\n pattern: \"[a-zA-Z0-9 _\\\\.@\\\\-']+\"\n },\n domProps: { value: _vm.newUser.id },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"id\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"displayName\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.displayName,\n expression: \"newUser.displayName\"\n }\n ],\n attrs: {\n id: \"newdisplayname\",\n type: \"text\",\n placeholder: _vm.t(\"settings\", \"Display name\"),\n name: \"displayname\",\n autocomplete: \"off\",\n autocapitalize: \"none\",\n autocorrect: \"off\"\n },\n domProps: { value: _vm.newUser.displayName },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"displayName\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"password\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.password,\n expression: \"newUser.password\"\n }\n ],\n attrs: {\n id: \"newuserpassword\",\n type: \"password\",\n required: _vm.newUser.mailAddress === \"\",\n placeholder: _vm.t(\"settings\", \"Password\"),\n name: \"password\",\n autocomplete: \"new-password\",\n autocapitalize: \"none\",\n autocorrect: \"off\",\n minlength: _vm.minPasswordLength\n },\n domProps: { value: _vm.newUser.password },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"password\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"mailAddress\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.mailAddress,\n expression: \"newUser.mailAddress\"\n }\n ],\n attrs: {\n id: \"newemail\",\n type: \"email\",\n required: _vm.newUser.password === \"\",\n placeholder: _vm.t(\"settings\", \"Mail address\"),\n name: \"email\",\n autocomplete: \"off\",\n autocapitalize: \"none\",\n autocorrect: \"off\"\n },\n domProps: { value: _vm.newUser.mailAddress },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"mailAddress\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"groups\" },\n [\n !_vm.settings.isAdmin\n ? _c(\"input\", {\n attrs: {\n type: \"text\",\n tabindex: \"-1\",\n id: \"newgroups\",\n required: !_vm.settings.isAdmin\n },\n domProps: { value: _vm.newUser.groups }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.groups,\n placeholder: _vm.t(\"settings\", \"Add user in group\"),\n label: \"name\",\n \"track-by\": \"id\",\n multiple: true,\n \"close-on-select\": false,\n allowEmpty: _vm.settings.isAdmin\n },\n model: {\n value: _vm.newUser.groups,\n callback: function($$v) {\n _vm.$set(_vm.newUser, \"groups\", $$v)\n },\n expression: \"newUser.groups\"\n }\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n { staticClass: \"subadmins\" },\n [\n _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.subAdminsGroups,\n placeholder: _vm.t(\"settings\", \"Set user as admin for\"),\n label: \"name\",\n \"track-by\": \"id\",\n multiple: true,\n \"close-on-select\": false\n },\n model: {\n value: _vm.newUser.subAdminsGroups,\n callback: function($$v) {\n _vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)\n },\n expression: \"newUser.subAdminsGroups\"\n }\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"quota\" },\n [\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.quotaOptions,\n placeholder: _vm.t(\"settings\", \"Select user quota\"),\n label: \"label\",\n \"track-by\": \"id\",\n allowEmpty: false,\n taggable: true\n },\n on: { tag: _vm.validateQuota },\n model: {\n value: _vm.newUser.quota,\n callback: function($$v) {\n _vm.$set(_vm.newUser, \"quota\", $$v)\n },\n expression: \"newUser.quota\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n { staticClass: \"languages\" },\n [\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.languages,\n placeholder: _vm.t(\"settings\", \"Default language\"),\n label: \"name\",\n \"track-by\": \"code\",\n allowEmpty: false,\n \"group-values\": \"languages\",\n \"group-label\": \"label\"\n },\n model: {\n value: _vm.newUser.language,\n callback: function($$v) {\n _vm.$set(_vm.newUser, \"language\", $$v)\n },\n expression: \"newUser.language\"\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"storageLocation\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"userBackend\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\"div\", { staticClass: \"lastLogin\" })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" }, [\n _c(\"input\", {\n staticClass: \"button primary icon-checkmark-white has-tooltip\",\n attrs: {\n type: \"submit\",\n id: \"newsubmit\",\n value: \"\",\n title: _vm.t(\"settings\", \"Add a new user\")\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"button icon-close has-tooltip\",\n attrs: {\n type: \"reset\",\n id: \"newreset\",\n value: \"\",\n title: _vm.t(\"settings\", \"Cancel and reset the form\")\n },\n on: { click: _vm.resetForm }\n })\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.filteredUsers, function(user, key) {\n return _c(\"user-row\", {\n key: key,\n attrs: {\n user: user,\n settings: _vm.settings,\n showConfig: _vm.showConfig,\n groups: _vm.groups,\n subAdminsGroups: _vm.subAdminsGroups,\n quotaOptions: _vm.quotaOptions,\n languages: _vm.languages\n }\n })\n }),\n _vm._v(\" \"),\n _c(\n \"infinite-loading\",\n { ref: \"infiniteLoading\", on: { infinite: _vm.infiniteHandler } },\n [\n _c(\"div\", { attrs: { slot: \"spinner\" }, slot: \"spinner\" }, [\n _c(\"div\", { staticClass: \"users-icon-loading icon-loading\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { slot: \"no-more\" }, slot: \"no-more\" }, [\n _c(\"div\", { staticClass: \"users-list-end\" }, [\n _vm._v(\"— \" + _vm._s(_vm.t(\"settings\", \"no more results\")) + \" —\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { slot: \"no-results\" }, slot: \"no-results\" }, [\n _c(\"div\", { attrs: { id: \"emptycontent\" } }, [\n _c(\"div\", { staticClass: \"icon-contacts-dark\" }),\n _vm._v(\" \"),\n _c(\"h2\", [_vm._v(_vm._s(_vm.t(\"settings\", \"No users in here\")))])\n ])\n ])\n ]\n )\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return Object.keys(_vm.user).length === 1\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n {\n staticClass: \"avatar\",\n class: {\n \"icon-loading-small\": _vm.loading.delete || _vm.loading.disable\n }\n },\n [\n !_vm.loading.delete && !_vm.loading.disable\n ? _c(\"img\", {\n attrs: {\n alt: \"\",\n width: \"32\",\n height: \"32\",\n src: _vm.generateAvatar(_vm.user.id, 32),\n srcset:\n _vm.generateAvatar(_vm.user.id, 64) +\n \" 2x, \" +\n _vm.generateAvatar(_vm.user.id, 128) +\n \" 4x\"\n }\n })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [_vm._v(_vm._s(_vm.user.id))]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"obfuscated\" }, [\n _vm._v(\n _vm._s(\n _vm.t(\n \"settings\",\n \"You do not have permissions to see the details of this user\"\n )\n )\n )\n ])\n ])\n : _c(\n \"div\",\n {\n staticClass: \"row\",\n class: { disabled: _vm.loading.delete || _vm.loading.disable }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"avatar\",\n class: {\n \"icon-loading-small\": _vm.loading.delete || _vm.loading.disable\n }\n },\n [\n !_vm.loading.delete && !_vm.loading.disable\n ? _c(\"img\", {\n attrs: {\n alt: \"\",\n width: \"32\",\n height: \"32\",\n src: _vm.generateAvatar(_vm.user.id, 32),\n srcset:\n _vm.generateAvatar(_vm.user.id, 64) +\n \" 2x, \" +\n _vm.generateAvatar(_vm.user.id, 128) +\n \" 4x\"\n }\n })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [_vm._v(_vm._s(_vm.user.id))]),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n staticClass: \"displayName\",\n class: { \"icon-loading-small\": _vm.loading.displayName },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.updateDisplayName($event)\n }\n }\n },\n [\n _c(\"input\", {\n ref: \"displayName\",\n attrs: {\n id: \"displayName\" + _vm.user.id + _vm.rand,\n type: \"text\",\n disabled: _vm.loading.displayName || _vm.loading.all,\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n spellcheck: \"false\"\n },\n domProps: { value: _vm.user.displayname }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n })\n ]\n ),\n _vm._v(\" \"),\n _vm.settings.canChangePassword\n ? _c(\n \"form\",\n {\n staticClass: \"password\",\n class: { \"icon-loading-small\": _vm.loading.password },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.updatePassword($event)\n }\n }\n },\n [\n _c(\"input\", {\n ref: \"password\",\n attrs: {\n id: \"password\" + _vm.user.id + _vm.rand,\n type: \"password\",\n required: \"\",\n disabled: _vm.loading.password || _vm.loading.all,\n minlength: _vm.minPasswordLength,\n value: \"\",\n placeholder: _vm.t(\"settings\", \"New password\"),\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n spellcheck: \"false\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n })\n ]\n )\n : _c(\"div\"),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n staticClass: \"mailAddress\",\n class: { \"icon-loading-small\": _vm.loading.mailAddress },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.updateEmail($event)\n }\n }\n },\n [\n _c(\"input\", {\n ref: \"mailAddress\",\n attrs: {\n id: \"mailAddress\" + _vm.user.id + _vm.rand,\n type: \"email\",\n disabled: _vm.loading.mailAddress || _vm.loading.all,\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n spellcheck: \"false\"\n },\n domProps: { value: _vm.user.email }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"groups\",\n class: { \"icon-loading-small\": _vm.loading.groups }\n },\n [\n _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.userGroups,\n options: _vm.groups,\n disabled: _vm.loading.groups || _vm.loading.all,\n \"tag-placeholder\": \"create\",\n placeholder: _vm.t(\"settings\", \"Add user in group\"),\n label: \"name\",\n \"track-by\": \"id\",\n limit: 2,\n multiple: true,\n taggable: _vm.settings.isAdmin,\n closeOnSelect: false\n },\n on: {\n tag: _vm.createGroup,\n select: _vm.addUserGroup,\n remove: _vm.removeUserGroup\n }\n },\n [\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.formatGroupsTitle(_vm.userGroups),\n expression: \"formatGroupsTitle(userGroups)\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"multiselect__limit\",\n attrs: { slot: \"limit\" },\n slot: \"limit\"\n },\n [_vm._v(\"+\" + _vm._s(_vm.userGroups.length - 2))]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n {\n staticClass: \"subadmins\",\n class: { \"icon-loading-small\": _vm.loading.subadmins }\n },\n [\n _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.userSubAdminsGroups,\n options: _vm.subAdminsGroups,\n disabled: _vm.loading.subadmins || _vm.loading.all,\n placeholder: _vm.t(\"settings\", \"Set user as admin for\"),\n label: \"name\",\n \"track-by\": \"id\",\n limit: 2,\n multiple: true,\n closeOnSelect: false\n },\n on: {\n select: _vm.addUserSubAdmin,\n remove: _vm.removeUserSubAdmin\n }\n },\n [\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.formatGroupsTitle(\n _vm.userSubAdminsGroups\n ),\n expression:\n \"formatGroupsTitle(userSubAdminsGroups)\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"multiselect__limit\",\n attrs: { slot: \"limit\" },\n slot: \"limit\"\n },\n [\n _vm._v(\n \"+\" + _vm._s(_vm.userSubAdminsGroups.length - 2)\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"quota\",\n class: { \"icon-loading-small\": _vm.loading.quota }\n },\n [\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.userQuota,\n options: _vm.quotaOptions,\n disabled: _vm.loading.quota || _vm.loading.all,\n \"tag-placeholder\": \"create\",\n placeholder: _vm.t(\"settings\", \"Select user quota\"),\n label: \"label\",\n \"track-by\": \"id\",\n allowEmpty: false,\n taggable: true\n },\n on: { tag: _vm.validateQuota, input: _vm.setUserQuota }\n }),\n _vm._v(\" \"),\n _c(\"progress\", {\n staticClass: \"quota-user-progress\",\n class: { warn: _vm.usedQuota > 80 },\n attrs: { max: \"100\" },\n domProps: { value: _vm.usedQuota }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n {\n staticClass: \"languages\",\n class: { \"icon-loading-small\": _vm.loading.languages }\n },\n [\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.userLanguage,\n options: _vm.languages,\n disabled: _vm.loading.languages || _vm.loading.all,\n placeholder: _vm.t(\"settings\", \"No language set\"),\n label: \"name\",\n \"track-by\": \"code\",\n allowEmpty: false,\n \"group-values\": \"languages\",\n \"group-label\": \"label\"\n },\n on: { input: _vm.setUserLanguage }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"storageLocation\" }, [\n _vm._v(_vm._s(_vm.user.storageLocation))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"userBackend\" }, [\n _vm._v(_vm._s(_vm.user.backend))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value:\n _vm.user.lastLogin > 0\n ? _vm.OC.Util.formatDate(_vm.user.lastLogin)\n : \"\",\n expression:\n \"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"lastLogin\"\n },\n [\n _vm._v(\n \"\\n\\t\\t\" +\n _vm._s(\n _vm.user.lastLogin > 0\n ? _vm.OC.Util.relativeModifiedDate(_vm.user.lastLogin)\n : _vm.t(\"settings\", \"Never\")\n ) +\n \"\\n\\t\"\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" }, [\n _vm.OC.currentUser !== _vm.user.id &&\n _vm.user.id !== \"admin\" &&\n !_vm.loading.all\n ? _c(\"div\", { staticClass: \"toggleUserActions\" }, [\n _c(\"div\", {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.hideMenu,\n expression: \"hideMenu\"\n }\n ],\n staticClass: \"icon-more\",\n on: { click: _vm.toggleMenu }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"popovermenu\",\n class: { open: _vm.openedMenu }\n },\n [_c(\"popover-menu\", { attrs: { menu: _vm.userActions } })],\n 1\n )\n ])\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<!-- Obfuscated user: Logged in user does not have permissions to see all of the data -->\n\t<div class=\"row\" v-if=\"Object.keys(user).length ===1\">\n\t\t<div class=\"avatar\" :class=\"{'icon-loading-small': loading.delete || loading.disable}\">\n\t\t\t<img alt=\"\" width=\"32\" height=\"32\" :src=\"generateAvatar(user.id, 32)\"\n\t\t\t\t :srcset=\"generateAvatar(user.id, 64)+' 2x, '+generateAvatar(user.id, 128)+' 4x'\"\n\t\t\t\t v-if=\"!loading.delete && !loading.disable\">\n\t\t</div>\n\t\t<div class=\"name\">{{user.id}}</div>\n\t\t<div class=\"obfuscated\">{{t('settings','You do not have permissions to see the details of this user')}}</div>\n\t</div>\n\n\t<!-- User full data -->\n\t<div class=\"row\" v-else :class=\"{'disabled': loading.delete || loading.disable}\">\n\t\t<div class=\"avatar\" :class=\"{'icon-loading-small': loading.delete || loading.disable}\">\n\t\t\t<img alt=\"\" width=\"32\" height=\"32\" :src=\"generateAvatar(user.id, 32)\"\n\t\t\t\t :srcset=\"generateAvatar(user.id, 64)+' 2x, '+generateAvatar(user.id, 128)+' 4x'\"\n\t\t\t\t v-if=\"!loading.delete && !loading.disable\">\n\t\t</div>\n\t\t<div class=\"name\">{{user.id}}</div>\n\t\t<form class=\"displayName\" :class=\"{'icon-loading-small': loading.displayName}\" v-on:submit.prevent=\"updateDisplayName\">\n\t\t\t<input :id=\"'displayName'+user.id+rand\" type=\"text\"\n\t\t\t\t\t:disabled=\"loading.displayName||loading.all\"\n\t\t\t\t\t:value=\"user.displayname\" ref=\"displayName\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<form class=\"password\" v-if=\"settings.canChangePassword\" :class=\"{'icon-loading-small': loading.password}\"\n\t\t\t v-on:submit.prevent=\"updatePassword\">\n\t\t\t<input :id=\"'password'+user.id+rand\" type=\"password\" required\n\t\t\t\t\t:disabled=\"loading.password||loading.all\" :minlength=\"minPasswordLength\"\n\t\t\t\t\tvalue=\"\" :placeholder=\"t('settings', 'New password')\" ref=\"password\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<div v-else></div>\n\t\t<form class=\"mailAddress\" :class=\"{'icon-loading-small': loading.mailAddress}\" v-on:submit.prevent=\"updateEmail\">\n\t\t\t<input :id=\"'mailAddress'+user.id+rand\" type=\"email\"\n\t\t\t\t\t:disabled=\"loading.mailAddress||loading.all\"\n\t\t\t\t\t:value=\"user.email\" ref=\"mailAddress\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<div class=\"groups\" :class=\"{'icon-loading-small': loading.groups}\">\n\t\t\t<multiselect :value=\"userGroups\" :options=\"groups\" :disabled=\"loading.groups||loading.all\"\n\t\t\t\t\t\t tag-placeholder=\"create\" :placeholder=\"t('settings', 'Add user in group')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\" :limit=\"2\"\n\t\t\t\t\t\t :multiple=\"true\" :taggable=\"settings.isAdmin\" :closeOnSelect=\"false\"\n\t\t\t\t\t\t @tag=\"createGroup\" @select=\"addUserGroup\" @remove=\"removeUserGroup\">\n\t\t\t\t<span slot=\"limit\" class=\"multiselect__limit\" v-tooltip.auto=\"formatGroupsTitle(userGroups)\">+{{userGroups.length-2}}</span>\n\t\t\t\t<span slot=\"noResult\">{{t('settings', 'No results')}}</span>\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"subadmins\" v-if=\"subAdminsGroups.length>0 && settings.isAdmin\" :class=\"{'icon-loading-small': loading.subadmins}\">\n\t\t\t<multiselect :value=\"userSubAdminsGroups\" :options=\"subAdminsGroups\" :disabled=\"loading.subadmins||loading.all\"\n\t\t\t\t\t\t :placeholder=\"t('settings', 'Set user as admin for')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\" :limit=\"2\"\n\t\t\t\t\t\t :multiple=\"true\" :closeOnSelect=\"false\"\n\t\t\t\t\t\t @select=\"addUserSubAdmin\" @remove=\"removeUserSubAdmin\">\n\t\t\t\t<span slot=\"limit\" class=\"multiselect__limit\" v-tooltip.auto=\"formatGroupsTitle(userSubAdminsGroups)\">+{{userSubAdminsGroups.length-2}}</span>\n\t\t\t\t<span slot=\"noResult\">{{t('settings', 'No results')}}</span>\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"quota\" :class=\"{'icon-loading-small': loading.quota}\">\n\t\t\t<multiselect :value=\"userQuota\" :options=\"quotaOptions\" :disabled=\"loading.quota||loading.all\"\n\t\t\t\t\t\t tag-placeholder=\"create\" :placeholder=\"t('settings', 'Select user quota')\"\n\t\t\t\t\t\t label=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t @tag=\"validateQuota\" @input=\"setUserQuota\">\n\t\t\t</multiselect>\n\t\t\t<progress class=\"quota-user-progress\" :class=\"{'warn':usedQuota>80}\" :value=\"usedQuota\" max=\"100\"></progress>\n\t\t</div>\n\t\t<div class=\"languages\" :class=\"{'icon-loading-small': loading.languages}\"\n\t\t\t v-if=\"showConfig.showLanguages\">\n\t\t\t<multiselect :value=\"userLanguage\" :options=\"languages\" :disabled=\"loading.languages||loading.all\"\n\t\t\t\t\t\t :placeholder=\"t('settings', 'No language set')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"code\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :allowEmpty=\"false\" group-values=\"languages\" group-label=\"label\"\n\t\t\t\t\t\t @input=\"setUserLanguage\">\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"storageLocation\" v-if=\"showConfig.showStoragePath\">{{user.storageLocation}}</div>\n\t\t<div class=\"userBackend\" v-if=\"showConfig.showUserBackend\">{{user.backend}}</div>\n\t\t<div class=\"lastLogin\" v-if=\"showConfig.showLastLogin\" v-tooltip.auto=\"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''\">\n\t\t\t{{user.lastLogin>0 ? OC.Util.relativeModifiedDate(user.lastLogin) : t('settings','Never')}}\n\t\t</div>\n\t\t<div class=\"userActions\">\n\t\t\t<div class=\"toggleUserActions\" v-if=\"OC.currentUser !== user.id && user.id !== 'admin' && !loading.all\">\n\t\t\t\t<div class=\"icon-more\" v-click-outside=\"hideMenu\" @click=\"toggleMenu\"></div>\n\t\t\t\t<div class=\"popovermenu\" :class=\"{ 'open': openedMenu }\">\n\t\t\t\t\t<popover-menu :menu=\"userActions\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t</div>\n</template>\n\n<script>\nimport popoverMenu from '../popoverMenu';\nimport ClickOutside from 'vue-click-outside';\nimport Multiselect from 'vue-multiselect';\nimport Vue from 'vue'\nimport VTooltip from 'v-tooltip'\n\nVue.use(VTooltip)\n\nexport default {\n\tname: 'userRow',\n\tprops: ['user', 'settings', 'groups', 'subAdminsGroups', 'quotaOptions', 'showConfig', 'languages'],\n\tcomponents: {\n\t\tpopoverMenu,\n\t\tMultiselect\n\t},\n\tdirectives: {\n\t\tClickOutside\n\t},\n\tmounted() {\n\t\t// required if popup needs to stay opened after menu click\n\t\t// since we only have disable/delete actions, let's close it directly\n\t\t// this.popupItem = this.$el;\n\t},\n\tdata() {\n\t\treturn {\n\t\t\trand: parseInt(Math.random() * 1000),\n\t\t\topenedMenu: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false,\n\t\t\t\tlanguages: false\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\t/* USER POPOVERMENU ACTIONS */\n\t\tuserActions() {\n\t\t\treturn [{\n\t\t\t\ticon: 'icon-delete',\n\t\t\t\ttext: t('settings','Delete user'),\n\t\t\t\taction: this.deleteUser\n\t\t\t},{\n\t\t\t\ticon: this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\ttext: this.user.enabled ? t('settings','Disable user') : t('settings','Enable user'),\n\t\t\t\taction: this.enableDisableUser\n\t\t\t}]\n\t\t},\n\n\t\t/* GROUPS MANAGEMENT */\n\t\tuserGroups() {\n\t\t\tlet userGroups = this.groups.filter(group => this.user.groups.includes(group.id));\n\t\t\treturn userGroups;\n\t\t},\n\t\tuserSubAdminsGroups() {\n\t\t\tlet userSubAdminsGroups = this.subAdminsGroups.filter(group => this.user.subadmin.includes(group.id));\n\t\t\treturn userSubAdminsGroups;\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota;\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100));\n\t\t\t} else {\n\t\t\t\tvar usedInGB = this.user.quota.used / (10 * Math.pow(2, 30));\n\t\t\t\t//asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)));\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota;\n\t\t},\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota >= 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tlet humanQuota = OC.Util.humanFileSize(this.user.quota.quota);\n\t\t\t\tlet userQuota = this.quotaOptions.find(quota => quota.id === humanQuota);\n\t\t\t\treturn userQuota ? userQuota : {id:humanQuota, label:humanQuota};\n\t\t\t} else if (this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0];\n\t\t\t}\n\t\t\treturn this.quotaOptions[1]; // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tlet availableLanguages = this.languages[0].languages.concat(this.languages[1].languages);\n\t\t\tlet userLang = availableLanguages.find(lang => lang.code === this.user.language);\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language\n\t\t\t\t}\n\t\t\t} else if(this.user.language === '') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn userLang;\n\t\t}\n\t},\n\tmethods: {\n\t\t/* MENU HANDLING */\n\t\ttoggleMenu() {\n\t\t\tthis.openedMenu = !this.openedMenu;\n\t\t},\n\t\thideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\n\t\t/**\n\t\t * Generate avatar url\n\t\t * \n\t\t * @param {string} user The user name\n\t\t * @param {int} size Size integer, default 32\n\t\t * @returns {string}\n\t\t */\n\t\tgenerateAvatar(user, size=32) {\n\t\t\treturn OC.generateUrl(\n\t\t\t\t'/avatar/{user}/{size}?v={version}',\n\t\t\t\t{\n\t\t\t\t\tuser: user,\n\t\t\t\t\tsize: size,\n\t\t\t\t\tversion: oc_userconfig.avatar.version\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Format array of groups objects to a string for the popup\n\t\t * \n\t\t * @param {array} groups The groups\n\t\t * @returns {string}\n\t\t */\n\t\tformatGroupsTitle(groups) {\n\t\t\tlet names = groups.map(group => group.name);\n\t\t\treturn names.slice(2,).join(', ');\n\t\t},\n\n\t\tdeleteUser() {\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tlet userid = this.user.id;\n\t\t\treturn this.$store.dispatch('deleteUser', {userid})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t});\n\t\t},\n\n\t\tenableDisableUser() {\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet enabled = !this.user.enabled;\n\t\t\treturn this.$store.dispatch('enableDisableUser', {userid, enabled})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user displayName\n\t\t * \n\t\t * @param {string} displayName The display name\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdateDisplayName() {\n\t\t\tlet displayName = this.$refs.displayName.value;\n\t\t\tthis.loading.displayName = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'displayname',\n\t\t\t\tvalue: displayName\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.displayName = false;\n\t\t\t\tthis.$refs.displayName.value = displayName;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user password\n\t\t * \n\t\t * @param {string} password The email adress\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdatePassword() {\n\t\t\tlet password = this.$refs.password.value;\n\t\t\tthis.loading.password = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'password',\n\t\t\t\tvalue: password\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.password = false;\n\t\t\t\tthis.$refs.password.value = ''; // empty & show placeholder \n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user mailAddress\n\t\t * \n\t\t * @param {string} mailAddress The email adress\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdateEmail() {\n\t\t\tlet mailAddress = this.$refs.mailAddress.value;\n\t\t\tthis.loading.mailAddress = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'email',\n\t\t\t\tvalue: mailAddress\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.mailAddress = false;\n\t\t\t\tthis.$refs.mailAddress.value = mailAddress;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Create a new group and add user to it\n\t\t * \n\t\t * @param {string} groups Group id\n\t\t * @returns {Promise}\n\t\t */\n\t\tcreateGroup(gid) {\n\t\t\tthis.loading = {groups:true, subadmins:true}\n\t\t\tthis.$store.dispatch('addGroup', gid)\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading = {groups:false, subadmins:false};\n\t\t\t\t\tlet userid = this.user.id;\n\t\t\t\t\tthis.$store.dispatch('addUserGroup', {userid, gid});\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.loading = {groups:false, subadmins:false};\n\t\t\t\t});\n\t\t\treturn this.$store.getters.getGroups[this.groups.length];\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\taddUserGroup(group) {\n\t\t\tthis.loading.groups = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserGroup', {userid, gid})\n\t\t\t\t.then(() => this.loading.groups = false);\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\tremoveUserGroup(group) {\n\t\t\tthis.loading.groups = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserGroup', {userid, gid})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.groups = false\n\t\t\t\t\t// remove user from current list if current list is the removed group\n\t\t\t\t\tif (this.$route.params.selectedGroup === gid) {\n\t\t\t\t\t\tthis.$store.commit('deleteUser', userid);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tthis.loading.groups = false\n\t\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\taddUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserSubAdmin', {userid, gid})\n\t\t\t\t.then(() => this.loading.subadmins = false);\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\tremoveUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserSubAdmin', {userid, gid})\n\t\t\t\t.then(() => this.loading.subadmins = false);\n\t\t},\n\n\t\t/**\n\t\t * Dispatch quota set request\n\t\t * \n\t\t * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @returns {string}\n\t\t */\n\t\tsetUserQuota(quota = 'none') {\n\t\t\tthis.loading.quota = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'quota',\n\t\t\t\tvalue: quota\n\t\t\t}).then(() => this.loading.quota = false);\n\t\t\treturn quota;\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Promise|boolean}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota !== null && validQuota >= 0) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid do not change\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * Dispatch language set request\n\t\t * \n\t\t * @param {Object} lang language object {code:'en', name:'English'}\n\t\t * @returns {Object}\n\t\t */\n\t\tsetUserLanguage(lang) {\n\t\t\tthis.loading.languages = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'language',\n\t\t\t\tvalue: lang.code\n\t\t\t}).then(() => this.loading.languages = false);\n\t\t\treturn lang;\n\t\t}\n\t}\n}\n</script>\n","import { render, staticRenderFns } from \"./userRow.vue?vue&type=template&id=d19586ce\"\nimport script from \"./userRow.vue?vue&type=script&lang=js\"\nexport * from \"./userRow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('d19586ce', component.options)\n } else {\n api.reload('d19586ce', component.options)\n }\n module.hot.accept(\"./userRow.vue?vue&type=template&id=d19586ce\", function () {\n api.rerender('d19586ce', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/userList/userRow.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./userList.vue?vue&type=template&id=40745299\"\nimport script from \"./userList.vue?vue&type=script&lang=js\"\nexport * from \"./userList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('40745299', component.options)\n } else {\n api.reload('40745299', component.options)\n }\n module.hot.accept(\"./userList.vue?vue&type=template&id=40745299\", function () {\n api.rerender('40745299', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/userList.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n \n<template>\n\t<div id=\"app-content\" class=\"user-list-grid\" v-on:scroll.passive=\"onScroll\">\n\t\t<div class=\"row\" id=\"grid-header\" :class=\"{'sticky': scrolled && !showConfig.showNewUserForm}\">\n\t\t\t<div id=\"headerAvatar\" class=\"avatar\"></div>\n\t\t\t<div id=\"headerName\" class=\"name\">{{ t('settings', 'Username') }}</div>\n\t\t\t<div id=\"headerDisplayName\" class=\"displayName\">{{ t('settings', 'Full name') }}</div>\n\t\t\t<div id=\"headerPassword\" class=\"password\">{{ t('settings', 'Password') }}</div>\n\t\t\t<div id=\"headerAddress\" class=\"mailAddress\">{{ t('settings', 'Email') }}</div>\n\t\t\t<div id=\"headerGroups\" class=\"groups\">{{ t('settings', 'Groups') }}</div>\n\t\t\t<div id=\"headerSubAdmins\" class=\"subadmins\"\n\t\t\t\t v-if=\"subAdminsGroups.length>0 && settings.isAdmin\">{{ t('settings', 'Group admin for') }}</div>\n\t\t\t<div id=\"headerQuota\" class=\"quota\">{{ t('settings', 'Quota') }}</div>\n\t\t\t<div id=\"headerLanguages\" class=\"languages\"\n\t\t\t\t v-if=\"showConfig.showLanguages\">{{ t('settings', 'Languages') }}</div>\n\t\t\t<div class=\"headerStorageLocation storageLocation\"\n\t\t\t\t v-if=\"showConfig.showStoragePath\">{{ t('settings', 'Storage location') }}</div>\n\t\t\t<div class=\"headerUserBackend userBackend\"\n\t\t\t\t v-if=\"showConfig.showUserBackend\">{{ t('settings', 'User backend') }}</div>\n\t\t\t<div class=\"headerLastLogin lastLogin\" \n\t\t\t\t v-if=\"showConfig.showLastLogin\">{{ t('settings', 'Last login') }}</div>\n\t\t\t<div class=\"userActions\"></div>\n\t\t</div>\n\n\t\t<form class=\"row\" id=\"new-user\" v-show=\"showConfig.showNewUserForm\"\n\t\t\t v-on:submit.prevent=\"createUser\" :disabled=\"loading\"\n\t\t\t :class=\"{'sticky': scrolled && showConfig.showNewUserForm}\">\n\t\t\t<div :class=\"loading?'icon-loading-small':'icon-add'\"></div>\n\t\t\t<div class=\"name\">\n\t\t\t\t<input id=\"newusername\" type=\"text\" required v-model=\"newUser.id\"\n\t\t\t\t\t :placeholder=\"t('settings', 'User name')\" name=\"username\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\"\n\t\t\t\t\t pattern=\"[a-zA-Z0-9 _\\.@\\-']+\">\n\t\t\t</div>\n\t\t\t<div class=\"displayName\">\n\t\t\t\t<input id=\"newdisplayname\" type=\"text\" v-model=\"newUser.displayName\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Display name')\" name=\"displayname\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\">\n\t\t\t</div>\n\t\t\t<div class=\"password\">\n\t\t\t\t<input id=\"newuserpassword\" type=\"password\" v-model=\"newUser.password\"\n\t\t\t\t\t :required=\"newUser.mailAddress===''\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Password')\" name=\"password\"\n\t\t\t\t\t autocomplete=\"new-password\" autocapitalize=\"none\" autocorrect=\"off\"\n\t\t\t\t\t :minlength=\"minPasswordLength\">\n\t\t\t</div>\n\t\t\t<div class=\"mailAddress\">\n\t\t\t\t<input id=\"newemail\" type=\"email\" v-model=\"newUser.mailAddress\"\n\t\t\t\t\t :required=\"newUser.password===''\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Mail address')\" name=\"email\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\">\n\t\t\t</div>\n\t\t\t<div class=\"groups\">\n\t\t\t\t<!-- hidden input trick for vanilla html5 form validation -->\n\t\t\t\t<input type=\"text\" :value=\"newUser.groups\" v-if=\"!settings.isAdmin\"\n\t\t\t\t\t tabindex=\"-1\" id=\"newgroups\" :required=\"!settings.isAdmin\" />\n\t\t\t\t<multiselect :options=\"groups\" v-model=\"newUser.groups\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Add user in group')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\"\n\t\t\t\t\t\t\t :allowEmpty=\"settings.isAdmin\">\n\t\t\t\t\t\t\t <!-- If user is not admin, he is a subadmin.\n\t\t\t\t\t\t\t \t Subadmins can't create users outside their groups\n\t\t\t\t\t\t\t\t Therefore, empty select is forbidden -->\n\t\t\t\t\t<span slot=\"noResult\">{{t('settings', 'No results')}}</span>\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"subadmins\" v-if=\"subAdminsGroups.length>0 && settings.isAdmin\">\n\t\t\t\t<multiselect :options=\"subAdminsGroups\" v-model=\"newUser.subAdminsGroups\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Set user as admin for')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\">\n\t\t\t\t\t<span slot=\"noResult\">{{t('settings', 'No results')}}</span>\n\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"quota\">\n\t\t\t\t<multiselect :options=\"quotaOptions\" v-model=\"newUser.quota\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Select user quota')\"\n\t\t\t\t\t\t\t label=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t \t @tag=\"validateQuota\" >\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"languages\" v-if=\"showConfig.showLanguages\">\n\t\t\t\t<multiselect :options=\"languages\" v-model=\"newUser.language\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Default language')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"code\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :allowEmpty=\"false\" group-values=\"languages\" group-label=\"label\">\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"storageLocation\" v-if=\"showConfig.showStoragePath\"></div>\n\t\t\t<div class=\"userBackend\" v-if=\"showConfig.showUserBackend\"></div>\n\t\t\t<div class=\"lastLogin\" v-if=\"showConfig.showLastLogin\"></div>\n\t\t\t<div class=\"userActions\">\n\t\t\t\t<input type=\"submit\" id=\"newsubmit\" class=\"button primary icon-checkmark-white has-tooltip\"\n\t\t\t\t\t value=\"\" :title=\"t('settings', 'Add a new user')\">\n\t\t\t\t<input type=\"reset\" id=\"newreset\" class=\"button icon-close has-tooltip\" @click=\"resetForm\"\n\t\t\t\t\t value=\"\" :title=\"t('settings', 'Cancel and reset the form')\">\n\t\t\t</div>\n\t\t</form>\n\n\t\t<user-row v-for=\"(user, key) in filteredUsers\" :user=\"user\" :key=\"key\" :settings=\"settings\" :showConfig=\"showConfig\"\n\t\t\t\t :groups=\"groups\" :subAdminsGroups=\"subAdminsGroups\" :quotaOptions=\"quotaOptions\" :languages=\"languages\" />\n\t\t<infinite-loading @infinite=\"infiniteHandler\" ref=\"infiniteLoading\">\n\t\t\t<div slot=\"spinner\"><div class=\"users-icon-loading icon-loading\"></div></div>\n\t\t\t<div slot=\"no-more\"><div class=\"users-list-end\">— {{t('settings', 'no more results')}} —</div></div>\n\t\t\t<div slot=\"no-results\">\n\t\t\t\t<div id=\"emptycontent\">\n\t\t\t\t\t<div class=\"icon-contacts-dark\"></div>\n\t\t\t\t\t<h2>{{t('settings', 'No users in here')}}</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</infinite-loading>\n\t</div>\n</template>\n\n<script>\nimport userRow from './userList/userRow';\nimport Multiselect from 'vue-multiselect';\nimport InfiniteLoading from 'vue-infinite-loading';\nimport Vue from 'vue';\n\nexport default {\n\tname: 'userList',\n\tprops: ['users', 'showConfig', 'selectedGroup'],\n\tcomponents: {\n\t\tuserRow,\n\t\tMultiselect,\n\t\tInfiniteLoading\n\t},\n\tdata() {\n\t\tlet unlimitedQuota = {id:'none', label:t('settings', 'Unlimited')},\n\t\t\tdefaultQuota = {id:'default', label:t('settings', 'Default quota')};\n\t\treturn {\n\t\t\tunlimitedQuota: unlimitedQuota,\n\t\t\tdefaultQuota: defaultQuota,\n\t\t\tloading: false,\n\t\t\tscrolled: false,\n\t\t\tnewUser: {\n\t\t\t\tid:'',\n\t\t\t\tdisplayName:'',\n\t\t\t\tpassword:'',\n\t\t\t\tmailAddress:'',\n\t\t\t\tgroups: [],\n\t\t\t\tsubAdminsGroups: [],\n\t\t\t\tquota: defaultQuota,\n\t\t\t\tlanguage: {code: 'en', name: t('settings', 'Default language')}\n\t\t\t}\n\t\t};\n\t},\n\tmounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'));\n\t\t}\n\n\t\t/** \n\t\t * Init default language from server data. The use of this.settings\n\t\t * requires a computed variable, which break the v-model binding of the form,\n\t\t * this is a much easier solution than getter and setter on a computed var\n\t\t */\n\t\tVue.set(this.newUser.language, 'code', this.settings.defaultLanguage);\n\n\t\t/**\n\t\t * In case the user directly loaded the user list within a group\n\t\t * the watch won't be triggered. We need to initialize it.\n\t\t */\n\t\tthis.setNewUserDefaultGroup(this.$route.params.selectedGroup);\n\t},\n\tcomputed: {\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\t\tfilteredUsers() {\n\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\tlet disabledUsers = this.users.filter(user => user.enabled === false);\n\t\t\t\tif (disabledUsers.length===0 && this.$refs.infiniteLoading && this.$refs.infiniteLoading.isComplete) {\n\t\t\t\t\t// disabled group is empty, redirection to all users\n\t\t\t\t\tthis.$router.push({name: 'users'});\n\t\t\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t\t\t}\n\t\t\t\treturn disabledUsers;\n\t\t\t}\n\t\t\tif (!this.settings.isAdmin) {\n\t\t\t\t// We don't want subadmins to edit themselves\n\t\t\t\treturn this.users.filter(user => user.enabled !== false && user.id !== oc_current_user);\n\t\t\t}\n\t\t\treturn this.users.filter(user => user.enabled !== false);\n\t\t},\n\t\tgroups() {\n\t\t\t// data provided php side + remove the disabled group\n\t\t\treturn this.$store.getters.getGroups\n\t\t\t\t.filter(group => group.id !== 'disabled')\n\t\t\t\t.sort((a, b) => a.name.localeCompare(b.name));\n\t\t},\n\t\tsubAdminsGroups() {\n\t\t\t// data provided php side\n\t\t\treturn this.$store.getters.getSubadminGroups;\n\t\t},\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tlet quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({id:cur, label:cur}), []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\tquotaPreset.unshift(this.defaultQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\t\t/* LANGUAGES */\n\t\tlanguages() {\n\t\t\treturn Array(\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonlanguages\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'All languages'),\n\t\t\t\t\tlanguages: this.settings.languages.languages\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t},\n\twatch: {\n\t\t// watch url change and group select\n\t\tselectedGroup: function (val, old) {\n\t\t\tthis.$store.commit('resetUsers');\n\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t\tthis.setNewUserDefaultGroup(val);\n\t\t}\n\t},\n\tmethods: {\n\t\tonScroll(event) {\n\t\t\tthis.scrolled = event.target.scrollTop>0;\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Object}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota !== null && validQuota >= 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota));\n\t\t\t\treturn this.newUser.quota = {id: quota, label: quota};\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\treturn this.newUser.quota = this.quotaOptions[0];\n\t\t},\n\n\t\tinfiniteHandler($state) {\n\t\t\tthis.$store.dispatch('getUsers', {\n\t\t\t\toffset: this.usersOffset,\n\t\t\t\tlimit: this.usersLimit,\n\t\t\t\tgroup: this.selectedGroup !== 'disabled' ? this.selectedGroup : ''\n\t\t\t})\n\t\t\t.then((response) => { response ? $state.loaded() : $state.complete() });\n\t\t},\n\n\t\tresetForm() {\n\t\t\t// revert form to original state\n\t\t\tObject.assign(this.newUser, this.$options.data.call(this).newUser);\n\t\t\tthis.loading = false;\n\t\t},\n\t\tcreateUser() {\n\t\t\tthis.loading = true;\n\t\t\tthis.$store.dispatch('addUser', {\n\t\t\t\tuserid: this.newUser.id,\n\t\t\t\tpassword: this.newUser.password,\n\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\tgroups: this.newUser.groups.map(group => group.id),\n\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(group => group.id),\n\t\t\t\tquota: this.newUser.quota.id,\n\t\t\t\tlanguage: this.newUser.language.code,\n\t\t\t}).then(() => this.resetForm())\n\t\t\t.catch(() => this.loading = false);\n\t\t},\n\t\tsetNewUserDefaultGroup(value) {\n\t\t\tif (value && value.length > 0) {\n\t\t\t\t// setting new user default group to the current selected one\n\t\t\t\tlet currentGroup = this.groups.find(group => group.id === value);\n\t\t\t\tif (currentGroup) {\n\t\t\t\t\tthis.newUser.groups = [currentGroup];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// fallback, empty selected group\n\t\t\tthis.newUser.groups = [];\n\t\t}\n\t}\n}\n</script>\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from 'axios';\n\nconst requestToken = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken');\nconst tokenHeaders = { headers: { requesttoken: requestToken } };\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, ''); // Remove last url slash\n};\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * \taction(context) {\n\t *\t\treturn api.requireAdmin().then((response) => {\n\t *\t\t\treturn api.get('url')\n\t *\t\t\t\t.then((response) => {API success})\n\t *\t\t\t\t.catch((error) => {API failure});\n\t *\t\t}).catch((error) => {requireAdmin failure});\n\t *\t}\n\t * // vue\n\t *\tthis.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t * \n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t * \n\t * e.g\n\t *\tapi.requireAdmin().then((response) => {\n\t *\t\tapi.get('url')\n\t *\t\t\t.then((response) => {API success})\n\t *\t\t\t.catch((error) => {throw error;});\n\t *\t}).catch((error) => {requireAdmin OR API failure});\n\t * \n\t * @returns {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\t// TODO: migrate the OC.dialog to Vue and avoid this mess\n\t\t\t// wait for password confirmation\n\t\t\tlet passwordTimeout;\n\t\t\tlet waitForpassword = function() {\n\t\t\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\t\t\tpasswordTimeout = setTimeout(waitForpassword, 500);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\tclearTimeout(promiseTimeout);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\t// automatically reject after 5s if not resolved\n\t\t\tlet promiseTimeout = setTimeout(() => {\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\t// close dialog\n\t\t\t\tif (document.getElementsByClassName('oc-dialog-close').length>0) {\n\t\t\t\t\tdocument.getElementsByClassName('oc-dialog-close')[0].click();\n\t\t\t\t}\n\t\t\t\tOC.Notification.showTemporary(t('settings', 'You did not enter the password in time'));\n\t\t\t\treject('Password request cancelled');\n\t\t\t}, 7000); \n\n\t\t\t// request password\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation();\n\t\t\twaitForpassword();\n\t\t});\n\t},\n\tget(url) {\n\t\treturn axios.get(sanitize(url), tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { data: data, headers: tokenHeaders.headers })\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n};","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div id=\"app\">\n\t\t<app-navigation :menu=\"menu\">\n\t\t\t<template slot=\"settings-content\">\n\t\t\t\t<div>\n\t\t\t\t\t<p>{{t('settings', 'Default quota :')}}</p>\n\t\t\t\t\t<multiselect :value=\"defaultQuota\" :options=\"quotaOptions\"\n\t\t\t\t\t\t\t\ttag-placeholder=\"create\" :placeholder=\"t('settings', 'Select default quota')\"\n\t\t\t\t\t\t\t\tlabel=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t\t:allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t\t\t@tag=\"validateQuota\" @input=\"setDefaultQuota\">\n\t\t\t\t\t</multiselect>\n\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showLanguages\" class=\"checkbox\" v-model=\"showLanguages\">\n\t\t\t\t\t<label for=\"showLanguages\">{{t('settings', 'Show Languages')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showLastLogin\" class=\"checkbox\" v-model=\"showLastLogin\">\n\t\t\t\t\t<label for=\"showLastLogin\">{{t('settings', 'Show last login')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showUserBackend\" class=\"checkbox\" v-model=\"showUserBackend\">\n\t\t\t\t\t<label for=\"showUserBackend\">{{t('settings', 'Show user backend')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showStoragePath\" class=\"checkbox\" v-model=\"showStoragePath\">\n\t\t\t\t\t<label for=\"showStoragePath\">{{t('settings', 'Show storage path')}}</label>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</app-navigation>\n\t\t<user-list :users=\"users\" :showConfig=\"showConfig\" :selectedGroup=\"selectedGroup\" />\n\t</div>\n</template>\n\n<script>\nimport appNavigation from '../components/appNavigation';\nimport userList from '../components/userList';\nimport Vue from 'vue';\nimport VueLocalStorage from 'vue-localstorage'\nimport Multiselect from 'vue-multiselect';\nimport api from '../store/api';\n\nVue.use(VueLocalStorage)\nVue.use(VueLocalStorage)\n\nexport default {\n\tname: 'Users',\n\tprops: ['selectedGroup'],\n\tcomponents: {\n\t\tappNavigation,\n\t\tuserList,\n\t\tMultiselect\n\t},\n\tbeforeMount() {\n\t\tthis.$store.commit('initGroups', {\n\t\t\tgroups: this.$store.getters.getServerData.groups, \n\t\t\torderBy: this.$store.getters.getServerData.sortGroups,\n\t\t\tuserCount: this.$store.getters.getServerData.userCount\n\t\t});\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength');\n\t},\n\tdata() {\n\t\treturn {\n\t\t\t// default quota is set to unlimited\n\t\t\tunlimitedQuota: {id: 'none', label: t('settings', 'Unlimited')},\n\t\t\t// temporary value used for multiselect change\n\t\t\tselectedQuota: false,\n\t\t\tshowConfig: {\n\t\t\t\tshowStoragePath: false,\n\t\t\t\tshowUserBackend: false,\n\t\t\t\tshowLastLogin: false,\n\t\t\t\tshowNewUserForm: false,\n\t\t\t\tshowLanguages: false\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggleNewUserMenu() {\n\t\t\tthis.showConfig.showNewUserForm = !this.showConfig.showNewUserForm;\n\t\t\tif (this.showConfig.showNewUserForm) {\n\t\t\t\tVue.nextTick(() => {\n\t\t\t\t\twindow.newusername.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetLocalstorage(key) {\n\t\t\t// force initialization\n\t\t\tlet localConfig = this.$localStorage.get(key);\n\t\t\t// if localstorage is null, fallback to original values\n\t\t\tthis.showConfig[key] = localConfig !== null ? localConfig === 'true' : this.showConfig[key];\n\t\t\treturn this.showConfig[key];\n\t\t},\n\t\tsetLocalStorage(key, status) {\n\t\t\tthis.showConfig[key] = status;\n\t\t\tthis.$localStorage.set(key, status);\n\t\t\treturn status;\n\t\t},\n\t\tremoveGroup(groupid) {\n\t\t\tlet self = this;\n\t\t\t// TODO migrate to a vue js confirm dialog component \n\t\t\tOC.dialogs.confirm(\n\t\t\t\tt('settings', 'You are about to remove the group {group}. The users will NOT be deleted.', {group: groupid}),\n\t\t\t\tt('settings','Please confirm the group removal '),\n\t\t\t\tfunction (success) {\n\t\t\t\t\tif (success) {\n\t\t\t\t\t\tself.$store.dispatch('removeGroup', groupid);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Dispatch default quota set request\n\t\t * \n\t\t * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @returns {string}\n\t\t */\n\t\tsetDefaultQuota(quota = 'none') {\n\t\t\tthis.$store.dispatch('setAppConfig', {\n\t\t\t\tapp: 'files',\n\t\t\t\tkey: 'default_quota',\n\t\t\t\t// ensure we only send the preset id\n\t\t\t\tvalue: quota.id ? quota.id : quota\n\t\t\t}).then(() => {\n\t\t\t\tif (typeof quota !== 'object') {\n\t\t\t\t\tquota = {id: quota, label: quota};\n\t\t\t\t}\n\t\t\t\tthis.defaultQuota = quota;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Promise|boolean}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota === 0) {\n\t\t\t\treturn this.setDefaultQuota('none');\n\t\t\t} else if (validQuota !== null) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setDefaultQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid do not change\n\t\t\treturn false;\n\t\t},\n\t},\n\tcomputed: {\n\t\tusers() {\n\t\t\treturn this.$store.getters.getUsers;\n\t\t},\n\t\tloading() {\n\t\t\treturn Object.keys(this.users).length === 0;\n\t\t},\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\t\t// Local settings\n\t\tshowLanguages: {\n\t\t\tget: function() {return this.getLocalstorage('showLanguages')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showLanguages', status);\n\t\t\t}\n\t\t},\n\t\tshowLastLogin: {\n\t\t\tget: function() {return this.getLocalstorage('showLastLogin')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showLastLogin', status);\n\t\t\t}\n\t\t},\n\t\tshowUserBackend: {\n\t\t\tget: function() {return this.getLocalstorage('showUserBackend')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showUserBackend', status);\n\t\t\t}\n\t\t},\n\t\tshowStoragePath: {\n\t\t\tget: function() {return this.getLocalstorage('showStoragePath')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showStoragePath', status);\n\t\t\t}\n\t\t},\n\n\t\tuserCount() {\n\t\t\treturn this.$store.getters.getUserCount;\n\t\t},\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\n\t\t// default quota\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tlet quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({id:cur, label:cur}), []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\t\t// mapping saved values to objects\n\t\tdefaultQuota: {\n\t\t\tget: function() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota;\n\t\t\t\t}\n\t\t\t\tif (OC.Util.computerFileSize(this.settings.defaultQuota) > 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn {id:this.settings.defaultQuota, label:this.settings.defaultQuota};\n\t\t\t\t}\n\t\t\t\treturn this.unlimitedQuota; // unlimited\n\t\t\t},\n\t\t\tset: function(quota) {\n\t\t\t\tthis.selectedQuota = quota;\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t\t// BUILD APP NAVIGATION MENU OBJECT\n\t\tmenu() {\n\t\t\t// Data provided php side\n\t\t\tlet groups = this.$store.getters.getGroups;\n\t\t\tgroups = Array.isArray(groups) ? groups : [];\n\n\t\t\t// Map groups\n\t\t\tgroups = groups.map(group => {\n\t\t\t\tlet item = {};\n\t\t\t\titem.id = group.id.replace(' ', '_');\n\t\t\t\titem.key = item.id;\n\t\t\t\titem.utils = {}\n\n\t\t\t\t// router link to\n\t\t\t\titem.router = {\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tparams: {selectedGroup: group.id}\n\t\t\t\t};\n\n\t\t\t\t// group name\n\t\t\t\titem.text = group.name;\n\n\t\t\t\t// users count\n\t\t\t\tif (group.usercount - group.disabled > 0) {\n\t\t\t\t\titem.utils.counter = group.usercount - group.disabled;\n\t\t\t\t}\n\n\t\t\t\tif (item.id !== 'admin' && item.id !== 'disabled' && this.settings.isAdmin) {\n\t\t\t\t\t// add delete button on real groups\n\t\t\t\t\tlet self = this;\n\t\t\t\t\titem.utils.actions = [{\n\t\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\t\ttext: t('settings', 'Remove group'),\n\t\t\t\t\t\taction: function() {self.removeGroup(group.id)}\n\t\t\t\t\t}];\n\t\t\t\t};\n\t\t\t\treturn item;\n\t\t\t});\n\n\t\t\t// Adjust data\n\t\t\tlet adminGroup = groups.find(group => group.id == 'admin');\n\t\t\tlet disabledGroupIndex = groups.findIndex(group => group.id == 'disabled');\n\t\t\tlet disabledGroup = groups[disabledGroupIndex];\n\t\t\tif (adminGroup && adminGroup.text) {\n\t\t\t\tadminGroup.text = t('settings', 'Admins'); // rename admin group\n\t\t\t}\n\t\t\tif (disabledGroup && disabledGroup.text) {\n\t\t\t\tdisabledGroup.text = t('settings', 'Disabled users'); // rename disabled group\n\t\t\t\tif (disabledGroup.utils.counter === 0) {\n\t\t\t\t\tgroups.splice(disabledGroupIndex, 1); // remove disabled if empty\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add everyone group\n\t\t\tlet everyoneGroup = {\n\t\t\t\tid: 'everyone',\n\t\t\t\tkey: 'everyone',\n\t\t\t\trouter: {name:'users'},\n\t\t\t\ttext: t('settings', 'Everyone'),\n\t\t\t};\n\t\t\t// users count\n\t\t\tif (this.userCount > 0) {\n\t\t\t\teveryoneGroup.utils = {counter: this.userCount};\n\t\t\t}\n\t\t\tgroups.unshift(everyoneGroup);\n\n\t\t\t// Return\n\t\t\treturn {\n\t\t\t\tid: 'usergrouplist',\n\t\t\t\tnew: {\n\t\t\t\t\tid:'new-user-button',\n\t\t\t\t\ttext: t('settings','New user'),\n\t\t\t\t\ticon: 'icon-add',\n\t\t\t\t\taction: this.toggleNewUserMenu\n\t\t\t\t},\n\t\t\t\titems: groups\n\t\t\t}\n\t\t},\n\t}\n}\n</script>\n","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=68be103e\"\nimport script from \"./Users.vue?vue&type=script&lang=js\"\nexport * from \"./Users.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('68be103e', component.options)\n } else {\n api.reload('68be103e', component.options)\n }\n module.hot.accept(\"./Users.vue?vue&type=template&id=68be103e\", function () {\n api.rerender('68be103e', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/views/Users.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"app\" } },\n [\n _c(\"app-navigation\", { attrs: { menu: _vm.menu } }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"app-settings-content\",\n class: {\n \"with-app-sidebar\": _vm.currentApp,\n \"icon-loading\": _vm.loadingList\n },\n attrs: { id: \"app-content\" }\n },\n [\n _c(\"app-list\", {\n attrs: {\n category: _vm.category,\n app: _vm.currentApp,\n search: _vm.search\n }\n }),\n _vm._v(\" \"),\n _vm.id && _vm.currentApp\n ? _c(\n \"div\",\n { attrs: { id: \"app-sidebar\" } },\n [\n _c(\"app-details\", {\n attrs: { category: _vm.category, app: _vm.currentApp }\n })\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"app-content-inner\" } }, [\n _c(\n \"div\",\n {\n class: {\n installed: _vm.useBundleView || _vm.useListView,\n store: _vm.useAppStoreView\n },\n attrs: { id: \"apps-list\" }\n },\n [\n _vm.useListView\n ? _vm._l(_vm.apps, function(app) {\n return _c(\"app-item\", {\n key: app.id,\n attrs: { app: app, category: _vm.category }\n })\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.bundles, function(bundle) {\n return _vm.useBundleView && _vm.bundleApps(bundle.id).length > 0\n ? [\n _c(\"div\", { key: bundle.id, staticClass: \"apps-header\" }, [\n _c(\"div\", { staticClass: \"app-image\" }),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(_vm._s(bundle.name) + \" \"),\n _c(\"input\", {\n attrs: {\n type: \"button\",\n value: _vm.bundleToggleText(bundle.id)\n },\n on: {\n click: function($event) {\n _vm.toggleBundle(bundle.id)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-version\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-level\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-groups\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [_vm._v(\" \")])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.bundleApps(bundle.id), function(app) {\n return _c(\"app-item\", {\n key: bundle.id + app.id,\n attrs: { app: app, category: _vm.category }\n })\n })\n ]\n : _vm._e()\n }),\n _vm._v(\" \"),\n _vm.useAppStoreView\n ? _vm._l(_vm.apps, function(app) {\n return _c(\"app-item\", {\n key: app.id,\n attrs: { app: app, category: _vm.category, \"list-view\": false }\n })\n })\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"installed\", attrs: { id: \"apps-list-search\" } },\n [\n _vm.search !== \"\" && _vm.searchApps.length > 0\n ? [\n _c(\"div\", { staticClass: \"section\" }, [\n _c(\"div\"),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"Results from other categories\"))\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.searchApps, function(app) {\n return _c(\"app-item\", {\n key: app.id,\n attrs: { app: app, category: _vm.category, \"list-view\": true }\n })\n })\n ]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0\n ? _c(\n \"div\",\n {\n staticClass: \"emptycontent emptycontent-search\",\n attrs: { id: \"apps-list-empty\" }\n },\n [\n _c(\"div\", {\n staticClass: \"icon-settings-dark\",\n attrs: { id: \"app-list-empty-icon\" }\n }),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"No apps found for your versoin\"))\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"searchresults\" } })\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"section\",\n class: { selected: _vm.isSelected },\n on: { click: _vm.showAppDetails }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"app-image app-image-icon\",\n on: { click: _vm.showAppDetails }\n },\n [\n (_vm.listView && !_vm.app.preview) ||\n (!_vm.listView && !_vm.app.screenshot)\n ? _c(\"div\", { staticClass: \"icon-settings-dark\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.listView && _vm.app.preview\n ? _c(\n \"svg\",\n { attrs: { width: \"32\", height: \"32\", viewBox: \"0 0 32 32\" } },\n [\n _c(\"defs\", [\n _c(\n \"filter\",\n { attrs: { id: _vm.filterId } },\n [\n _c(\"feColorMatrix\", {\n attrs: {\n in: \"SourceGraphic\",\n type: \"matrix\",\n values: \"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"image\", {\n staticClass: \"app-icon\",\n attrs: {\n x: \"0\",\n y: \"0\",\n width: \"32\",\n height: \"32\",\n preserveAspectRatio: \"xMinYMin meet\",\n filter: _vm.filterUrl,\n \"xlink:href\": _vm.app.preview\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.listView && _vm.app.screenshot\n ? _c(\"img\", { attrs: { src: _vm.app.screenshot, width: \"100%\" } })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"app-name\", on: { click: _vm.showAppDetails } },\n [_vm._v(\"\\n\\t\\t\" + _vm._s(_vm.app.name) + \"\\n\\t\")]\n ),\n _vm._v(\" \"),\n !_vm.listView\n ? _c(\"div\", { staticClass: \"app-summary\" }, [\n _vm._v(_vm._s(_vm.app.summary))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.listView\n ? _c(\"div\", { staticClass: \"app-version\" }, [\n _vm.app.version\n ? _c(\"span\", [_vm._v(_vm._s(_vm.app.version))])\n : _vm.app.appstoreData.releases[0].version\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))\n ])\n : _vm._e()\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"app-level\" },\n [\n _vm.app.level === 200\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"Official apps are developed by and within the community. They offer central functionality and are ready for production use.\"\n ),\n expression:\n \"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"official icon-checkmark\"\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Official\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.listView\n ? _c(\"app-score\", { attrs: { score: _vm.app.score } })\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [\n _vm.app.error\n ? _c(\"div\", { staticClass: \"warning\" }, [\n _vm._v(_vm._s(_vm.app.error))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.loading(_vm.app.id)\n ? _c(\"div\", { staticClass: \"icon icon-loading-small\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.update\n ? _c(\"input\", {\n staticClass: \"update\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Update to {update}\", {\n update: _vm.app.update\n }),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.update(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.canUnInstall\n ? _c(\"input\", {\n staticClass: \"uninstall\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Remove\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.remove(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.active\n ? _c(\"input\", {\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Disable\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.disable(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.active\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.enableButtonTooltip,\n expression: \"enableButtonTooltip\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.enableButtonText,\n disabled:\n !_vm.app.canInstall ||\n _vm.installing ||\n _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.enable(_vm.app.id)\n }\n }\n })\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"img\", {\n staticClass: \"app-score-image\",\n attrs: { src: _vm.scoreImage }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<img :src=\"scoreImage\" class=\"app-score-image\" />\n</template>\n<script>\n\texport default {\n\t\tname: 'appScore',\n\t\tprops: ['score'],\n\t\tcomputed: {\n\t\t\tscoreImage() {\n\t\t\t\tlet score = Math.round( this.score * 10 );\n\t\t\t\tlet imageName = 'rating/s' + score + '.svg';\n\t\t\t\treturn OC.imagePath('core', imageName);\n\t\t\t}\n\t\t}\n\t};\n</script>","import { render, staticRenderFns } from \"./appScore.vue?vue&type=template&id=71d71231\"\nimport script from \"./appScore.vue?vue&type=script&lang=js\"\nexport * from \"./appScore.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('71d71231', component.options)\n } else {\n api.reload('71d71231', component.options)\n }\n module.hot.accept(\"./appScore.vue?vue&type=template&id=71d71231\", function () {\n api.rerender('71d71231', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appList/appScore.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./appManagement.vue?vue&type=script&lang=js\"\nexport * from \"./appManagement.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1ae84938', component.options)\n } else {\n api.reload('1ae84938', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/appManagement.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<script>\n\texport default {\n\t\tmounted() {\n\t\t\tif (this.app.groups.length > 0) {\n\t\t\t\tthis.groupCheckedAppsData = true;\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\tappGroups() {\n\t\t\t\treturn this.app.groups.map(group => {return {id: group, name: group}});\n\t\t\t},\n\t\t\tloading() {\n\t\t\t\tlet self = this;\n\t\t\t\treturn function(id) {\n\t\t\t\t\treturn self.$store.getters.loading(id);\n\t\t\t\t}\n\t\t\t},\n\t\t\tinstalling() {\n\t\t\t\treturn this.$store.getters.loading('install');\n\t\t\t},\n\t\t\tenableButtonText() {\n\t\t\t\tif (this.app.needsDownload) {\n\t\t\t\t\treturn t('settings','Download and enable');\n\t\t\t\t}\n\t\t\t\treturn t('settings','Enable');\n\t\t\t},\n\t\t\tenableButtonTooltip() {\n\t\t\t\tif (this.app.needsDownload) {\n\t\t\t\t\treturn t('settings','The app will be downloaded from the app store');\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tisLimitedToGroups(app) {\n\t\t\t\tif (this.app.groups.length || this.groupCheckedAppsData) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tsetGroupLimit: function() {\n\t\t\t\tif (!this.groupCheckedAppsData) {\n\t\t\t\t\tthis.$store.dispatch('enableApp', {appId: this.app.id, groups: []});\n\t\t\t\t}\n\t\t\t},\n\t\t\tcanLimitToGroups(app) {\n\t\t\t\tif (app.types && app.types.includes('filesystem')\n\t\t\t\t\t|| app.types.includes('prelogin')\n\t\t\t\t\t|| app.types.includes('authentication')\n\t\t\t\t\t|| app.types.includes('logging')\n\t\t\t\t\t|| app.types.includes('prevent_group_restriction')) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\taddGroupLimitation(group) {\n\t\t\t\tlet groups = this.app.groups.concat([]).concat([group.id]);\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: groups});\n\t\t\t},\n\t\t\tremoveGroupLimitation(group) {\n\t\t\t\tlet currentGroups = this.app.groups.concat([]);\n\t\t\t\tlet index = currentGroups.indexOf(group.id);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tcurrentGroups.splice(index, 1);\n\t\t\t\t}\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: currentGroups});\n\t\t\t},\n\t\t\tenable(appId) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: appId, groups: [] })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t},\n\t\t\tdisable(appId) {\n\t\t\t\tthis.$store.dispatch('disableApp', { appId: appId })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t},\n\t\t\tremove(appId) {\n\t\t\t\tthis.$store.dispatch('uninstallApp', { appId: appId })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t},\n\t\t\tinstall(appId) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: appId })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t},\n\t\t\tupdate(appId) {\n\t\t\t\tthis.$store.dispatch('updateApp', { appId: appId })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t}\n\t\t}\n\t}\n</script>\n","var render, staticRenderFns\nimport script from \"./svgFilterMixin.vue?vue&type=script&lang=js\"\nexport * from \"./svgFilterMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('66ac5316', component.options)\n } else {\n api.reload('66ac5316', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/svgFilterMixin.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<script>\n\texport default {\n\t\tname: 'svgFilterMixin',\n\t\tmounted() {\n\t\t\tthis.filterId = 'invertIconApps' + Math.floor((Math.random() * 100 )) + new Date().getSeconds() + new Date().getMilliseconds();\n\t\t},\n\t\tcomputed: {\n\t\t\tfilterUrl () {\n\t\t\t\treturn `url(#${this.filterId})`;\n\t\t\t},\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tfilterId: '',\n\t\t\t};\n\t\t},\n\t}\n</script>","import { render, staticRenderFns } from \"./appItem.vue?vue&type=template&id=1c68d544\"\nimport script from \"./appItem.vue?vue&type=script&lang=js\"\nexport * from \"./appItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1c68d544', component.options)\n } else {\n api.reload('1c68d544', component.options)\n }\n module.hot.accept(\"./appItem.vue?vue&type=template&id=1c68d544\", function () {\n api.rerender('1c68d544', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appList/appItem.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div class=\"section\" v-bind:class=\"{ selected: isSelected }\" v-on:click=\"showAppDetails\">\n\t\t<div class=\"app-image app-image-icon\" v-on:click=\"showAppDetails\">\n\t\t\t<div v-if=\"(listView && !app.preview) || (!listView && !app.screenshot)\" class=\"icon-settings-dark\"></div>\n\n\t\t\t<svg v-if=\"listView && app.preview\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n\t\t\t\t<defs><filter :id=\"filterId\"><feColorMatrix in=\"SourceGraphic\" type=\"matrix\" values=\"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"></feColorMatrix></filter></defs>\n\t\t\t\t<image x=\"0\" y=\"0\" width=\"32\" height=\"32\" preserveAspectRatio=\"xMinYMin meet\" :filter=\"filterUrl\" :xlink:href=\"app.preview\" class=\"app-icon\"></image>\n\t\t\t</svg>\n\n\t\t\t<img v-if=\"!listView && app.screenshot\" :src=\"app.screenshot\" width=\"100%\" />\n\t\t</div>\n\t\t<div class=\"app-name\" v-on:click=\"showAppDetails\">\n\t\t\t{{ app.name }}\n\t\t</div>\n\t\t<div class=\"app-summary\" v-if=\"!listView\">{{ app.summary }}</div>\n\t\t<div class=\"app-version\" v-if=\"listView\">\n\t\t\t<span v-if=\"app.version\">{{ app.version }}</span>\n\t\t\t<span v-else-if=\"app.appstoreData.releases[0].version\">{{ app.appstoreData.releases[0].version }}</span>\n\t\t</div>\n\n\t\t<div class=\"app-level\">\n\t\t\t<span class=\"official icon-checkmark\" v-if=\"app.level === 200\"\n\t\t\t\t v-tooltip.auto=\"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\">\n\t\t\t\t{{ t('settings', 'Official') }}</span>\n\t\t\t<app-score v-if=\"!listView\" :score=\"app.score\"></app-score>\n\t\t</div>\n\n\t\t<div class=\"actions\">\n\t\t\t<div class=\"warning\" v-if=\"app.error\">{{ app.error }}</div>\n\t\t\t<div class=\"icon icon-loading-small\" v-if=\"loading(app.id)\"></div>\n\t\t\t<input v-if=\"app.update\" class=\"update\" type=\"button\" :value=\"t('settings', 'Update to {update}', {update:app.update})\" v-on:click=\"update(app.id)\" :disabled=\"installing || loading(app.id)\" />\n\t\t\t<input v-if=\"app.canUnInstall\" class=\"uninstall\" type=\"button\" :value=\"t('settings', 'Remove')\" v-on:click=\"remove(app.id)\" :disabled=\"installing || loading(app.id)\" />\n\t\t\t<input v-if=\"app.active\" class=\"enable\" type=\"button\" :value=\"t('settings','Disable')\" v-on:click=\"disable(app.id)\" :disabled=\"installing || loading(app.id)\" />\n\t\t\t<input v-if=\"!app.active\" class=\"enable\" type=\"button\" :value=\"enableButtonText\" v-on:click=\"enable(app.id)\" v-tooltip.auto=\"enableButtonTooltip\" :disabled=\"!app.canInstall || installing || loading(app.id)\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport Multiselect from 'vue-multiselect';\n\timport AppScore from './appScore';\n\timport AppManagement from '../appManagement';\n\timport SvgFilterMixin from '../svgFilterMixin';\n\n\texport default {\n\t\tname: 'appItem',\n\t\tmixins: [AppManagement, SvgFilterMixin],\n\t\tprops: {\n\t\t\tapp: {},\n\t\t\tcategory: {},\n\t\t\tlistView: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: true,\n\t\t\t}\n\t\t},\n\t\twatch: {\n\t\t\t'$route.params.id': function (id) {\n\t\t\t\tthis.isSelected = (this.app.id === id);\n\t\t\t}\n\t\t},\n\t\tcomponents: {\n\t\t\tMultiselect,\n\t\t\tAppScore,\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tisSelected: false,\n\t\t\t\tscrolled: false,\n\t\t\t};\n\t\t},\n\t\tmounted() {\n\t\t\tthis.isSelected = (this.app.id === this.$route.params.id);\n\t\t},\n\t\tcomputed: {\n\n\t\t},\n\t\twatchers: {\n\n\t\t},\n\t\tmethods: {\n\t\t\tshowAppDetails(event) {\n\t\t\t\tif (event.currentTarget.tagName === 'INPUT' || event.currentTarget.tagName === 'A') {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.$router.push({\n\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\tparams: {category: this.category, id: this.app.id}\n\t\t\t\t});\n\t\t\t},\n\t\t\tprefix(prefix, content) {\n\t\t\t\treturn prefix + '_' + content;\n\t\t\t},\n\t\t}\n\t}\n</script>\n","var render, staticRenderFns\nimport script from \"./prefixMixin.vue?vue&type=script&lang=js\"\nexport * from \"./prefixMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('eb3bc8a2', component.options)\n } else {\n api.reload('eb3bc8a2', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/prefixMixin.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<script>\n\texport default {\n\t\tname: 'prefixMixin',\n\t\tmethods: {\n\t\t\tprefix (prefix, content) {\n\t\t\t\treturn prefix + '_' + content;\n\t\t\t},\n\t\t}\n\t}\n</script>","import { render, staticRenderFns } from \"./appList.vue?vue&type=template&id=a1862e02\"\nimport script from \"./appList.vue?vue&type=script&lang=js\"\nexport * from \"./appList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('a1862e02', component.options)\n } else {\n api.reload('a1862e02', component.options)\n }\n module.hot.accept(\"./appList.vue?vue&type=template&id=a1862e02\", function () {\n api.rerender('a1862e02', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appList.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div id=\"app-content-inner\">\n\t\t<div id=\"apps-list\" :class=\"{installed: (useBundleView || useListView), store: useAppStoreView}\">\n\t\t\t<template v-if=\"useListView\">\n\t\t\t\t<app-item v-for=\"app in apps\" :key=\"app.id\" :app=\"app\" :category=\"category\" />\n\t\t\t</template>\n\t\t\t<template v-for=\"bundle in bundles\" v-if=\"useBundleView && bundleApps(bundle.id).length > 0\">\n\t\t\t\t<div class=\"apps-header\" :key=\"bundle.id\">\n\t\t\t\t\t<div class=\"app-image\"></div>\n\t\t\t\t\t<h2>{{ bundle.name }} <input type=\"button\" :value=\"bundleToggleText(bundle.id)\" v-on:click=\"toggleBundle(bundle.id)\"></h2>\n\t\t\t\t\t<div class=\"app-version\"></div>\n\t\t\t\t\t<div class=\"app-level\"></div>\n\t\t\t\t\t<div class=\"app-groups\"></div>\n\t\t\t\t\t<div class=\"actions\"> </div>\n\t\t\t\t</div>\n\t\t\t\t<app-item v-for=\"app in bundleApps(bundle.id)\" :key=\"bundle.id + app.id\" :app=\"app\" :category=\"category\"/>\n\t\t\t</template>\n\t\t\t<template v-if=\"useAppStoreView\">\n\t\t\t\t<app-item v-for=\"app in apps\" :key=\"app.id\" :app=\"app\" :category=\"category\" :list-view=\"false\" />\n\t\t\t</template>\n\n\t\t</div>\n\n\t\t<div id=\"apps-list-search\" class=\"installed\">\n\t\t\t<template v-if=\"search !== '' && searchApps.length > 0\">\n\t\t\t\t<div class=\"section\">\n\t\t\t\t\t<div></div>\n\t\t\t\t\t<h2>{{ t('settings', 'Results from other categories') }}</h2>\n\t\t\t\t</div>\n\t\t\t\t<app-item v-for=\"app in searchApps\" :key=\"app.id\" :app=\"app\" :category=\"category\" :list-view=\"true\" />\n\t\t\t</template>\n\t\t</div>\n\n\t\t<div id=\"apps-list-empty\" class=\"emptycontent emptycontent-search\" v-if=\"!loading && searchApps.length === 0 && apps.length === 0\">\n\t\t\t<div id=\"app-list-empty-icon\" class=\"icon-settings-dark\"></div>\n\t\t\t<h2>{{ t('settings', 'No apps found for your versoin')}}</h2>\n\t\t</div>\n\n\t\t<div id=\"searchresults\"></div>\n\t</div>\n</template>\n\n<script>\nimport appItem from './appList/appItem';\nimport Multiselect from 'vue-multiselect';\nimport prefix from './prefixMixin';\n\nexport default {\n\tname: 'appList',\n\tmixins: [prefix],\n\tprops: ['category', 'app', 'search'],\n\tcomponents: {\n\t\tMultiselect,\n\t\tappItem\n\t},\n\tcomputed: {\n\t\tloading() {\n\t\t\treturn this.$store.getters.loading('list');\n\t\t},\n\t\tapps() {\n\t\t\tlet apps = this.$store.getters.getAllApps\n\t\t\t\t.filter(app => app.name.toLowerCase().search(this.search.toLowerCase()) !== -1)\n\t\t\t\t.sort(function (a, b) {\n\t\t\t\t\tif (a.active !== b.active) {\n\t\t\t\t\t\treturn (a.active ? -1 : 1)\n\t\t\t\t\t}\n\t\t\t\t\tif (a.update !== b.update) {\n\t\t\t\t\t\treturn (a.update ? -1 : 1)\n\t\t\t\t\t}\n\t\t\t\t\treturn OC.Util.naturalSortCompare(a.name, b.name);\n\t\t\t\t});\n\n\t\t\tif (this.category === 'installed') {\n\t\t\t\treturn apps.filter(app => app.installed);\n\t\t\t}\n\t\t\tif (this.category === 'enabled') {\n\t\t\t\treturn apps.filter(app => app.active);\n\t\t\t}\n\t\t\tif (this.category === 'disabled') {\n\t\t\t\treturn apps.filter(app => !app.active && app.installed);\n\t\t\t}\n\t\t\tif (this.category === 'app-bundles') {\n\t\t\t\treturn apps.filter(app => app.bundles);\n\t\t\t}\n\t\t\tif (this.category === 'updates') {\n\t\t\t\treturn apps.filter(app => app.update);\n\t\t\t}\n\t\t\t// filter app store categories\n\t\t\treturn apps.filter(app => {\n\t\t\t\treturn app.appstore && app.category !== undefined &&\n\t\t\t\t\t(app.category === this.category || app.category.indexOf(this.category) > -1);\n\t\t\t});\n\t\t},\n\t\tbundles() {\n\t\t\treturn this.$store.getters.getServerData.bundles;\n\t\t},\n\t\tbundleApps() {\n\t\t\treturn function(bundle) {\n\t\t\t\treturn this.$store.getters.getAllApps\n\t\t\t\t\t.filter(app => app.bundleId === bundle);\n\t\t\t}\n\t\t},\n\t\tsearchApps() {\n\t\t\tif (this.search === '') {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\treturn this.$store.getters.getAllApps\n\t\t\t\t.filter(app => {\n\t\t\t\t\tif (app.name.toLowerCase().search(this.search.toLowerCase()) !== -1) {\n\t\t\t\t\t\treturn (!this.apps.find(_app => _app.id === app.id));\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t},\n\t\tuseAppStoreView() {\n\t\t\treturn !this.useListView && !this.useBundleView;\n\t\t},\n\t\tuseListView() {\n\t\t\treturn (this.category === 'installed' || this.category === 'enabled' || this.category === 'disabled' || this.category === 'updates');\n\t\t},\n\t\tuseBundleView() {\n\t\t\treturn (this.category === 'app-bundles');\n\t\t},\n\t\tallBundlesEnabled() {\n\t\t\tlet self = this;\n\t\t\treturn function(id) {\n\t\t\t\treturn self.bundleApps(id).filter(app => !app.active).length === 0;\n\t\t\t}\n\t\t},\n\t\tbundleToggleText() {\n\t\t\tlet self = this;\n\t\t\treturn function(id) {\n\t\t\t\tif (self.allBundlesEnabled(id)) {\n\t\t\t\t\treturn t('settings', 'Disable all');\n\t\t\t\t}\n\t\t\t\treturn t('settings', 'Enable all');\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggleBundle(id) {\n\t\t\tif (this.allBundlesEnabled(id)) {\n\t\t\t\treturn this.disableBundle(id);\n\t\t\t}\n\t\t\treturn this.enableBundle(id);\n\t\t},\n\t\tenableBundle(id) {\n\t\t\tlet apps = this.bundleApps(id).map(app => app.id);\n\t\t\tthis.$store.dispatch('enableApp', { appId: apps, groups: [] })\n\t\t\t\t.catch((error) => { console.log(error); OC.Notification.show(error)});\n\t\t},\n\t\tdisableBundle(id) {\n\t\t\tlet apps = this.bundleApps(id).map(app => app.id);\n\t\t\tthis.$store.dispatch('disableApp', { appId: apps, groups: [] })\n\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t}\n\t},\n}\n</script>\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { padding: \"20px\" }, attrs: { id: \"app-details-view\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"close icon-close\",\n attrs: { href: \"#\" },\n on: { click: _vm.hideAppDetails }\n },\n [_c(\"span\", { staticClass: \"hidden-visually\" }, [_vm._v(\"Close\")])]\n ),\n _vm._v(\" \"),\n _c(\"h2\", [\n !_vm.app.preview\n ? _c(\"div\", { staticClass: \"icon-settings-dark\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.previewAsIcon && _vm.app.preview\n ? _c(\n \"svg\",\n { attrs: { width: \"32\", height: \"32\", viewBox: \"0 0 32 32\" } },\n [\n _c(\"defs\", [\n _c(\n \"filter\",\n { attrs: { id: _vm.filterId } },\n [\n _c(\"feColorMatrix\", {\n attrs: {\n in: \"SourceGraphic\",\n type: \"matrix\",\n values: \"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"image\", {\n staticClass: \"app-icon\",\n attrs: {\n x: \"0\",\n y: \"0\",\n width: \"32\",\n height: \"32\",\n preserveAspectRatio: \"xMinYMin meet\",\n filter: _vm.filterUrl,\n \"xlink:href\": _vm.app.preview\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.app.name))\n ]),\n _vm._v(\" \"),\n _vm.app.screenshot\n ? _c(\"img\", { attrs: { src: _vm.app.screenshot, width: \"100%\" } })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.level === 200 || _vm.hasRating\n ? _c(\n \"div\",\n { staticClass: \"app-level\" },\n [\n _vm.app.level === 200\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"Official apps are developed by and within the community. They offer central functionality and are ready for production use.\"\n ),\n expression:\n \"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"official icon-checkmark\"\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Official\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasRating\n ? _c(\"app-score\", {\n attrs: { score: _vm.app.appstoreData.ratingOverall }\n })\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.author\n ? _c(\n \"div\",\n { staticClass: \"app-author\" },\n [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.t(\"settings\", \"by\")) + \"\\n\\t\\t\"),\n _vm._l(_vm.author, function(a, index) {\n return _c(\"span\", [\n a[\"@attributes\"] && a[\"@attributes\"][\"homepage\"]\n ? _c(\n \"a\",\n { attrs: { href: a[\"@attributes\"][\"homepage\"] } },\n [_vm._v(_vm._s(a[\"@value\"]))]\n )\n : a[\"@value\"]\n ? _c(\"span\", [_vm._v(_vm._s(a[\"@value\"]))])\n : _c(\"span\", [_vm._v(_vm._s(a))]),\n index + 1 < _vm.author.length\n ? _c(\"span\", [_vm._v(\", \")])\n : _vm._e()\n ])\n })\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.licence\n ? _c(\"div\", { staticClass: \"app-licence\" }, [\n _vm._v(_vm._s(_vm.licence))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [\n _c(\"div\", { staticClass: \"actions-buttons\" }, [\n _vm.app.update\n ? _c(\"input\", {\n staticClass: \"update\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Update to {version}\", {\n version: _vm.app.update\n }),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.canUnInstall\n ? _c(\"input\", {\n staticClass: \"uninstall\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Remove\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.active\n ? _c(\"input\", {\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Disable\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.disable(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.active\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.enableButtonTooltip,\n expression: \"enableButtonTooltip\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.enableButtonText,\n disabled:\n !_vm.app.canInstall ||\n _vm.installing ||\n _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.enable(_vm.app.id)\n }\n }\n })\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-groups\" }, [\n _vm.app.active && _vm.canLimitToGroups(_vm.app)\n ? _c(\n \"div\",\n { staticClass: \"groups-enable\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.groupCheckedAppsData,\n expression: \"groupCheckedAppsData\"\n }\n ],\n staticClass: \"groups-enable__checkbox checkbox\",\n attrs: {\n type: \"checkbox\",\n id: _vm.prefix(\"groups_enable\", _vm.app.id)\n },\n domProps: {\n value: _vm.app.id,\n checked: Array.isArray(_vm.groupCheckedAppsData)\n ? _vm._i(_vm.groupCheckedAppsData, _vm.app.id) > -1\n : _vm.groupCheckedAppsData\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.groupCheckedAppsData,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = _vm.app.id,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.groupCheckedAppsData = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.groupCheckedAppsData = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.groupCheckedAppsData = $$c\n }\n },\n _vm.setGroupLimit\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: _vm.prefix(\"groups_enable\", _vm.app.id) } },\n [_vm._v(\"Auf Gruppen beschränken\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"group_select\",\n attrs: { type: \"hidden\", title: \"Alle\", value: \"\" }\n }),\n _vm._v(\" \"),\n _vm.isLimitedToGroups(_vm.app)\n ? _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.groups,\n value: _vm.appGroups,\n \"options-limit\": 5,\n placeholder: _vm.t(\n \"settings\",\n \"Limit app usage to groups\"\n ),\n label: \"name\",\n \"track-by\": \"id\",\n multiple: true,\n \"close-on-select\": false\n },\n on: {\n select: _vm.addGroupLimitation,\n remove: _vm.removeGroupLimitation\n }\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : _vm._e()\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"documentation\" }, [\n !_vm.app.internal\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.appstoreUrl,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"View in store\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.website\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.website,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Visit website\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.bugs\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.bugs,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Report a bug\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.user\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.user,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"User documentation\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.admin\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.admin,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Admin documentation\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.developer\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.developer,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"Developer documentation\")) + \" ↗\"\n )\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"app-dependencies\" }, [\n _vm.app.missingMinOwnCloudVersion\n ? _c(\"li\", [\n _vm._v(\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app has no minimum Nextcloud version assigned. This will be an error in the future.\"\n )\n )\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.missingMaxOwnCloudVersion\n ? _c(\"li\", [\n _vm._v(\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app has no maximum Nextcloud version assigned. This will be an error in the future.\"\n )\n )\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.canInstall\n ? _c(\"li\", [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app cannot be installed because the following dependencies are not fulfilled:\"\n )\n ) +\n \"\\n\\t\\t\\t\"\n ),\n _c(\n \"ul\",\n { staticClass: \"missing-dependencies\" },\n _vm._l(_vm.app.missingDependencies, function(dep) {\n return _c(\"li\", [_vm._v(_vm._s(dep))])\n })\n )\n ])\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"app-description\",\n domProps: { innerHTML: _vm._s(_vm.renderMarkdown) }\n })\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div id=\"app-details-view\" style=\"padding: 20px;\">\n\t\t<a class=\"close icon-close\" href=\"#\" v-on:click=\"hideAppDetails\"><span class=\"hidden-visually\">Close</span></a>\n\t\t<h2>\n\t\t\t<div v-if=\"!app.preview\" class=\"icon-settings-dark\"></div>\n\t\t\t<svg v-if=\"app.previewAsIcon && app.preview\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n\t\t\t\t<defs><filter :id=\"filterId\"><feColorMatrix in=\"SourceGraphic\" type=\"matrix\" values=\"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"></feColorMatrix></filter></defs>\n\t\t\t\t<image x=\"0\" y=\"0\" width=\"32\" height=\"32\" preserveAspectRatio=\"xMinYMin meet\" :filter=\"filterUrl\" :xlink:href=\"app.preview\" class=\"app-icon\"></image>\n\t\t\t</svg>\n\t\t\t{{ app.name }}</h2>\n\t\t<img v-if=\"app.screenshot\" :src=\"app.screenshot\" width=\"100%\" />\n\t\t<div class=\"app-level\" v-if=\"app.level === 200 || hasRating\">\n\t\t\t<span class=\"official icon-checkmark\" v-if=\"app.level === 200\"\n\t\t\t v-tooltip.auto=\"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\">\n\t\t\t\t{{ t('settings', 'Official') }}</span>\n\t\t\t<app-score v-if=\"hasRating\" :score=\"app.appstoreData.ratingOverall\"></app-score>\n\t\t</div>\n\n\t\t<div class=\"app-author\" v-if=\"author\">\n\t\t\t{{ t('settings', 'by') }}\n\t\t\t<span v-for=\"(a, index) in author\">\n\t\t\t\t<a v-if=\"a['@attributes'] && a['@attributes']['homepage']\" :href=\"a['@attributes']['homepage']\">{{ a['@value'] }}</a><span v-else-if=\"a['@value']\">{{ a['@value'] }}</span><span v-else>{{ a }}</span><span v-if=\"index+1 < author.length\">, </span>\n\t\t\t</span>\n\t\t</div>\n\t\t<div class=\"app-licence\" v-if=\"licence\">{{ licence }}</div>\n\t\t<div class=\"actions\">\n\t\t\t<div class=\"actions-buttons\">\n\t\t\t\t<input v-if=\"app.update\" class=\"update\" type=\"button\" :value=\"t('settings', 'Update to {version}', {version: app.update})\" :disabled=\"installing || loading(app.id)\"/>\n\t\t\t\t<input v-if=\"app.canUnInstall\" class=\"uninstall\" type=\"button\" :value=\"t('settings', 'Remove')\" :disabled=\"installing || loading(app.id)\"/>\n\t\t\t\t<input v-if=\"app.active\" class=\"enable\" type=\"button\" :value=\"t('settings','Disable')\" v-on:click=\"disable(app.id)\" :disabled=\"installing || loading(app.id)\" />\n\t\t\t\t<input v-if=\"!app.active\" class=\"enable\" type=\"button\" :value=\"enableButtonText\" v-on:click=\"enable(app.id)\" v-tooltip.auto=\"enableButtonTooltip\" :disabled=\"!app.canInstall || installing || loading(app.id)\" />\n\t\t\t</div>\n\t\t\t<div class=\"app-groups\">\n\t\t\t\t<div class=\"groups-enable\" v-if=\"app.active && canLimitToGroups(app)\">\n\t\t\t\t\t<input type=\"checkbox\" :value=\"app.id\" v-model=\"groupCheckedAppsData\" v-on:change=\"setGroupLimit\" class=\"groups-enable__checkbox checkbox\" :id=\"prefix('groups_enable', app.id)\">\n\t\t\t\t\t<label :for=\"prefix('groups_enable', app.id)\">Auf Gruppen beschränken</label>\n\t\t\t\t\t<input type=\"hidden\" class=\"group_select\" title=\"Alle\" value=\"\">\n\t\t\t\t\t<multiselect v-if=\"isLimitedToGroups(app)\" :options=\"groups\" :value=\"appGroups\" @select=\"addGroupLimitation\" @remove=\"removeGroupLimitation\" :options-limit=\"5\"\n\t\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Limit app usage to groups')\"\n\t\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\">\n\t\t\t\t\t\t<span slot=\"noResult\">{{t('settings', 'No results')}}</span>\n\t\t\t\t\t</multiselect>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<p class=\"documentation\">\n\t\t\t<a class=\"appslink\" :href=\"appstoreUrl\" v-if=\"!app.internal\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'View in store')}} ↗</a>\n\n\t\t\t<a class=\"appslink\" v-if=\"app.website\" :href=\"app.website\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'Visit website') }} ↗</a>\n\t\t\t<a class=\"appslink\" v-if=\"app.bugs\" :href=\"app.bugs\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'Report a bug') }} ↗</a>\n\n\t\t\t<a class=\"appslink\" v-if=\"app.documentation && app.documentation.user\" :href=\"app.documentation.user\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'User documentation') }} ↗</a>\n\t\t\t<a class=\"appslink\" v-if=\"app.documentation && app.documentation.admin\" :href=\"app.documentation.admin\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'Admin documentation') }} ↗</a>\n\t\t\t<a class=\"appslink\" v-if=\"app.documentation && app.documentation.developer\" :href=\"app.documentation.developer\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'Developer documentation') }} ↗</a>\n\t\t</p>\n\n\t\t<ul class=\"app-dependencies\">\n\t\t\t<li v-if=\"app.missingMinOwnCloudVersion\">{{ t('settings', 'This app has no minimum Nextcloud version assigned. This will be an error in the future.') }}</li>\n\t\t\t<li v-if=\"app.missingMaxOwnCloudVersion\">{{ t('settings', 'This app has no maximum Nextcloud version assigned. This will be an error in the future.') }}</li>\n\t\t\t<li v-if=\"!app.canInstall\">\n\t\t\t\t{{ t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:') }}\n\t\t\t\t<ul class=\"missing-dependencies\">\n\t\t\t\t\t<li v-for=\"dep in app.missingDependencies\">{{ dep }}</li>\n\t\t\t\t</ul>\n\t\t\t</li>\n\t\t</ul>\n\n\t\t<div class=\"app-description\" v-html=\"renderMarkdown\"></div>\n\t</div>\n</template>\n\n<script>\nimport Multiselect from 'vue-multiselect';\nimport AppScore from './appList/appScore';\nimport AppManagement from './appManagement';\nimport prefix from './prefixMixin';\nimport SvgFilterMixin from './svgFilterMixin';\n\nexport default {\n\tmixins: [AppManagement, prefix, SvgFilterMixin],\n\tname: 'appDetails',\n\tprops: ['category', 'app'],\n\tcomponents: {\n\t\tMultiselect,\n\t\tAppScore\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tgroupCheckedAppsData: false,\n\t\t}\n\t},\n\tmounted() {\n\t\tif (this.app.groups.length > 0) {\n\t\t\tthis.groupCheckedAppsData = true;\n\t\t}\n\t},\n\tmethods: {\n\t\thideAppDetails() {\n\t\t\tthis.$router.push({\n\t\t\t\tname: 'apps-category',\n\t\t\t\tparams: {category: this.category}\n\t\t\t});\n\t\t},\n\t},\n\tcomputed: {\n\t\tappstoreUrl() {\n\t\t\treturn `https://apps.nextcloud.com/apps/${this.app.id}`;\n\t\t},\n\t\tlicence() {\n\t\t\tif (this.app.licence)\n\t\t\t\treturn ('' + this.app.licence).toUpperCase() + t('settings', '-licensed');\n\t\t\treturn null;\n\t\t},\n\t\thasRating() {\n\t\t\treturn this.app.appstoreData && this.app.appstoreData.ratingNumOverall > 5;\n\t\t},\n\t\tauthor() {\n\t\t\tif (typeof this.app.author === 'string') {\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\t'@value': this.app.author\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t\tif (this.app.author['@value']) {\n\t\t\t\treturn [this.app.author];\n\t\t\t}\n\t\t\treturn this.app.author;\n\t\t},\n\t\tappGroups() {\n\t\t\treturn this.app.groups.map(group => {return {id: group, name: group}});\n\t\t},\n\t\tgroups() {\n\t\t\treturn this.$store.getters.getGroups\n\t\t\t\t.filter(group => group.id !== 'disabled')\n\t\t\t\t.sort((a, b) => a.name.localeCompare(b.name));\n\t\t},\n\t\trenderMarkdown() {\n\t\t\t// TODO: bundle marked as well\n\t\t\tvar renderer = new window.marked.Renderer();\n\t\t\trenderer.link = function(href, title, text) {\n\t\t\t\ttry {\n\t\t\t\t\tvar prot = decodeURIComponent(unescape(href))\n\t\t\t\t\t\t.replace(/[^\\w:]/g, '')\n\t\t\t\t\t\t.toLowerCase();\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\n\t\t\t\tif (prot.indexOf('http:') !== 0 && prot.indexOf('https:') !== 0) {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\n\t\t\t\tvar out = '<a href=\"' + href + '\" rel=\"noreferrer noopener\"';\n\t\t\t\tif (title) {\n\t\t\t\t\tout += ' title=\"' + title + '\"';\n\t\t\t\t}\n\t\t\t\tout += '>' + text + '</a>';\n\t\t\t\treturn out;\n\t\t\t};\n\t\t\trenderer.image = function(href, title, text) {\n\t\t\t\tif (text) {\n\t\t\t\t\treturn text;\n\t\t\t\t}\n\t\t\t\treturn title;\n\t\t\t};\n\t\t\trenderer.blockquote = function(quote) {\n\t\t\t\treturn quote;\n\t\t\t};\n\t\t\treturn DOMPurify.sanitize(\n\t\t\t\twindow.marked(this.app.description.trim(), {\n\t\t\t\t\trenderer: renderer,\n\t\t\t\t\tgfm: false,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttables: false,\n\t\t\t\t\tbreaks: false,\n\t\t\t\t\tpedantic: false,\n\t\t\t\t\tsanitize: true,\n\t\t\t\t\tsmartLists: true,\n\t\t\t\t\tsmartypants: false\n\t\t\t\t}),\n\t\t\t\t{\n\t\t\t\t\tSAFE_FOR_JQUERY: true,\n\t\t\t\t\tALLOWED_TAGS: [\n\t\t\t\t\t\t'strong',\n\t\t\t\t\t\t'p',\n\t\t\t\t\t\t'a',\n\t\t\t\t\t\t'ul',\n\t\t\t\t\t\t'ol',\n\t\t\t\t\t\t'li',\n\t\t\t\t\t\t'em',\n\t\t\t\t\t\t'del',\n\t\t\t\t\t\t'blockquote'\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n}\n</script>\n","import { render, staticRenderFns } from \"./appDetails.vue?vue&type=template&id=273c8e71\"\nimport script from \"./appDetails.vue?vue&type=script&lang=js\"\nexport * from \"./appDetails.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('273c8e71', component.options)\n } else {\n api.reload('273c8e71', component.options)\n }\n module.hot.accept(\"./appDetails.vue?vue&type=template&id=273c8e71\", function () {\n api.rerender('273c8e71', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appDetails.vue\"\nexport default component.exports","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div id=\"app\">\n\t\t<app-navigation :menu=\"menu\" />\n\t\t<div id=\"app-content\" class=\"app-settings-content\" :class=\"{ 'with-app-sidebar': currentApp, 'icon-loading': loadingList }\">\n\t\t\t<app-list :category=\"category\" :app=\"currentApp\" :search=\"search\"></app-list>\n\t\t\t<div id=\"app-sidebar\" v-if=\"id && currentApp\">\n\t\t\t\t<app-details :category=\"category\" :app=\"currentApp\"></app-details>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script>\nimport appNavigation from '../components/appNavigation';\nimport appList from '../components/appList';\nimport Vue from 'vue';\nimport VueLocalStorage from 'vue-localstorage'\nimport Multiselect from 'vue-multiselect';\nimport api from '../store/api';\nimport AppDetails from '../components/appDetails';\n\nVue.use(VueLocalStorage)\nVue.use(VueLocalStorage)\n\nexport default {\n\tname: 'Apps',\n\tprops: {\n\t\tcategory: {\n\t\t\ttype: String,\n\t\t\tdefault: 'installed',\n\t\t},\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t}\n\t},\n\tcomponents: {\n\t\tAppDetails,\n\t\tappNavigation,\n\t\tappList,\n\t},\n\tmethods: {\n\t\tsetSearch(search) {\n\t\t\tthis.search = search;\n\t\t}\n\t},\n\tbeforeMount() {\n\t\tthis.$store.dispatch('getCategories');\n\t\tthis.$store.dispatch('getAllApps');\n\t\tthis.$store.dispatch('getGroups', {offset: 0, limit: -1});\n\t\tthis.$store.commit('setUpdateCount', this.$store.getters.getServerData.updateCount)\n\t},\n\tmounted() {\n\t\t// TODO: remove jQuery once we have a proper standardisation of the search\n\t\t$('#searchbox').show();\n\t\tlet self = this;\n\t\t$('#searchbox').change(function(e) {\n\t\t\tself.setSearch($('#searchbox').val());\n\t\t});\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsearch: ''\n\t\t}\n\t},\n\twatch: {\n\t\tcategory: function (val, old) {\n\t\t\tthis.setSearch('');\n\t\t}\n\t},\n\tcomputed: {\n\t\tloading() {\n\t\t\treturn this.$store.getters.loading('categories');\n\t\t},\n\t\tloadingList() {\n\t\t\treturn this.$store.getters.loading('list');\n\t\t},\n\t\tcurrentApp() {\n\t\t\treturn this.apps.find(app => app.id === this.id );\n\t\t},\n\t\tcategories() {\n\t\t\treturn this.$store.getters.getCategories;\n\t\t},\n\t\tapps() {\n\t\t\treturn this.$store.getters.getAllApps;\n\t\t},\n\t\tupdateCount() {\n\t\t\treturn this.$store.getters.getUpdateCount;\n\t\t},\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\n\t\t// BUILD APP NAVIGATION MENU OBJECT\n\t\tmenu() {\n\t\t\t// Data provided php side\n\t\t\tlet categories = this.$store.getters.getCategories;\n\t\t\tcategories = Array.isArray(categories) ? categories : [];\n\n\t\t\t// Map groups\n\t\t\tcategories = categories.map(category => {\n\t\t\t\tlet item = {};\n\t\t\t\titem.id = 'app-category-' + category.ident;\n\t\t\t\titem.icon = 'icon-category-' + category.ident;\n\t\t\t\titem.classes = [];\t\t\t\t\t\t\t// empty classes, active will be set later\n\t\t\t\titem.router = {\t\t\t\t\t\t\t\t// router link to\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tparams: {category: category.ident}\n\t\t\t\t};\n\t\t\t\titem.text = category.displayName;\n\n\t\t\t\treturn item;\n\t\t\t});\n\n\n\t\t\t// Add everyone group\n\t\t\tlet defaultCategories = [\n\t\t\t\t{\n\t\t\t\t\tid: 'app-category-your-apps',\n\t\t\t\t\tclasses: [],\n\t\t\t\t\trouter: {name: 'apps'},\n\t\t\t\t\ticon: 'icon-category-installed',\n\t\t\t\t\ttext: t('settings', 'Your apps'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'app-category-enabled',\n\t\t\t\t\tclasses: [],\n\t\t\t\t\ticon: 'icon-category-enabled',\n\t\t\t\t\trouter: {name: 'apps-category', params: {category: 'enabled'}},\n\t\t\t\t\ttext: t('settings', 'Active apps'),\n\t\t\t\t}, {\n\t\t\t\t\tid: 'app-category-disabled',\n\t\t\t\t\tclasses: [],\n\t\t\t\t\ticon: 'icon-category-disabled',\n\t\t\t\t\trouter: {name: 'apps-category', params: {category: 'disabled'}},\n\t\t\t\t\ttext: t('settings', 'Disabled apps'),\n\t\t\t\t}\n\t\t\t];\n\n\t\t\tif (!this.settings.appstoreEnabled) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'appscategories',\n\t\t\t\t\titems: defaultCategories,\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.$store.getters.getUpdateCount > 0) {\n\t\t\t\tdefaultCategories.push({\n\t\t\t\t\tid: 'app-category-updates',\n\t\t\t\t\tclasses: [],\n\t\t\t\t\ticon: 'icon-download',\n\t\t\t\t\trouter: {name: 'apps-category', params: {category: 'updates'}},\n\t\t\t\t\ttext: t('settings', 'Updates'),\n\t\t\t\t\tutils: {counter: this.$store.getters.getUpdateCount}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdefaultCategories.push({\n\t\t\t\tid: 'app-category-app-bundles',\n\t\t\t\tclasses: [],\n\t\t\t\ticon: 'icon-category-app-bundles',\n\t\t\t\trouter: {name: 'apps-category', params: {category: 'app-bundles'}},\n\t\t\t\ttext: t('settings', 'App bundles'),\n\t\t\t});\n\n\t\t\tcategories = defaultCategories.concat(categories);\n\n\t\t\t// Set current group as active\n\t\t\tlet activeGroup = categories.findIndex(group => group.id === 'app-category-' + this.category);\n\t\t\tif (activeGroup >= 0) {\n\t\t\t\tcategories[activeGroup].classes.push('active');\n\t\t\t} else {\n\t\t\t\tcategories[0].classes.push('active');\n\t\t\t}\n\n\t\t\tcategories.push({\n\t\t\t\tid: 'app-developer-docs',\n\t\t\t\tclasses: [],\n\t\t\t\thref: this.settings.developerDocumentation,\n\t\t\t\ttext: t('settings', 'Developer documentation') + ' ↗',\n\t\t\t});\n\n\t\t\t// Return\n\t\t\treturn {\n\t\t\t\tid: 'appscategories',\n\t\t\t\titems: categories,\n\t\t\t\tloading: this.loading\n\t\t\t}\n\t\t},\n\t}\n}\n</script>\n","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=33a216a8\"\nimport script from \"./Apps.vue?vue&type=script&lang=js\"\nexport * from \"./Apps.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('33a216a8', component.options)\n } else {\n api.reload('33a216a8', component.options)\n }\n module.hot.accept(\"./Apps.vue?vue&type=template&id=33a216a8\", function () {\n api.rerender('33a216a8', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/views/Apps.vue\"\nexport default component.exports","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport Users from './views/Users';\nimport Apps from './views/Apps';\n\nVue.use(Router);\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * the settings-vue template, where the vue-router will\n * ensure the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\n\nexport default new Router({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: OC.generateUrl(''),\n\tlinkActiveClass: 'active',\n\troutes: [\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/users',\n\t\t\tcomponent: Users,\n\t\t\tprops: true,\n\t\t\tname: 'users',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':selectedGroup',\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tcomponent: Users\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/apps',\n\t\t\tcomponent: Apps,\n\t\t\tprops: true,\n\t\t\tname: 'apps',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':category',\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: ':id',\n\t\t\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\t\t\tcomponent: Apps\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t]\n});\n","/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\nexport default index_esm;\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api';\n\nconst orderGroups = function(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n\t * const SORT_GROUPNAME = 2;\n\t * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n\t */\n\tif (orderBy === 1) {\n\t\treturn groups.sort((a, b) => a.usercount-a.disabled < b.usercount - b.disabled);\n\t} else {\n\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name));\n\t}\n};\n\nconst defaults = {\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0\n\t}\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tuserCount: 0\n};\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\t// convert obj to array\n\t\tlet users = state.users.concat(Object.keys(usersObj).map(userid => usersObj[userid]));\n\t\tstate.usersOffset += state.usersLimit;\n\t\tstate.users = users;\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length!=='' ? length : 0;\n\t},\n\tinitGroups(state, {groups, orderBy, userCount}) {\n\t\tstate.groups = groups.map(group => Object.assign({}, defaults.group, group));\n\t\tstate.orderBy = orderBy;\n\t\tstate.userCount = userCount;\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t\t\n\t},\n\taddGroup(state, {gid, displayName}) {\n\t\ttry {\n\t\t\t// extend group to default values\n\t\t\tlet group = Object.assign({}, defaults.group, {\n\t\t\t\tid: gid,\n\t\t\t\tname: displayName,\n\t\t\t});\n\t\t\tstate.groups.push(group);\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t\t} catch (e) {\n\t\t\tconsole.log('Can\\'t create group', e);\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tlet groupIndex = state.groups.findIndex(groupSearch => groupSearch.id == gid);\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1);\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tlet group = state.groups.find(groupSearch => groupSearch.id == gid);\n\t\tlet user = state.users.find(user => user.id == userid);\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled) {\n\t\t\tgroup.usercount++; \n\t\t}\n\t\tlet groups = user.groups;\n\t\tgroups.push(gid);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tlet group = state.groups.find(groupSearch => groupSearch.id == gid);\n\t\tlet user = state.users.find(user => user.id == userid);\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled) {\n\t\t\tgroup.usercount--;\n\t\t}\n\t\tlet groups = user.groups;\n\t\tgroups.splice(groups.indexOf(gid),1);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tlet groups = state.users.find(user => user.id == userid).subadmin;\n\t\tgroups.push(gid);\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tlet groups = state.users.find(user => user.id == userid).subadmin;\n\t\tgroups.splice(groups.indexOf(gid),1);\n\t},\n\tdeleteUser(state, userid) {\n\t\tlet userIndex = state.users.findIndex(user => user.id == userid);\n\t\tstate.users.splice(userIndex, 1);\n\t},\n\taddUserData(state, response) {\n\t\tstate.users.push(response.data.ocs.data);\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tlet user = state.users.find(user => user.id == userid);\n\t\tuser.enabled = enabled;\n\t\t// increment or not\n\t\tstate.groups.find(group => group.id == 'disabled').usercount += enabled ? -1 : 1;\n\t\tstate.userCount += enabled ? 1 : -1;\n\t\tuser.groups.forEach(group => {\n\t\t\t// Increment disabled count\n\t\t\tstate.groups.find(groupSearch => groupSearch.id == group).disabled += enabled ? -1 : 1;\n\t\t});\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tlet humanValue = OC.Util.computerFileSize(value);\n\t\t\tstate.users.find(user => user.id == userid)[key][key] = humanValue!==null ? humanValue : value;\n\t\t} else {\n\t\t\tstate.users.find(user => user.id == userid)[key] = value;\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t */\n\tresetUsers(state) {\n\t\tstate.users = [];\n\t\tstate.usersOffset = 0;\n\t}\n};\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users;\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups;\n\t},\n\tgetSubadminGroups(state) {\n\t\t// Can't be subadmin of admin or disabled\n\t\treturn state.groups.filter(group => group.id !== 'admin' && group.id !== 'disabled');\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength;\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset;\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit;\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount;\n\t}\n};\n\nconst actions = {\n\n\t/**\n\t * Get all users with full details\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @returns {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\tgroup = typeof group === 'string' ? group : '';\n\t\tif (group !== '') {\n\t\t\treturn api.get(OC.linkToOCS(`cloud/groups/${group}/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t\t}\n\n\t\treturn api.get(OC.linkToOCS(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\treturn api.get(OC.linkToOCS(`cloud/groups?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', {gid: group, displayName: group});\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\t/**\n\t * Get all users with full details\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @returns {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\treturn api.get(OC.linkToOCS(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @returns {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(OC.linkToOCS(`cloud/users/${groupid}/details?offset=${offset}&limit=${limit}`, 2))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\t\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif(oc_capabilities.password_policy && oc_capabilities.password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', oc_capabilities.password_policy.minLength);\n\t\t\treturn oc_capabilities.password_policy.minLength;\n\t\t}\n\t\treturn false;\n\t},\n\n\t/**\n\t * Add group\n\t * \n\t * @param {Object} context\n\t * @param {string} gid Group id\n\t * @returns {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/groups`, 2), {groupid: gid})\n\t\t\t\t.then((response) => context.commit('addGroup', {gid: gid, displayName: gid}))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error });\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error;\n\t\t});\n\t},\n\n\t/**\n\t * Remove group\n\t * \n\t * @param {Object} context\n\t * @param {string} gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/groups/${gid}`, 2))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }));\n\t},\n\n\t/**\n\t * Add user to group\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Remove user from group\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error });\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error; \n\t\t});\n\t},\n\n\t/**\n\t * Add user to group admin\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Delete a user\n\t * \n\t * @param {Object} context\n\t * @param {string} userid User id \n\t * @returns {Promise}\n\t */\n\tdeleteUser(context, { userid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}`, 2))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Add a user\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password \n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @returns {Promise}\n\t */\n\taddUser({commit, dispatch}, { userid, password, email, groups, subadmin, quota, language }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users`, 2), { userid, password, email, groups, subadmin, quota, language })\n\t\t\t\t.then((response) => dispatch('addUserData', userid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t * \n\t * @param {Object} context\n\t * @param {string} userid User id \n\t * @returns {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(OC.linkToOCS(`cloud/users/${userid}`, 2))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/** Enable or disable user \n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @returns {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tlet userStatus = enabled ? 'enable' : 'disable';\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(OC.linkToOCS(`cloud/users/${userid}/${userStatus}`, 2))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Edit user data\n\t * \n\t * @param {Object} context \n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @returns {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tlet allowedEmpty = ['email', 'displayname'];\n\t\tif (['email', 'language', 'quota', 'displayname', 'password'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string' &&\n\t\t\t\t(\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0) ||\n\t\t\t\t\tallowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(OC.linkToOCS(`cloud/users/${userid}`, 2), { key: key, value: value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => {throw error;});\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'));\n\t}\n};\n\nexport default { state, mutations, getters, actions };\n","/*\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api';\nimport axios from 'axios/index';\nimport Vue from 'vue';\n\nconst state = {\n\tapps: [],\n\tcategories: [],\n\tupdateCount: 0,\n\tloading: {},\n\tloadingList: false,\n};\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tOC.Notification.showHtml(t('settings','An error occured during the request. Unable to proceed.')+'<br>'+error.error.response.data.data.message, {timeout: 7});\n\t\tconsole.log(state, error);\n\t},\n\n\tinitCategories(state, {categories, updateCount}) {\n\t\tstate.categories = categories;\n\t\tstate.updateCount = updateCount;\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount;\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category);\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray;\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps;\n\t},\n\n\tsetError(state, {appId, error}) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tapp.error = error;\n\t},\n\n\tclearError(state, {appId, error}) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tapp.error = null;\n\t},\n\n\tenableApp(state, {appId, groups}) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tapp.active = true;\n\t\tapp.groups = groups;\n\t},\n\n\tdisableApp(state, appId) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tapp.active = false;\n\t\tapp.groups = [];\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true;\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false;\n\t\tstate.apps.find(app => app.id === appId).groups = [];\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true;\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false;\n\t\tstate.apps.find(app => app.id === appId).canInstall = true;\n\t},\n\n\tupdateApp(state, appId) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tlet version = app.update;\n\t\tapp.update = null;\n\t\tapp.version = version;\n\t\tstate.updateCount--;\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = [];\n\t},\n\treset(state) {\n\t\tstate.apps = [];\n\t\tstate.categories = [];\n\t\tstate.updateCount = 0;\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true);\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true);\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false);\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false);\n\t\t}\n\t},\n};\n\nconst getters = {\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id];\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories;\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps;\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount;\n\t}\n};\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps;\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId;\n\t\t} else {\n\t\t\tapps = [appId];\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps);\n\t\t\tcontext.commit('startLoading', 'install');\n\t\t\treturn api.post(OC.generateUrl(`settings/apps/enable`), {appIds: apps, groups: groups})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps);\n\t\t\t\t\tcontext.commit('stopLoading', 'install');\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', {appId: _appId, groups: groups});\n\t\t\t\t\t});\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn api.get(OC.generateUrl('apps/files'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tOC.dialogs.info(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tt('settings','App update'),\n\t\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload();\n\t\t\t\t\t\t\t\t}, 5000);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app can not be enabled because it makes the server unstable')\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('setError', {appId: apps, error: t('settings', 'Error while enabling app')});\n\t\t\t\t\tcontext.commit('stopLoading', apps);\n\t\t\t\t\tcontext.commit('stopLoading', 'install');\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }));\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps;\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId;\n\t\t} else {\n\t\t\tapps = [appId];\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps);\n\t\t\treturn api.post(OC.generateUrl(`settings/apps/disable`), {appIds: apps})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps);\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId);\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps);\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }));\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId);\n\t\t\treturn api.get(OC.generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId);\n\t\t\t\t\tcontext.commit('uninstallApp', appId);\n\t\t\t\t\treturn true;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId);\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }));\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId);\n\t\t\tcontext.commit('startLoading', 'install');\n\t\t\treturn api.get(OC.generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install');\n\t\t\t\t\tcontext.commit('stopLoading', appId);\n\t\t\t\t\tcontext.commit('updateApp', appId);\n\t\t\t\t\treturn true;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId);\n\t\t\t\t\tcontext.commit('stopLoading', 'install');\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }));\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list');\n\t\treturn api.get(OC.generateUrl(`settings/apps/list`))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps);\n\t\t\t\tcontext.commit('stopLoading', 'list');\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetCategories(context) {\n\t\tcontext.commit('startLoading', 'categories');\n\t\treturn api.get(OC.generateUrl('settings/apps/categories'))\n\t\t\t.then((response) => {\n\t\t\t\tif (response.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', response.data);\n\t\t\t\t\tcontext.commit('stopLoading', 'categories');\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n};\n\nexport default { state, mutations, getters, actions };","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api';\n\nconst state = {\n\tserverData: {}\n};\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data;\n\t}\n};\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData;\n\t}\n};\nconst actions = {};\n\nexport default {state, mutations, getters, actions};\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api';\n\nconst state = {};\nconst mutations = {};\nconst getters = {};\nconst actions = {\n\t/**\n * Set application config in database\n * \n\t * @param {Object} context\n * @param {Object} options\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @returns{Promise}\n\t */\n\tsetAppConfig(context, {app, key, value}) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`apps/provisioning_api/api/v1/config/apps/${app}/${key}`, 2), {value: value})\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }));;\n }\n};\n\nexport default {state, mutations, getters, actions};\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport users from './users';\nimport apps from './apps';\nimport settings from './settings';\nimport oc from './oc';\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production';\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tlet message = error.error.response.data.ocs.meta.message;\n\t\t\tOC.Notification.showHtml(t('settings','An error occured during the request. Unable to proceed.')+'<br>'+message, {timeout: 7});\n\t\t} catch(e) {\n\t\t\tOC.Notification.showTemporary(t('settings','An error occured during the request. Unable to proceed.'));\n\t\t}\n\t\tconsole.log(state, error);\n\t}\n};\n\nexport default new Vuex.Store({\n\tmodules: {\n\t\tusers,\n\t\tapps,\n\t\tsettings,\n\t\toc\n\t},\n\tstrict: debug,\n\n\tmutations\n});\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue';\nimport { sync } from 'vuex-router-sync';\nimport App from './App.vue';\nimport router from './router';\nimport store from './store';\nrequire(\"babel-polyfill\");\n\n\nsync(store, router);\n\n// bind to window\nVue.prototype.t = t;\nVue.prototype.OC = OC;\nVue.prototype.oc_userconfig = oc_userconfig;\nVue.prototype.oc_current_user = oc_current_user;\n\nconst app = new Vue({\n\trouter,\n\tstore,\n\trender: h => h(App)\n}).$mount('#content');\n\nexport { app, router, store };","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search) {\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp) {\n 'use strict';\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});\n","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split) {\n 'use strict';\n var isRegExp = require('./_is-regexp');\n var _split = $split;\n var $push = [].push;\n var $SPLIT = 'split';\n var LENGTH = 'length';\n var LAST_INDEX = 'lastIndex';\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while (match = separatorCopy.exec(string)) {\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n // eslint-disable-next-line no-loop-func\n if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () {\n for (i = 1; i < arguments[LENGTH] - 2; i++) if (arguments[i] === undefined) match[i] = undefined;\n });\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n $split = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit) {\n var O = defined(this);\n var fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});\n","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace) {\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue) {\n 'use strict';\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});\n","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match) {\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp) {\n 'use strict';\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var final = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < final) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/settings/l10n/af.js b/settings/l10n/af.js index 440aecbe3b2..ff84a765915 100644 --- a/settings/l10n/af.js +++ b/settings/l10n/af.js @@ -21,7 +21,6 @@ OC.L10N.register( "Online documentation" : "Aanlyndokumentasie", "Forum" : "Forum", "days" : "dae", - "Tips & tricks" : "Wenke & truuks", "Profile picture" : "Profielprent", "Upload new" : "Laai nuwe op", "Select from Files" : "Kies uit Lêers", @@ -71,6 +70,7 @@ OC.L10N.register( "Invalid user" : "Ongeldige gebruiker", "Email saved" : "E-pos gestoor", "Go to %s" : "Gaan na %s", + "Tips & tricks" : "Wenke & truuks", "by %s" : "deur %s", "%s-licensed" : "%s-gelisensieer", "Documentation:" : "Dokumentasie:", diff --git a/settings/l10n/af.json b/settings/l10n/af.json index b69d12f3520..e0c84be0494 100644 --- a/settings/l10n/af.json +++ b/settings/l10n/af.json @@ -19,7 +19,6 @@ "Online documentation" : "Aanlyndokumentasie", "Forum" : "Forum", "days" : "dae", - "Tips & tricks" : "Wenke & truuks", "Profile picture" : "Profielprent", "Upload new" : "Laai nuwe op", "Select from Files" : "Kies uit Lêers", @@ -69,6 +68,7 @@ "Invalid user" : "Ongeldige gebruiker", "Email saved" : "E-pos gestoor", "Go to %s" : "Gaan na %s", + "Tips & tricks" : "Wenke & truuks", "by %s" : "deur %s", "%s-licensed" : "%s-gelisensieer", "Documentation:" : "Dokumentasie:", diff --git a/settings/l10n/ar.js b/settings/l10n/ar.js index 59d9f76b712..e446e9b5c94 100644 --- a/settings/l10n/ar.js +++ b/settings/l10n/ar.js @@ -54,7 +54,6 @@ OC.L10N.register( "Enable encryption" : "تنشيط التعمية", "Start migration" : "إبدأ الترحيل", "Security & setup warnings" : "تحذيرات الإعداد و الأمان", - "System locale can not be set to a one which supports UTF-8." : "لا يمكن تعيين لغة النظام الى احد اللغات التي تدعم UTF-8.", "Version" : "إصدار", "Background jobs" : "الأنشطة في الخلفية", "Execute one task with each page loaded" : "قم بتنفيذ مهمة واحدة مع كل صفحة تم تحميلها", @@ -67,9 +66,6 @@ OC.L10N.register( "Expire after " : "ينتهي بعد", "days" : "أيام", "Allow resharing" : "السماح بإعادة المشاركة ", - "Tips & tricks" : "نصائح و تلميحات", - "How to do backups" : "كيف يمكنكم إنشاء نسخ إحتياطية", - "Theming" : "المظهر", "Personal" : "شخصي", "Administration" : "الإدارة", "Profile picture" : "صورة الملف الشخصي", @@ -206,6 +202,10 @@ OC.L10N.register( "Verifying" : "التحقق", "Personal info" : "المعلومات الشخصية", "Sync clients" : "مزامنة العملاء", + "System locale can not be set to a one which supports UTF-8." : "لا يمكن تعيين لغة النظام الى احد اللغات التي تدعم UTF-8.", + "Tips & tricks" : "نصائح و تلميحات", + "How to do backups" : "كيف يمكنكم إنشاء نسخ إحتياطية", + "Theming" : "المظهر", "View in store" : "العرض على المتجر", "by %s" : "مِن %s", "Documentation:" : "التوثيق", diff --git a/settings/l10n/ar.json b/settings/l10n/ar.json index 9caf01100ba..5a3c71bc568 100644 --- a/settings/l10n/ar.json +++ b/settings/l10n/ar.json @@ -52,7 +52,6 @@ "Enable encryption" : "تنشيط التعمية", "Start migration" : "إبدأ الترحيل", "Security & setup warnings" : "تحذيرات الإعداد و الأمان", - "System locale can not be set to a one which supports UTF-8." : "لا يمكن تعيين لغة النظام الى احد اللغات التي تدعم UTF-8.", "Version" : "إصدار", "Background jobs" : "الأنشطة في الخلفية", "Execute one task with each page loaded" : "قم بتنفيذ مهمة واحدة مع كل صفحة تم تحميلها", @@ -65,9 +64,6 @@ "Expire after " : "ينتهي بعد", "days" : "أيام", "Allow resharing" : "السماح بإعادة المشاركة ", - "Tips & tricks" : "نصائح و تلميحات", - "How to do backups" : "كيف يمكنكم إنشاء نسخ إحتياطية", - "Theming" : "المظهر", "Personal" : "شخصي", "Administration" : "الإدارة", "Profile picture" : "صورة الملف الشخصي", @@ -204,6 +200,10 @@ "Verifying" : "التحقق", "Personal info" : "المعلومات الشخصية", "Sync clients" : "مزامنة العملاء", + "System locale can not be set to a one which supports UTF-8." : "لا يمكن تعيين لغة النظام الى احد اللغات التي تدعم UTF-8.", + "Tips & tricks" : "نصائح و تلميحات", + "How to do backups" : "كيف يمكنكم إنشاء نسخ إحتياطية", + "Theming" : "المظهر", "View in store" : "العرض على المتجر", "by %s" : "مِن %s", "Documentation:" : "التوثيق", diff --git a/settings/l10n/ast.js b/settings/l10n/ast.js index aca07ddd66a..b33673b945f 100644 --- a/settings/l10n/ast.js +++ b/settings/l10n/ast.js @@ -68,13 +68,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precises migrar les claves de cifráu d'un cifráu vieyu (ownCloud <= 8.0) a unu nuevu.", "Start migration" : "Aniciar migración", "Security & setup warnings" : "Alvertancies de seguranza y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "El que too tea configurao afayadizamente ye importante pa la seguranza y rindimientu de la to instancia. P'ayudate con ello, tamos faciendo delles comprobaciónes automátiques. Mira la estaya Conseyos y trucos, y la documentación pa más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP nun paez tar configuráu de mou afayadizu pa solicitar les variables del sistema. La prueba con getenv(\"PATH\") namái devuelve una rempuesta balera.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dablemente esto seya culpa d'un caché o acelerador, como por exemplu Zend OPcache o eAccelerator.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Falta'l módulu PHP «fileinfo». Encamiéntase activalu pa consiguir los meyores resultaos pa cola deteición de tribes MIME.", - "System locale can not be set to a one which supports UTF-8." : "Nun se pue escoyer una configuración rexonal que sofite UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto quier dicir qu'igual hai problemes con ciertos caráuteres nos nomes de ficheros.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Encamiéntase instalar los paquetes riquíos nel to sistema pa sofitar una de les locales de darréu: %s.", "All checks passed." : "Pasáronse toles comprobaciones.", "Version" : "Versión", "Background jobs" : "Trabayos de fondu", @@ -96,13 +89,6 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "Restrinxir a los usuarios a compartir namái con otros usuarios nos sos grupos", "Exclude groups from sharing" : "Esclúi grupos de compartir", "These groups will still be able to receive shares, but not to initiate them." : "Estos grupos van poder siguir recibiendo conteníos compartíos, pero nun van poder anicialos", - "Tips & tricks" : "Conseyos y trucos", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto aconséyase particularmente al usar el veceru d'escritoriu pa la sincronización de ficheros.", - "How to do backups" : "Cómo facer respaldos", - "Performance tuning" : "Afinamientu de rindimientu", - "Improving the config.php" : "Ameyorando'l config.php", - "Theming" : "Aspeutu", - "Hardening and security guidance" : "Guía de fortalecimientu y seguranza", "Profile picture" : "Semeya de perfil", "Upload new" : "Xubir otra", "Remove image" : "Desaniciar imaxe", @@ -293,6 +279,15 @@ OC.L10N.register( "Error creating user: {message}" : "Fallu creando l'usuariu: {message}", "A valid password must be provided" : "Tien d'apurrise una contraseña válida", "A valid email must be provided" : "Ha apurrise un corréu válidu", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dablemente esto seya culpa d'un caché o acelerador, como por exemplu Zend OPcache o eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Nun se pue escoyer una configuración rexonal que sofite UTF-8.", + "Tips & tricks" : "Conseyos y trucos", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto aconséyase particularmente al usar el veceru d'escritoriu pa la sincronización de ficheros.", + "How to do backups" : "Cómo facer respaldos", + "Performance tuning" : "Afinamientu de rindimientu", + "Improving the config.php" : "Ameyorando'l config.php", + "Theming" : "Aspeutu", + "Hardening and security guidance" : "Guía de fortalecimientu y seguranza", "View in store" : "Ver na tienda", "Limit to groups" : "Llendar a grupos", "This app has an update available." : "Esta apllicación tien un anovamientu disponible.", @@ -322,6 +317,11 @@ OC.L10N.register( "set new password" : "afitar nueva contraseña", "change email address" : "camudar direición de corréu", "Default" : "Predetermináu", - "{size} used" : "{size} usaos" + "{size} used" : "{size} usaos", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "El que too tea configurao afayadizamente ye importante pa la seguranza y rindimientu de la to instancia. P'ayudate con ello, tamos faciendo delles comprobaciónes automátiques. Mira la estaya Conseyos y trucos, y la documentación pa más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP nun paez tar configuráu de mou afayadizu pa solicitar les variables del sistema. La prueba con getenv(\"PATH\") namái devuelve una rempuesta balera.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Falta'l módulu PHP «fileinfo». Encamiéntase activalu pa consiguir los meyores resultaos pa cola deteición de tribes MIME.", + "This means that there might be problems with certain characters in filenames." : "Esto quier dicir qu'igual hai problemes con ciertos caráuteres nos nomes de ficheros.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Encamiéntase instalar los paquetes riquíos nel to sistema pa sofitar una de les locales de darréu: %s." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/ast.json b/settings/l10n/ast.json index 05b4e9d97f1..0f98c5f261e 100644 --- a/settings/l10n/ast.json +++ b/settings/l10n/ast.json @@ -66,13 +66,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precises migrar les claves de cifráu d'un cifráu vieyu (ownCloud <= 8.0) a unu nuevu.", "Start migration" : "Aniciar migración", "Security & setup warnings" : "Alvertancies de seguranza y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "El que too tea configurao afayadizamente ye importante pa la seguranza y rindimientu de la to instancia. P'ayudate con ello, tamos faciendo delles comprobaciónes automátiques. Mira la estaya Conseyos y trucos, y la documentación pa más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP nun paez tar configuráu de mou afayadizu pa solicitar les variables del sistema. La prueba con getenv(\"PATH\") namái devuelve una rempuesta balera.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dablemente esto seya culpa d'un caché o acelerador, como por exemplu Zend OPcache o eAccelerator.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Falta'l módulu PHP «fileinfo». Encamiéntase activalu pa consiguir los meyores resultaos pa cola deteición de tribes MIME.", - "System locale can not be set to a one which supports UTF-8." : "Nun se pue escoyer una configuración rexonal que sofite UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto quier dicir qu'igual hai problemes con ciertos caráuteres nos nomes de ficheros.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Encamiéntase instalar los paquetes riquíos nel to sistema pa sofitar una de les locales de darréu: %s.", "All checks passed." : "Pasáronse toles comprobaciones.", "Version" : "Versión", "Background jobs" : "Trabayos de fondu", @@ -94,13 +87,6 @@ "Restrict users to only share with users in their groups" : "Restrinxir a los usuarios a compartir namái con otros usuarios nos sos grupos", "Exclude groups from sharing" : "Esclúi grupos de compartir", "These groups will still be able to receive shares, but not to initiate them." : "Estos grupos van poder siguir recibiendo conteníos compartíos, pero nun van poder anicialos", - "Tips & tricks" : "Conseyos y trucos", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto aconséyase particularmente al usar el veceru d'escritoriu pa la sincronización de ficheros.", - "How to do backups" : "Cómo facer respaldos", - "Performance tuning" : "Afinamientu de rindimientu", - "Improving the config.php" : "Ameyorando'l config.php", - "Theming" : "Aspeutu", - "Hardening and security guidance" : "Guía de fortalecimientu y seguranza", "Profile picture" : "Semeya de perfil", "Upload new" : "Xubir otra", "Remove image" : "Desaniciar imaxe", @@ -291,6 +277,15 @@ "Error creating user: {message}" : "Fallu creando l'usuariu: {message}", "A valid password must be provided" : "Tien d'apurrise una contraseña válida", "A valid email must be provided" : "Ha apurrise un corréu válidu", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dablemente esto seya culpa d'un caché o acelerador, como por exemplu Zend OPcache o eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Nun se pue escoyer una configuración rexonal que sofite UTF-8.", + "Tips & tricks" : "Conseyos y trucos", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto aconséyase particularmente al usar el veceru d'escritoriu pa la sincronización de ficheros.", + "How to do backups" : "Cómo facer respaldos", + "Performance tuning" : "Afinamientu de rindimientu", + "Improving the config.php" : "Ameyorando'l config.php", + "Theming" : "Aspeutu", + "Hardening and security guidance" : "Guía de fortalecimientu y seguranza", "View in store" : "Ver na tienda", "Limit to groups" : "Llendar a grupos", "This app has an update available." : "Esta apllicación tien un anovamientu disponible.", @@ -320,6 +315,11 @@ "set new password" : "afitar nueva contraseña", "change email address" : "camudar direición de corréu", "Default" : "Predetermináu", - "{size} used" : "{size} usaos" + "{size} used" : "{size} usaos", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "El que too tea configurao afayadizamente ye importante pa la seguranza y rindimientu de la to instancia. P'ayudate con ello, tamos faciendo delles comprobaciónes automátiques. Mira la estaya Conseyos y trucos, y la documentación pa más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP nun paez tar configuráu de mou afayadizu pa solicitar les variables del sistema. La prueba con getenv(\"PATH\") namái devuelve una rempuesta balera.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Falta'l módulu PHP «fileinfo». Encamiéntase activalu pa consiguir los meyores resultaos pa cola deteición de tribes MIME.", + "This means that there might be problems with certain characters in filenames." : "Esto quier dicir qu'igual hai problemes con ciertos caráuteres nos nomes de ficheros.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Encamiéntase instalar los paquetes riquíos nel to sistema pa sofitar una de les locales de darréu: %s." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/az.js b/settings/l10n/az.js index 87f7843ad82..4e4a022a016 100644 --- a/settings/l10n/az.js +++ b/settings/l10n/az.js @@ -37,9 +37,6 @@ OC.L10N.register( "Test email settings" : "Email qurmalarını test et", "Send email" : "Email yolla", "Security & setup warnings" : "Təhlükəsizlik & işə salma xəbərdarlıqları", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Yalnız-Oxuma işə salınıb. Bu web-interface vasitəsilə edilən bəzi konfiqlərin qarşısını alır. Bundan başqa, fayl əllə edilən istənilən yenilınmə üçün yazılma yetkisinə sahib olmalıdır. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Bu ola bilər ki, cache/accelerator such tərəfindən cağırılıb hansi ki, Zend OPcache və eAccelerator-da olduğu kimidir.", - "System locale can not be set to a one which supports UTF-8." : "UTF-8 dsətklənən sistemdə daxili vaxt və dil təyinatı ola bilməz. ", "Version" : "Versiya", "Execute one task with each page loaded" : "Hər səhifə yüklənməsində bir işi yerinə yetir", "Sharing" : "Paylaşılır", @@ -55,7 +52,6 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "İstifadəçiləri yalnız yerləşdikləri qrup üzvləri ilə paylaşım edə bilmələrini məhdudla", "Exclude groups from sharing" : "Qrupları paylaşımdan ayır", "These groups will still be able to receive shares, but not to initiate them." : "Bu qruplar paylaşımları hələdə ala biləcəklər ancaq, yarada bilməyəcəklər", - "How to do backups" : "Rezerv nüsxələr neçə edilisin", "Profile picture" : "Profil şəkli", "Upload new" : "Yenisini yüklə", "Remove image" : "Şəkili sil", @@ -123,6 +119,10 @@ OC.L10N.register( "A valid username must be provided" : "Düzgün istifadəçi adı daxil edilməlidir", "A valid password must be provided" : "Düzgün şifrə daxil edilməlidir", "A valid email must be provided" : "Düzgün email təqdim edilməlidir", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Yalnız-Oxuma işə salınıb. Bu web-interface vasitəsilə edilən bəzi konfiqlərin qarşısını alır. Bundan başqa, fayl əllə edilən istənilən yenilınmə üçün yazılma yetkisinə sahib olmalıdır. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Bu ola bilər ki, cache/accelerator such tərəfindən cağırılıb hansi ki, Zend OPcache və eAccelerator-da olduğu kimidir.", + "System locale can not be set to a one which supports UTF-8." : "UTF-8 dsətklənən sistemdə daxili vaxt və dil təyinatı ola bilməz. ", + "How to do backups" : "Rezerv nüsxələr neçə edilisin", "Documentation:" : "Sənədləşmə:", "Show description …" : "Açıqlanmanı göstər ...", "Hide description …" : "Açıqlamanı gizlət ...", diff --git a/settings/l10n/az.json b/settings/l10n/az.json index 26f8fc269e7..5e8799ff911 100644 --- a/settings/l10n/az.json +++ b/settings/l10n/az.json @@ -35,9 +35,6 @@ "Test email settings" : "Email qurmalarını test et", "Send email" : "Email yolla", "Security & setup warnings" : "Təhlükəsizlik & işə salma xəbərdarlıqları", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Yalnız-Oxuma işə salınıb. Bu web-interface vasitəsilə edilən bəzi konfiqlərin qarşısını alır. Bundan başqa, fayl əllə edilən istənilən yenilınmə üçün yazılma yetkisinə sahib olmalıdır. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Bu ola bilər ki, cache/accelerator such tərəfindən cağırılıb hansi ki, Zend OPcache və eAccelerator-da olduğu kimidir.", - "System locale can not be set to a one which supports UTF-8." : "UTF-8 dsətklənən sistemdə daxili vaxt və dil təyinatı ola bilməz. ", "Version" : "Versiya", "Execute one task with each page loaded" : "Hər səhifə yüklənməsində bir işi yerinə yetir", "Sharing" : "Paylaşılır", @@ -53,7 +50,6 @@ "Restrict users to only share with users in their groups" : "İstifadəçiləri yalnız yerləşdikləri qrup üzvləri ilə paylaşım edə bilmələrini məhdudla", "Exclude groups from sharing" : "Qrupları paylaşımdan ayır", "These groups will still be able to receive shares, but not to initiate them." : "Bu qruplar paylaşımları hələdə ala biləcəklər ancaq, yarada bilməyəcəklər", - "How to do backups" : "Rezerv nüsxələr neçə edilisin", "Profile picture" : "Profil şəkli", "Upload new" : "Yenisini yüklə", "Remove image" : "Şəkili sil", @@ -121,6 +117,10 @@ "A valid username must be provided" : "Düzgün istifadəçi adı daxil edilməlidir", "A valid password must be provided" : "Düzgün şifrə daxil edilməlidir", "A valid email must be provided" : "Düzgün email təqdim edilməlidir", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Yalnız-Oxuma işə salınıb. Bu web-interface vasitəsilə edilən bəzi konfiqlərin qarşısını alır. Bundan başqa, fayl əllə edilən istənilən yenilınmə üçün yazılma yetkisinə sahib olmalıdır. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Bu ola bilər ki, cache/accelerator such tərəfindən cağırılıb hansi ki, Zend OPcache və eAccelerator-da olduğu kimidir.", + "System locale can not be set to a one which supports UTF-8." : "UTF-8 dsətklənən sistemdə daxili vaxt və dil təyinatı ola bilməz. ", + "How to do backups" : "Rezerv nüsxələr neçə edilisin", "Documentation:" : "Sənədləşmə:", "Show description …" : "Açıqlanmanı göstər ...", "Hide description …" : "Açıqlamanı gizlət ...", diff --git a/settings/l10n/bg.js b/settings/l10n/bg.js index 1272d27db21..32950f5404f 100644 --- a/settings/l10n/bg.js +++ b/settings/l10n/bg.js @@ -47,8 +47,6 @@ OC.L10N.register( "Select default encryption module:" : "Избор на модул за криптиране по подразбиране:", "Start migration" : "Начало на миграцията", "Security & setup warnings" : "Предупреждения за сигурност и настройки", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Това може да се дължи на кеш/акселератор като Zend OPache или eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Системните настройки за местоположение не могат да бъдат промени на такива, подържащи UTF-8.", "Version" : "Версия", "Execute one task with each page loaded" : "Изпълни по едно задание с всяка заредена страница.", "Sharing" : "Споделяне", @@ -64,11 +62,6 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "Ограничи потребителите, така че да могат да споделят само с други потребители в своите групи.", "Exclude groups from sharing" : "Забрани групи да споделят", "These groups will still be able to receive shares, but not to initiate them." : "Тези групи ще могат да получават споделения, но няма да могат самите те да споделят.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Препоръчително, особено ако ползвате клиента за настолен компютър.", - "How to do backups" : "Как се правят резервни копия", - "Performance tuning" : "Настройване на производителност", - "Improving the config.php" : "Подобряване на config.php", - "Theming" : "Промяна на облика", "Profile picture" : "Аватар", "Upload new" : "Качи нов", "Remove image" : "Премахни изображението", @@ -171,6 +164,13 @@ OC.L10N.register( "A valid username must be provided" : "Трябва да бъде зададено валидно потребителско име", "A valid password must be provided" : "Трябва да бъде зададена валидна парола", "A valid email must be provided" : "Трябва да бъде зададена валидна електронна поща", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Това може да се дължи на кеш/акселератор като Zend OPache или eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Системните настройки за местоположение не могат да бъдат промени на такива, подържащи UTF-8.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Препоръчително, особено ако ползвате клиента за настолен компютър.", + "How to do backups" : "Как се правят резервни копия", + "Performance tuning" : "Настройване на производителност", + "Improving the config.php" : "Подобряване на config.php", + "Theming" : "Промяна на облика", "This app has an update available." : "Това приложение има налично обновление.", "by %s" : "от %s", "Documentation:" : "Документация:", diff --git a/settings/l10n/bg.json b/settings/l10n/bg.json index 1db845010f3..ed6b76879fb 100644 --- a/settings/l10n/bg.json +++ b/settings/l10n/bg.json @@ -45,8 +45,6 @@ "Select default encryption module:" : "Избор на модул за криптиране по подразбиране:", "Start migration" : "Начало на миграцията", "Security & setup warnings" : "Предупреждения за сигурност и настройки", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Това може да се дължи на кеш/акселератор като Zend OPache или eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Системните настройки за местоположение не могат да бъдат промени на такива, подържащи UTF-8.", "Version" : "Версия", "Execute one task with each page loaded" : "Изпълни по едно задание с всяка заредена страница.", "Sharing" : "Споделяне", @@ -62,11 +60,6 @@ "Restrict users to only share with users in their groups" : "Ограничи потребителите, така че да могат да споделят само с други потребители в своите групи.", "Exclude groups from sharing" : "Забрани групи да споделят", "These groups will still be able to receive shares, but not to initiate them." : "Тези групи ще могат да получават споделения, но няма да могат самите те да споделят.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Препоръчително, особено ако ползвате клиента за настолен компютър.", - "How to do backups" : "Как се правят резервни копия", - "Performance tuning" : "Настройване на производителност", - "Improving the config.php" : "Подобряване на config.php", - "Theming" : "Промяна на облика", "Profile picture" : "Аватар", "Upload new" : "Качи нов", "Remove image" : "Премахни изображението", @@ -169,6 +162,13 @@ "A valid username must be provided" : "Трябва да бъде зададено валидно потребителско име", "A valid password must be provided" : "Трябва да бъде зададена валидна парола", "A valid email must be provided" : "Трябва да бъде зададена валидна електронна поща", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Това може да се дължи на кеш/акселератор като Zend OPache или eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Системните настройки за местоположение не могат да бъдат промени на такива, подържащи UTF-8.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Препоръчително, особено ако ползвате клиента за настолен компютър.", + "How to do backups" : "Как се правят резервни копия", + "Performance tuning" : "Настройване на производителност", + "Improving the config.php" : "Подобряване на config.php", + "Theming" : "Промяна на облика", "This app has an update available." : "Това приложение има налично обновление.", "by %s" : "от %s", "Documentation:" : "Документация:", diff --git a/settings/l10n/bs.js b/settings/l10n/bs.js index f3a924e3407..f320d9a134f 100644 --- a/settings/l10n/bs.js +++ b/settings/l10n/bs.js @@ -32,9 +32,6 @@ OC.L10N.register( "Store credentials" : "Spremi vjerodajnice", "Test email settings" : "Postavke za testnu e-poštu", "Send email" : "Pošalji e-poštu", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Samo-čitajuća konfiguracija je podešena. Ovo spriječava postavljanje neke konfiguracije putem web-sučelja. Nadalje, datoteka mora biti omogućena ručnu izmjenu pri svakom ažuriranju.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemorisanja kao što je Zend OPcache ili eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Regionalnu šemu sustava nemoguće je postaviti na neku koja podržava UTF-8.", "Version" : "Verzija", "Execute one task with each page loaded" : "Izvrši jedan zadatak sa svakom učitanom stranicom", "Sharing" : "Dijeljenje", @@ -108,6 +105,9 @@ OC.L10N.register( "A valid username must be provided" : "Nužno je navesti valjano korisničko ime", "A valid password must be provided" : "Nužno je navesti valjanu lozinku", "A valid email must be provided" : "Nužno je navesti valjanu adresu e-pošte", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Samo-čitajuća konfiguracija je podešena. Ovo spriječava postavljanje neke konfiguracije putem web-sučelja. Nadalje, datoteka mora biti omogućena ručnu izmjenu pri svakom ažuriranju.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemorisanja kao što je Zend OPcache ili eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Regionalnu šemu sustava nemoguće je postaviti na neku koja podržava UTF-8.", "Documentation:" : "Dokumentacija:", "Enable only for specific groups" : "Omogućite samo za specifične grupe", "Show storage location" : "Prikaži mjesto pohrane", diff --git a/settings/l10n/bs.json b/settings/l10n/bs.json index 63ae710dfd2..21394ed077c 100644 --- a/settings/l10n/bs.json +++ b/settings/l10n/bs.json @@ -30,9 +30,6 @@ "Store credentials" : "Spremi vjerodajnice", "Test email settings" : "Postavke za testnu e-poštu", "Send email" : "Pošalji e-poštu", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Samo-čitajuća konfiguracija je podešena. Ovo spriječava postavljanje neke konfiguracije putem web-sučelja. Nadalje, datoteka mora biti omogućena ručnu izmjenu pri svakom ažuriranju.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemorisanja kao što je Zend OPcache ili eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Regionalnu šemu sustava nemoguće je postaviti na neku koja podržava UTF-8.", "Version" : "Verzija", "Execute one task with each page loaded" : "Izvrši jedan zadatak sa svakom učitanom stranicom", "Sharing" : "Dijeljenje", @@ -106,6 +103,9 @@ "A valid username must be provided" : "Nužno je navesti valjano korisničko ime", "A valid password must be provided" : "Nužno je navesti valjanu lozinku", "A valid email must be provided" : "Nužno je navesti valjanu adresu e-pošte", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Samo-čitajuća konfiguracija je podešena. Ovo spriječava postavljanje neke konfiguracije putem web-sučelja. Nadalje, datoteka mora biti omogućena ručnu izmjenu pri svakom ažuriranju.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemorisanja kao što je Zend OPcache ili eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Regionalnu šemu sustava nemoguće je postaviti na neku koja podržava UTF-8.", "Documentation:" : "Dokumentacija:", "Enable only for specific groups" : "Omogućite samo za specifične grupe", "Show storage location" : "Prikaži mjesto pohrane", diff --git a/settings/l10n/ca.js b/settings/l10n/ca.js index 20704f4e8b4..b1cb1d318c3 100644 --- a/settings/l10n/ca.js +++ b/settings/l10n/ca.js @@ -69,9 +69,6 @@ OC.L10N.register( "Enable encryption" : "Habilitar xifrat", "Start migration" : "Iniciar migració", "Security & setup warnings" : "Avisos de seguretat i configuració", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "S'ha habilitat la configuració de només lectura. Això no permet ajustar algunes configuracions a través de la interfície web. A més, l'arxiu ha de fer-se modificable manualment per a cada actualització.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Això probablement està provocat per una cau/accelerador com Zend OPcache o eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "No s'ha pogut establir cap localització del sistema amb suport per UTF-8.", "All checks passed." : "Totes les comprovacions correctes.", "Version" : "Versió", "Background jobs" : "Tasques en segon pla", @@ -95,13 +92,6 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "Força als usuaris a compartir només amb usuaris del seu grup", "Exclude groups from sharing" : "Exclou grups de compartició", "These groups will still be able to receive shares, but not to initiate them." : "Aquests fitxers encara podran rebre compartits, però no podran iniciar-los.", - "Tips & tricks" : "Consells i trucs", - "This is particularly recommended when using the desktop client for file synchronisation." : "Això es recomana especialment quan s'utilitza el client d'escriptori per a sincronització d'arxius.", - "How to do backups" : "Com fer còpies de seguretat", - "Performance tuning" : "Ajust del rendiment", - "Improving the config.php" : "Millorant el config.php", - "Theming" : "Aparença", - "Hardening and security guidance" : "Guia de protecció i seguretat", "Administration" : "Administració", "Profile picture" : "Foto de perfil", "Upload new" : "Puja'n una de nova", @@ -306,6 +296,16 @@ OC.L10N.register( "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida", "A valid email must be provided" : "S'ha de subministrar una adreça de correu electrònic vàlida", "Sync clients" : "Aplicacions per sincronitzar", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "S'ha habilitat la configuració de només lectura. Això no permet ajustar algunes configuracions a través de la interfície web. A més, l'arxiu ha de fer-se modificable manualment per a cada actualització.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Això probablement està provocat per una cau/accelerador com Zend OPcache o eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "No s'ha pogut establir cap localització del sistema amb suport per UTF-8.", + "Tips & tricks" : "Consells i trucs", + "This is particularly recommended when using the desktop client for file synchronisation." : "Això es recomana especialment quan s'utilitza el client d'escriptori per a sincronització d'arxius.", + "How to do backups" : "Com fer còpies de seguretat", + "Performance tuning" : "Ajust del rendiment", + "Improving the config.php" : "Millorant el config.php", + "Theming" : "Aparença", + "Hardening and security guidance" : "Guia de protecció i seguretat", "View in store" : "Veure al repositori", "Limit to groups" : "Limitar per grups", "This app has an update available." : "Aquesta aplicació té una actualització disponible.", diff --git a/settings/l10n/ca.json b/settings/l10n/ca.json index 89eabf0f638..4019a4d439d 100644 --- a/settings/l10n/ca.json +++ b/settings/l10n/ca.json @@ -67,9 +67,6 @@ "Enable encryption" : "Habilitar xifrat", "Start migration" : "Iniciar migració", "Security & setup warnings" : "Avisos de seguretat i configuració", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "S'ha habilitat la configuració de només lectura. Això no permet ajustar algunes configuracions a través de la interfície web. A més, l'arxiu ha de fer-se modificable manualment per a cada actualització.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Això probablement està provocat per una cau/accelerador com Zend OPcache o eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "No s'ha pogut establir cap localització del sistema amb suport per UTF-8.", "All checks passed." : "Totes les comprovacions correctes.", "Version" : "Versió", "Background jobs" : "Tasques en segon pla", @@ -93,13 +90,6 @@ "Restrict users to only share with users in their groups" : "Força als usuaris a compartir només amb usuaris del seu grup", "Exclude groups from sharing" : "Exclou grups de compartició", "These groups will still be able to receive shares, but not to initiate them." : "Aquests fitxers encara podran rebre compartits, però no podran iniciar-los.", - "Tips & tricks" : "Consells i trucs", - "This is particularly recommended when using the desktop client for file synchronisation." : "Això es recomana especialment quan s'utilitza el client d'escriptori per a sincronització d'arxius.", - "How to do backups" : "Com fer còpies de seguretat", - "Performance tuning" : "Ajust del rendiment", - "Improving the config.php" : "Millorant el config.php", - "Theming" : "Aparença", - "Hardening and security guidance" : "Guia de protecció i seguretat", "Administration" : "Administració", "Profile picture" : "Foto de perfil", "Upload new" : "Puja'n una de nova", @@ -304,6 +294,16 @@ "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida", "A valid email must be provided" : "S'ha de subministrar una adreça de correu electrònic vàlida", "Sync clients" : "Aplicacions per sincronitzar", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "S'ha habilitat la configuració de només lectura. Això no permet ajustar algunes configuracions a través de la interfície web. A més, l'arxiu ha de fer-se modificable manualment per a cada actualització.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Això probablement està provocat per una cau/accelerador com Zend OPcache o eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "No s'ha pogut establir cap localització del sistema amb suport per UTF-8.", + "Tips & tricks" : "Consells i trucs", + "This is particularly recommended when using the desktop client for file synchronisation." : "Això es recomana especialment quan s'utilitza el client d'escriptori per a sincronització d'arxius.", + "How to do backups" : "Com fer còpies de seguretat", + "Performance tuning" : "Ajust del rendiment", + "Improving the config.php" : "Millorant el config.php", + "Theming" : "Aparença", + "Hardening and security guidance" : "Guia de protecció i seguretat", "View in store" : "Veure al repositori", "Limit to groups" : "Limitar per grups", "This app has an update available." : "Aquesta aplicació té una actualització disponible.", diff --git a/settings/l10n/cs.js b/settings/l10n/cs.js index 80195dc0d32..8bd97f25882 100644 --- a/settings/l10n/cs.js +++ b/settings/l10n/cs.js @@ -8,7 +8,10 @@ OC.L10N.register( "Developer documentation" : "Vývojářská dokumentace", "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Tato aplikace nemá nastavenou žádnou minimální verzi Nextcloudu. To se v budoucnu projeví jako chyba.", "This app cannot be installed because the following dependencies are not fulfilled:" : "Tuto aplikaci nelze nainstalovat, protože nejsou splněny následující závislosti:", + "-licensed" : "-licencováno", + "Disable all" : "Zakázat vše", "Enable all" : "Povolit vše", + "Download and enable" : "Stáhnout a povolit", "Enable" : "Povolit", "The app will be downloaded from the app store" : "Aplikace bude stažena z obchodu aplikací", "Settings" : "Nastavení", @@ -31,12 +34,15 @@ OC.L10N.register( "Error: This app can not be enabled because it makes the server unstable" : "Chyba: tuto aplikaci nelze zapnout, protože způsobuje nestabilitu serveru", "Error while enabling app" : "Chyba při povolování aplikace", "Your apps" : "Vaše aplikace", + "Active apps" : "Aktivní aplikace", "Disabled apps" : "Zakázané aplikace", "Updates" : "Aktualizace", "App bundles" : "Balíčky aplikací", "Default quota :" : "Výchozí kvóta:", + "Please confirm the group removal " : "Potvrďte prosím odstranění skupiny", "Remove group" : "Odebrat skupinu", "Admins" : "Administrátoři", + "Disabled users" : "Zakázaní uživatelé", "Everyone" : "Všichni", "New user" : "Nový uživatel", "SSL Root Certificates" : "Kořenové certifikáty SSL", @@ -90,21 +96,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musíte přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou.", "Start migration" : "Spustit migraci", "Security & setup warnings" : "Upozornění zabezpečení a nastavení", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Pro bezpečnost a správný běh vaší instance je důležité mít vše správně nakonfigurováno. Abychom vám to usnadnili, provádíme pár automatických kontrol. Pro více informací, prosím, navštivte sekci Tipy & Triky a také dokumentaci.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP není nejspíše správně nastaveno pro dotazování na proměnné hodnoty systému. Test s getenv(\"PATH\") vrací pouze prázdnou odpověď.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Prosím, podívejte se v <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">instalační dokumentaci ↗</a> po poznámkách o konfiguraci PHP a také po samotné konfiguraci PHP na vašem serveru, zvlášť pokud používáte php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurace je nastavena pouze pro čtení. Toto znemožňuje některá nastavení přes webové rozhraní. Dále musí být pro každou změnu povolen zápis do konfiguračního souboru ručně.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je patrně nastaveno tak, aby odstraňovalo bloky komentářů. Toto bude mít za následek znepřístupnění mnoha důležitých aplikací.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Toto je pravděpodobně způsobeno aplikacemi pro urychlení načítání jako jsou Zend OPcache nebo eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Vaše databáze neběží s úrovní izolace transakcí \"READ COMMITTED\". Toto může způsobit problémy při paralelním spouštění více akcí současně.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "Je nainstalován %1$s nižší verze než %2$s, z důvodu lepší stability a výkonu doporučujeme aktualizovat na novější verzi %1$s.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Modul PHP 'fileinfo' chybí. Důrazně se doporučuje, aby tento modul pro získání lepších výsledků při zjišťování typu MIME byl povolen.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transakční zamykání souborů je vypnuto, což by mohlo vést k problémům se souběhem úloh. Povolte 'filelocking.enabled' v config.php, abyste se těmto problémům vyhnuli. Pro více informací si prohlédněte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentaci ↗</a>.", - "System locale can not be set to a one which supports UTF-8." : "Není možné nastavit znakovou sadu, která podporuje UTF-8.", - "This means that there might be problems with certain characters in filenames." : "To znamená, že se mohou vyskytnout problémy s určitými znaky v názvech souborů.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Velmi doporučujeme nainstalovat požadované balíčky do systému, pro podporu jednoho z následujících národních prostředí: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Instalace mimo kořenový adresář domény a používání systémového příkazu cron může způsobit problém s generováním správné URL. Pro zabránění těmto chybám nastavte prosím správnou cestu ve svém config.php souboru v hodnotě \"overwrite.cli.url\" (Je doporučena tato: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nebylo možné spustit službu cron v CLI. Došlo k následujícím technickým chybám:", "All checks passed." : "Všechny testy byly úspěšné.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Prosím, důkladně si přečtěte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">průvodce instalací ↗</a>a zkontrolujte, že v <a href=\"%s\">logu</a> nejsou žádné chyby ani žádná varování.", "Version" : "Verze", @@ -137,17 +128,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Povolit automatické dokončení uživatelského jména v dialogovém okně sdílení. Pokud je tato volba zakázána, je třeba zadat úplné uživatelské jméno nebo e-mailovou adresu.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Zobrazit text upozornění na stránce pro nahrání veřejného odkazu. (Zobrazit pouze pokud je seznam souborů skrytý.)", "This text will be shown on the public link upload page when the file list is hidden." : "Tento text bude zobrazen on stránce pro nahrání veřejného odkazu, pokud bude seznam souborů skrytý.", - "Tips & tricks" : "Tipy a triky", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existuje mnoho možností, jak si přizpůsobit vaši instanci Nextcloudu. Zde je pro vaši informaci pár tipů, kde začít.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite se aktuálně používá jako databáze na backendu. U větších instalací doporučujeme přechod na jinou databázi.", - "This is particularly recommended when using the desktop client for file synchronisation." : "To je obzvlášť vhodné, pokud se používá k synchronizaci desktopový klient.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Chcete-li migrovat do jiné databáze, použijte nástroj příkazového řádku: 'occ db:convert-type', nebo si projděte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentaci ↗</a>.", - "How to do backups" : "Jak vytvářet zálohy", - "Performance tuning" : "Ladění výkonu", - "Improving the config.php" : "Vylepšení souboru config.php", - "Theming" : "Vzhledy", - "Check the security of your Nextcloud over our security scan" : "Zkontrolujte bezpečnost vašeho Nextcloudu pomocí našeho bezpečnostního skenu", - "Hardening and security guidance" : "Průvodce vylepšením bezpečnosti", "Personal" : "Osobní", "Administration" : "Administrace", "Profile picture" : "Profilový obrázek", @@ -367,6 +347,20 @@ OC.L10N.register( "__language_name__" : "čeština", "Verifying" : "Ověřování", "Personal info" : "Osobní údaje", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurace je nastavena pouze pro čtení. Toto znemožňuje některá nastavení přes webové rozhraní. Dále musí být pro každou změnu povolen zápis do konfiguračního souboru ručně.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Toto je pravděpodobně způsobeno aplikacemi pro urychlení načítání jako jsou Zend OPcache nebo eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Vaše databáze neběží s úrovní izolace transakcí \"READ COMMITTED\". Toto může způsobit problémy při paralelním spouštění více akcí současně.", + "System locale can not be set to a one which supports UTF-8." : "Není možné nastavit znakovou sadu, která podporuje UTF-8.", + "Tips & tricks" : "Tipy a triky", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existuje mnoho možností, jak si přizpůsobit vaši instanci Nextcloudu. Zde je pro vaši informaci pár tipů, kde začít.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite se aktuálně používá jako databáze na backendu. U větších instalací doporučujeme přechod na jinou databázi.", + "This is particularly recommended when using the desktop client for file synchronisation." : "To je obzvlášť vhodné, pokud se používá k synchronizaci desktopový klient.", + "How to do backups" : "Jak vytvářet zálohy", + "Performance tuning" : "Ladění výkonu", + "Improving the config.php" : "Vylepšení souboru config.php", + "Theming" : "Vzhledy", + "Check the security of your Nextcloud over our security scan" : "Zkontrolujte bezpečnost vašeho Nextcloudu pomocí našeho bezpečnostního skenu", + "Hardening and security guidance" : "Průvodce vylepšením bezpečnosti", "View in store" : "Zobrazit v obchodě", "Limit to groups" : "Omezit na skupiny", "This app has an update available." : "Pro tuto aplikaci je dostupná aktualizace.", @@ -414,6 +408,18 @@ OC.L10N.register( "Updating …" : "Aktualizace…", "Could not update app" : "Aplikaci se nedaří aktualizovat", "Could not remove app" : "Nepodařilo se odebrat aplikaci", - "{size} used" : "{size} použito" + "{size} used" : "{size} použito", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Pro bezpečnost a správný běh vaší instance je důležité mít vše správně nakonfigurováno. Abychom vám to usnadnili, provádíme pár automatických kontrol. Pro více informací, prosím, navštivte sekci Tipy & Triky a také dokumentaci.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP není nejspíše správně nastaveno pro dotazování na proměnné hodnoty systému. Test s getenv(\"PATH\") vrací pouze prázdnou odpověď.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Prosím, podívejte se v <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">instalační dokumentaci ↗</a> po poznámkách o konfiguraci PHP a také po samotné konfiguraci PHP na vašem serveru, zvlášť pokud používáte php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je patrně nastaveno tak, aby odstraňovalo bloky komentářů. Toto bude mít za následek znepřístupnění mnoha důležitých aplikací.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "Je nainstalován %1$s nižší verze než %2$s, z důvodu lepší stability a výkonu doporučujeme aktualizovat na novější verzi %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Modul PHP 'fileinfo' chybí. Důrazně se doporučuje, aby tento modul pro získání lepších výsledků při zjišťování typu MIME byl povolen.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transakční zamykání souborů je vypnuto, což by mohlo vést k problémům se souběhem úloh. Povolte 'filelocking.enabled' v config.php, abyste se těmto problémům vyhnuli. Pro více informací si prohlédněte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentaci ↗</a>.", + "This means that there might be problems with certain characters in filenames." : "To znamená, že se mohou vyskytnout problémy s určitými znaky v názvech souborů.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Velmi doporučujeme nainstalovat požadované balíčky do systému, pro podporu jednoho z následujících národních prostředí: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Instalace mimo kořenový adresář domény a používání systémového příkazu cron může způsobit problém s generováním správné URL. Pro zabránění těmto chybám nastavte prosím správnou cestu ve svém config.php souboru v hodnotě \"overwrite.cli.url\" (Je doporučena tato: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nebylo možné spustit službu cron v CLI. Došlo k následujícím technickým chybám:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Chcete-li migrovat do jiné databáze, použijte nástroj příkazového řádku: 'occ db:convert-type', nebo si projděte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentaci ↗</a>." }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"); diff --git a/settings/l10n/cs.json b/settings/l10n/cs.json index 6678a68c8d2..90855f75608 100644 --- a/settings/l10n/cs.json +++ b/settings/l10n/cs.json @@ -6,7 +6,10 @@ "Developer documentation" : "Vývojářská dokumentace", "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Tato aplikace nemá nastavenou žádnou minimální verzi Nextcloudu. To se v budoucnu projeví jako chyba.", "This app cannot be installed because the following dependencies are not fulfilled:" : "Tuto aplikaci nelze nainstalovat, protože nejsou splněny následující závislosti:", + "-licensed" : "-licencováno", + "Disable all" : "Zakázat vše", "Enable all" : "Povolit vše", + "Download and enable" : "Stáhnout a povolit", "Enable" : "Povolit", "The app will be downloaded from the app store" : "Aplikace bude stažena z obchodu aplikací", "Settings" : "Nastavení", @@ -29,12 +32,15 @@ "Error: This app can not be enabled because it makes the server unstable" : "Chyba: tuto aplikaci nelze zapnout, protože způsobuje nestabilitu serveru", "Error while enabling app" : "Chyba při povolování aplikace", "Your apps" : "Vaše aplikace", + "Active apps" : "Aktivní aplikace", "Disabled apps" : "Zakázané aplikace", "Updates" : "Aktualizace", "App bundles" : "Balíčky aplikací", "Default quota :" : "Výchozí kvóta:", + "Please confirm the group removal " : "Potvrďte prosím odstranění skupiny", "Remove group" : "Odebrat skupinu", "Admins" : "Administrátoři", + "Disabled users" : "Zakázaní uživatelé", "Everyone" : "Všichni", "New user" : "Nový uživatel", "SSL Root Certificates" : "Kořenové certifikáty SSL", @@ -88,21 +94,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musíte přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou.", "Start migration" : "Spustit migraci", "Security & setup warnings" : "Upozornění zabezpečení a nastavení", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Pro bezpečnost a správný běh vaší instance je důležité mít vše správně nakonfigurováno. Abychom vám to usnadnili, provádíme pár automatických kontrol. Pro více informací, prosím, navštivte sekci Tipy & Triky a také dokumentaci.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP není nejspíše správně nastaveno pro dotazování na proměnné hodnoty systému. Test s getenv(\"PATH\") vrací pouze prázdnou odpověď.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Prosím, podívejte se v <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">instalační dokumentaci ↗</a> po poznámkách o konfiguraci PHP a také po samotné konfiguraci PHP na vašem serveru, zvlášť pokud používáte php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurace je nastavena pouze pro čtení. Toto znemožňuje některá nastavení přes webové rozhraní. Dále musí být pro každou změnu povolen zápis do konfiguračního souboru ručně.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je patrně nastaveno tak, aby odstraňovalo bloky komentářů. Toto bude mít za následek znepřístupnění mnoha důležitých aplikací.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Toto je pravděpodobně způsobeno aplikacemi pro urychlení načítání jako jsou Zend OPcache nebo eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Vaše databáze neběží s úrovní izolace transakcí \"READ COMMITTED\". Toto může způsobit problémy při paralelním spouštění více akcí současně.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "Je nainstalován %1$s nižší verze než %2$s, z důvodu lepší stability a výkonu doporučujeme aktualizovat na novější verzi %1$s.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Modul PHP 'fileinfo' chybí. Důrazně se doporučuje, aby tento modul pro získání lepších výsledků při zjišťování typu MIME byl povolen.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transakční zamykání souborů je vypnuto, což by mohlo vést k problémům se souběhem úloh. Povolte 'filelocking.enabled' v config.php, abyste se těmto problémům vyhnuli. Pro více informací si prohlédněte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentaci ↗</a>.", - "System locale can not be set to a one which supports UTF-8." : "Není možné nastavit znakovou sadu, která podporuje UTF-8.", - "This means that there might be problems with certain characters in filenames." : "To znamená, že se mohou vyskytnout problémy s určitými znaky v názvech souborů.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Velmi doporučujeme nainstalovat požadované balíčky do systému, pro podporu jednoho z následujících národních prostředí: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Instalace mimo kořenový adresář domény a používání systémového příkazu cron může způsobit problém s generováním správné URL. Pro zabránění těmto chybám nastavte prosím správnou cestu ve svém config.php souboru v hodnotě \"overwrite.cli.url\" (Je doporučena tato: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nebylo možné spustit službu cron v CLI. Došlo k následujícím technickým chybám:", "All checks passed." : "Všechny testy byly úspěšné.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Prosím, důkladně si přečtěte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">průvodce instalací ↗</a>a zkontrolujte, že v <a href=\"%s\">logu</a> nejsou žádné chyby ani žádná varování.", "Version" : "Verze", @@ -135,17 +126,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Povolit automatické dokončení uživatelského jména v dialogovém okně sdílení. Pokud je tato volba zakázána, je třeba zadat úplné uživatelské jméno nebo e-mailovou adresu.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Zobrazit text upozornění na stránce pro nahrání veřejného odkazu. (Zobrazit pouze pokud je seznam souborů skrytý.)", "This text will be shown on the public link upload page when the file list is hidden." : "Tento text bude zobrazen on stránce pro nahrání veřejného odkazu, pokud bude seznam souborů skrytý.", - "Tips & tricks" : "Tipy a triky", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existuje mnoho možností, jak si přizpůsobit vaši instanci Nextcloudu. Zde je pro vaši informaci pár tipů, kde začít.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite se aktuálně používá jako databáze na backendu. U větších instalací doporučujeme přechod na jinou databázi.", - "This is particularly recommended when using the desktop client for file synchronisation." : "To je obzvlášť vhodné, pokud se používá k synchronizaci desktopový klient.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Chcete-li migrovat do jiné databáze, použijte nástroj příkazového řádku: 'occ db:convert-type', nebo si projděte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentaci ↗</a>.", - "How to do backups" : "Jak vytvářet zálohy", - "Performance tuning" : "Ladění výkonu", - "Improving the config.php" : "Vylepšení souboru config.php", - "Theming" : "Vzhledy", - "Check the security of your Nextcloud over our security scan" : "Zkontrolujte bezpečnost vašeho Nextcloudu pomocí našeho bezpečnostního skenu", - "Hardening and security guidance" : "Průvodce vylepšením bezpečnosti", "Personal" : "Osobní", "Administration" : "Administrace", "Profile picture" : "Profilový obrázek", @@ -365,6 +345,20 @@ "__language_name__" : "čeština", "Verifying" : "Ověřování", "Personal info" : "Osobní údaje", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurace je nastavena pouze pro čtení. Toto znemožňuje některá nastavení přes webové rozhraní. Dále musí být pro každou změnu povolen zápis do konfiguračního souboru ručně.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Toto je pravděpodobně způsobeno aplikacemi pro urychlení načítání jako jsou Zend OPcache nebo eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Vaše databáze neběží s úrovní izolace transakcí \"READ COMMITTED\". Toto může způsobit problémy při paralelním spouštění více akcí současně.", + "System locale can not be set to a one which supports UTF-8." : "Není možné nastavit znakovou sadu, která podporuje UTF-8.", + "Tips & tricks" : "Tipy a triky", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existuje mnoho možností, jak si přizpůsobit vaši instanci Nextcloudu. Zde je pro vaši informaci pár tipů, kde začít.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite se aktuálně používá jako databáze na backendu. U větších instalací doporučujeme přechod na jinou databázi.", + "This is particularly recommended when using the desktop client for file synchronisation." : "To je obzvlášť vhodné, pokud se používá k synchronizaci desktopový klient.", + "How to do backups" : "Jak vytvářet zálohy", + "Performance tuning" : "Ladění výkonu", + "Improving the config.php" : "Vylepšení souboru config.php", + "Theming" : "Vzhledy", + "Check the security of your Nextcloud over our security scan" : "Zkontrolujte bezpečnost vašeho Nextcloudu pomocí našeho bezpečnostního skenu", + "Hardening and security guidance" : "Průvodce vylepšením bezpečnosti", "View in store" : "Zobrazit v obchodě", "Limit to groups" : "Omezit na skupiny", "This app has an update available." : "Pro tuto aplikaci je dostupná aktualizace.", @@ -412,6 +406,18 @@ "Updating …" : "Aktualizace…", "Could not update app" : "Aplikaci se nedaří aktualizovat", "Could not remove app" : "Nepodařilo se odebrat aplikaci", - "{size} used" : "{size} použito" + "{size} used" : "{size} použito", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Pro bezpečnost a správný běh vaší instance je důležité mít vše správně nakonfigurováno. Abychom vám to usnadnili, provádíme pár automatických kontrol. Pro více informací, prosím, navštivte sekci Tipy & Triky a také dokumentaci.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP není nejspíše správně nastaveno pro dotazování na proměnné hodnoty systému. Test s getenv(\"PATH\") vrací pouze prázdnou odpověď.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Prosím, podívejte se v <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">instalační dokumentaci ↗</a> po poznámkách o konfiguraci PHP a také po samotné konfiguraci PHP na vašem serveru, zvlášť pokud používáte php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je patrně nastaveno tak, aby odstraňovalo bloky komentářů. Toto bude mít za následek znepřístupnění mnoha důležitých aplikací.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "Je nainstalován %1$s nižší verze než %2$s, z důvodu lepší stability a výkonu doporučujeme aktualizovat na novější verzi %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Modul PHP 'fileinfo' chybí. Důrazně se doporučuje, aby tento modul pro získání lepších výsledků při zjišťování typu MIME byl povolen.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transakční zamykání souborů je vypnuto, což by mohlo vést k problémům se souběhem úloh. Povolte 'filelocking.enabled' v config.php, abyste se těmto problémům vyhnuli. Pro více informací si prohlédněte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentaci ↗</a>.", + "This means that there might be problems with certain characters in filenames." : "To znamená, že se mohou vyskytnout problémy s určitými znaky v názvech souborů.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Velmi doporučujeme nainstalovat požadované balíčky do systému, pro podporu jednoho z následujících národních prostředí: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Instalace mimo kořenový adresář domény a používání systémového příkazu cron může způsobit problém s generováním správné URL. Pro zabránění těmto chybám nastavte prosím správnou cestu ve svém config.php souboru v hodnotě \"overwrite.cli.url\" (Je doporučena tato: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nebylo možné spustit službu cron v CLI. Došlo k následujícím technickým chybám:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Chcete-li migrovat do jiné databáze, použijte nástroj příkazového řádku: 'occ db:convert-type', nebo si projděte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentaci ↗</a>." },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;" }
\ No newline at end of file diff --git a/settings/l10n/da.js b/settings/l10n/da.js index 8b4fb880ab6..55ed7258af9 100644 --- a/settings/l10n/da.js +++ b/settings/l10n/da.js @@ -67,9 +67,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du skal immigrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye af slagsen.", "Start migration" : "Påbegynd immigrering", "Security & setup warnings" : "Advarsler om sikkerhed og opsætning", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Den skrivebeskyttede konfiguration er blevet slået til. Dette forhindrer indstillinger af nogle konfigurationer via webgrænsefladen. I tillæg skal filen gøres skrivbar manuelt for hver opdatering.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette er sansynligvis forårsaget af et accelerator eller cache som Zend OPcache eller eAccelerator", - "System locale can not be set to a one which supports UTF-8." : "Systemets lokalitet kan ikke sættes til et der bruger UTF-8.", "All checks passed." : "Alle tjek blev bestået.", "Version" : "Version", "Execute one task with each page loaded" : "Udføre en opgave med hver side indlæsning", @@ -87,12 +84,6 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "Begræns brugere til kun at dele med brugere i deres egen gruppe", "Exclude groups from sharing" : "Ekskluder grupper fra at dele", "These groups will still be able to receive shares, but not to initiate them." : "Disse grupper vil stadig kunne modtage delefiler, men ikke skabe dem.", - "Tips & tricks" : "Tips & tricks", - "How to do backups" : "Hvordan man laver sikkerhedskopier", - "Performance tuning" : "Ydelses optimering", - "Improving the config.php" : "Forbedring af config.php", - "Theming" : "Temaer", - "Hardening and security guidance" : "Modstanddygtighed og sikkerheds vejledning", "Personal" : "Personligt", "Administration" : "Administration", "Profile picture" : "Profilbillede", @@ -282,6 +273,15 @@ OC.L10N.register( "A valid username must be provided" : "Et gyldigt brugernavn skal angives", "A valid password must be provided" : "En gyldig adgangskode skal angives", "A valid email must be provided" : "Der skal angives en gyldig e-mail", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Den skrivebeskyttede konfiguration er blevet slået til. Dette forhindrer indstillinger af nogle konfigurationer via webgrænsefladen. I tillæg skal filen gøres skrivbar manuelt for hver opdatering.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette er sansynligvis forårsaget af et accelerator eller cache som Zend OPcache eller eAccelerator", + "System locale can not be set to a one which supports UTF-8." : "Systemets lokalitet kan ikke sættes til et der bruger UTF-8.", + "Tips & tricks" : "Tips & tricks", + "How to do backups" : "Hvordan man laver sikkerhedskopier", + "Performance tuning" : "Ydelses optimering", + "Improving the config.php" : "Forbedring af config.php", + "Theming" : "Temaer", + "Hardening and security guidance" : "Modstanddygtighed og sikkerheds vejledning", "by %s" : "af %s", "Documentation:" : "Dokumentation:", "Admin documentation" : "Admin-dokumentation", diff --git a/settings/l10n/da.json b/settings/l10n/da.json index 2e68ee9c856..2ab03e9296d 100644 --- a/settings/l10n/da.json +++ b/settings/l10n/da.json @@ -65,9 +65,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du skal immigrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye af slagsen.", "Start migration" : "Påbegynd immigrering", "Security & setup warnings" : "Advarsler om sikkerhed og opsætning", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Den skrivebeskyttede konfiguration er blevet slået til. Dette forhindrer indstillinger af nogle konfigurationer via webgrænsefladen. I tillæg skal filen gøres skrivbar manuelt for hver opdatering.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette er sansynligvis forårsaget af et accelerator eller cache som Zend OPcache eller eAccelerator", - "System locale can not be set to a one which supports UTF-8." : "Systemets lokalitet kan ikke sættes til et der bruger UTF-8.", "All checks passed." : "Alle tjek blev bestået.", "Version" : "Version", "Execute one task with each page loaded" : "Udføre en opgave med hver side indlæsning", @@ -85,12 +82,6 @@ "Restrict users to only share with users in their groups" : "Begræns brugere til kun at dele med brugere i deres egen gruppe", "Exclude groups from sharing" : "Ekskluder grupper fra at dele", "These groups will still be able to receive shares, but not to initiate them." : "Disse grupper vil stadig kunne modtage delefiler, men ikke skabe dem.", - "Tips & tricks" : "Tips & tricks", - "How to do backups" : "Hvordan man laver sikkerhedskopier", - "Performance tuning" : "Ydelses optimering", - "Improving the config.php" : "Forbedring af config.php", - "Theming" : "Temaer", - "Hardening and security guidance" : "Modstanddygtighed og sikkerheds vejledning", "Personal" : "Personligt", "Administration" : "Administration", "Profile picture" : "Profilbillede", @@ -280,6 +271,15 @@ "A valid username must be provided" : "Et gyldigt brugernavn skal angives", "A valid password must be provided" : "En gyldig adgangskode skal angives", "A valid email must be provided" : "Der skal angives en gyldig e-mail", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Den skrivebeskyttede konfiguration er blevet slået til. Dette forhindrer indstillinger af nogle konfigurationer via webgrænsefladen. I tillæg skal filen gøres skrivbar manuelt for hver opdatering.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette er sansynligvis forårsaget af et accelerator eller cache som Zend OPcache eller eAccelerator", + "System locale can not be set to a one which supports UTF-8." : "Systemets lokalitet kan ikke sættes til et der bruger UTF-8.", + "Tips & tricks" : "Tips & tricks", + "How to do backups" : "Hvordan man laver sikkerhedskopier", + "Performance tuning" : "Ydelses optimering", + "Improving the config.php" : "Forbedring af config.php", + "Theming" : "Temaer", + "Hardening and security guidance" : "Modstanddygtighed og sikkerheds vejledning", "by %s" : "af %s", "Documentation:" : "Dokumentation:", "Admin documentation" : "Admin-dokumentation", diff --git a/settings/l10n/de.js b/settings/l10n/de.js index a51370354b9..54ae7f74aac 100644 --- a/settings/l10n/de.js +++ b/settings/l10n/de.js @@ -101,28 +101,13 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du musst Deinen Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.", "Start migration" : "Migration beginnen", "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Für die Sicherheit und Geschwindigkeit Deiner Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Dir hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen findest Du im Tipps & Tricks- Abschnitt und in der Dokumentation.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Installationsdokumentation ↗</a> auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Deines Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Deine Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s ist in einer älteren Version als %2$s installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere %1$s-Version", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Das PHP Modul 'fileinfo' fehlt. Es empfiehlt sich dringend, das Modul zu aktivieren, um bestmögliche Ergebnisse bei der MIME-Datei-Typ-Erkennung zu erhalten. ", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. 'filelocking.enabled' in der config.php aktivieren, um diese Probleme zu vermeiden. Weitere Informationen findest du in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a>.", - "System locale can not be set to a one which supports UTF-8." : "Es kann kein Systemgebietsschema gesetzt werden, das UTF-8 unterstützt.", - "This means that there might be problems with certain characters in filenames." : "Dies bedeutet, dass es zu Problemen mit bestimmten Zeichen in Dateinamen kommen kann. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Es empfiehlt sich dringend, die erforderlichen Pakete auf Deinen System zu installieren, damit eines der folgenden Gebietsschemata unterstützt wird: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und Cron des Systems genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die „overwrite.cli.url“-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: „%s“).", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: ", - "Last background job execution ran %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.", - "Check the background job settings" : "Überprüfe Cron-Job Einstellungen", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Performance Deiner Instanz ist es wichtig, dass alles richtig konfiguriert ist. Um Dir dabei zu helfen, führen wir einige automatische Prüfungen durch. Weitere Informationen kannst du der verlinkten Dokumentation entnehmen.", "All checks passed." : "Alle Überprüfungen bestanden.", "There are some errors regarding your setup." : "Es gibt einige Fehler bei Deiner Systemkonfiguration.", "There are some warnings regarding your setup." : "Es gibt einige Warnungen bei Deiner Systemkonfiguration.", "Checking for system and security issues." : "Prüfung auf System- und Sicherheitsthemen.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Bitte überprüfe noch einmal die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Installationsanleitungen ↗</a> und kontrolliere das <a href=\"%s\">Protokoll</a> auf mögliche Fehler oder Warnungen.", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Überprüfe die Sicherheit Deiner Nextcloud über <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">unseren Sicherheitsscanner ↗</a>.", "Version" : "Version", "Background jobs" : "Hintergrund-Aufgaben", "Last job ran %s." : "Letzte Aufgabe ausgeführt %s", @@ -154,17 +139,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Zeige Haftungsausschluss auf der öffentlichen Upload-Seite. (Wird nur gezeigt wenn die Dateiliste nicht angezeigt wird.) ", "This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.", "Default share permissions" : "Standardberechtigungen für das Teilen", - "Tips & tricks" : "Tipps & Tricks", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Es gibt ein Menge von Eigenschaften und Konfigurationsschaltern die es ermöglichen, die Installation optimal zu nutzen und anzupassen. Hier einige Verweise auf weitere Informationen.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Dies wird insbesondere bei der Benutzung des Dektop-Clients zur Synchronisierung empfohlen.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a> schauen.", - "How to do backups" : "Wie man Datensicherungen anlegt", - "Performance tuning" : "Leistungsoptimierung", - "Improving the config.php" : "Die config.php optimieren", - "Theming" : "Themen verwenden", - "Check the security of your Nextcloud over our security scan" : "Überprüfe die Sicherheit Deiner Nextcloud mit unserem Sicherheits-Scan", - "Hardening and security guidance" : "Systemhärtung und Sicherheitsempfehlungen", "Personal" : "Persönlich", "Administration" : "Verwaltung", "Profile picture" : "Profilbild", @@ -389,10 +363,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Für die Sicherheit und Geschwindigkeit Deiner Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Dir hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen findest Du im Tipps & Tricks- Abschnitt und in der Dokumentation.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitte schaue in der <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Installationsdokumentation ↗</a> nach Hinweisen zur PHP-Konfiguration, sowie die PHP-Konfiguration Deines Servers, insbesondere dann, wenn PHP-FPM eingesetzt wird.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Deine Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s ist in einer älteren Version als %2$s installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere %1$s-Version.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Das PHP-Modul 'fileinfo' fehlt. Wir empfehlen dringend, das Modul zu aktivieren, um beste Ergebnisse mit MIME-Typ-Erkennung zu erhalten.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. 'filelocking.enabled' in der config.php aktivieren, um diese Probleme zu vermeiden. Weitere Informationen finden sich in unserer <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation ↗</a>.", + "System locale can not be set to a one which supports UTF-8." : "Es kann kein Systemgebietsschema gesetzt werden, das UTF-8 unterstützt.", "This means that there might be problems with certain characters in file names." : "Dies bedeutet, dass es zu Problemen mit bestimmten Zeichen in Dateinamen kommen kann.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Wir empfehlen dringend, die erforderlichen Pakete auf Deinem System zu installieren, damit eines der folgenden Gebietsschemata unterstützt wird: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und System-Cron genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die „overwrite.cli.url“-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: \"%s“)", @@ -400,7 +378,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Bitte überprüfe noch einmal die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Installationsanleitungen ↗</a> und kontrolliere das <a href=\"%s\">Protokoll</a> auf mögliche Fehler oder Warnungen.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Um dies auszuführen, wird die PHP-Posix Erweiterung benötigt. Weitere Informationen in der {linkstart}PHP-Dokumentation{linkend}.", + "Tips & tricks" : "Tipps & Tricks", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Es gibt ein Menge von Eigenschaften und Konfigurationsschaltern die es ermöglichen, die Installation optimal zu nutzen und anzupassen. Hier einige Verweise auf weitere Informationen.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Dies wird insbesondere bei der Benutzung des Dektop-Clients zur Synchronisierung empfohlen.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder schauen in die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation ↗</a>.", + "How to do backups" : "Wie man Datensicherungen anlegt", + "Performance tuning" : "Leistungsoptimierung", + "Improving the config.php" : "Die config.php optimieren", + "Theming" : "Themen verwenden", + "Check the security of your Nextcloud over our security scan" : "Überprüfe die Sicherheit Deiner Nextcloud mit unserem Sicherheits-Scan", + "Hardening and security guidance" : "Systemhärtung und Sicherheitsempfehlungen", "View in store" : "Im Store anzeigen", "Limit to groups" : "Auf Gruppen beschränken", "This app has an update available." : "Für diese App ist eine Aktualisierung verfügbar.", @@ -453,6 +441,18 @@ OC.L10N.register( "Updating …" : "Aktualisiere…", "Could not update app" : "App konnte nicht aktualisiert werden", "Could not remove app" : "App konnte nicht entfernt werden", - "{size} used" : "{size} verwendet" + "{size} used" : "{size} verwendet", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Für die Sicherheit und Geschwindigkeit Deiner Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Dir hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen findest Du im Tipps & Tricks- Abschnitt und in der Dokumentation.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Installationsdokumentation ↗</a> auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Deines Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s ist in einer älteren Version als %2$s installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere %1$s-Version", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Das PHP Modul 'fileinfo' fehlt. Es empfiehlt sich dringend, das Modul zu aktivieren, um bestmögliche Ergebnisse bei der MIME-Datei-Typ-Erkennung zu erhalten. ", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. 'filelocking.enabled' in der config.php aktivieren, um diese Probleme zu vermeiden. Weitere Informationen findest du in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a>.", + "This means that there might be problems with certain characters in filenames." : "Dies bedeutet, dass es zu Problemen mit bestimmten Zeichen in Dateinamen kommen kann. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Es empfiehlt sich dringend, die erforderlichen Pakete auf Deinen System zu installieren, damit eines der folgenden Gebietsschemata unterstützt wird: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und Cron des Systems genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die „overwrite.cli.url“-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: „%s“).", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: ", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a> schauen." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/de.json b/settings/l10n/de.json index f67b55f52c7..ed18e6ab5dd 100644 --- a/settings/l10n/de.json +++ b/settings/l10n/de.json @@ -99,28 +99,13 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du musst Deinen Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.", "Start migration" : "Migration beginnen", "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Für die Sicherheit und Geschwindigkeit Deiner Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Dir hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen findest Du im Tipps & Tricks- Abschnitt und in der Dokumentation.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Installationsdokumentation ↗</a> auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Deines Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Deine Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s ist in einer älteren Version als %2$s installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere %1$s-Version", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Das PHP Modul 'fileinfo' fehlt. Es empfiehlt sich dringend, das Modul zu aktivieren, um bestmögliche Ergebnisse bei der MIME-Datei-Typ-Erkennung zu erhalten. ", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. 'filelocking.enabled' in der config.php aktivieren, um diese Probleme zu vermeiden. Weitere Informationen findest du in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a>.", - "System locale can not be set to a one which supports UTF-8." : "Es kann kein Systemgebietsschema gesetzt werden, das UTF-8 unterstützt.", - "This means that there might be problems with certain characters in filenames." : "Dies bedeutet, dass es zu Problemen mit bestimmten Zeichen in Dateinamen kommen kann. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Es empfiehlt sich dringend, die erforderlichen Pakete auf Deinen System zu installieren, damit eines der folgenden Gebietsschemata unterstützt wird: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und Cron des Systems genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die „overwrite.cli.url“-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: „%s“).", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: ", - "Last background job execution ran %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.", - "Check the background job settings" : "Überprüfe Cron-Job Einstellungen", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Performance Deiner Instanz ist es wichtig, dass alles richtig konfiguriert ist. Um Dir dabei zu helfen, führen wir einige automatische Prüfungen durch. Weitere Informationen kannst du der verlinkten Dokumentation entnehmen.", "All checks passed." : "Alle Überprüfungen bestanden.", "There are some errors regarding your setup." : "Es gibt einige Fehler bei Deiner Systemkonfiguration.", "There are some warnings regarding your setup." : "Es gibt einige Warnungen bei Deiner Systemkonfiguration.", "Checking for system and security issues." : "Prüfung auf System- und Sicherheitsthemen.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Bitte überprüfe noch einmal die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Installationsanleitungen ↗</a> und kontrolliere das <a href=\"%s\">Protokoll</a> auf mögliche Fehler oder Warnungen.", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Überprüfe die Sicherheit Deiner Nextcloud über <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">unseren Sicherheitsscanner ↗</a>.", "Version" : "Version", "Background jobs" : "Hintergrund-Aufgaben", "Last job ran %s." : "Letzte Aufgabe ausgeführt %s", @@ -152,17 +137,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Zeige Haftungsausschluss auf der öffentlichen Upload-Seite. (Wird nur gezeigt wenn die Dateiliste nicht angezeigt wird.) ", "This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.", "Default share permissions" : "Standardberechtigungen für das Teilen", - "Tips & tricks" : "Tipps & Tricks", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Es gibt ein Menge von Eigenschaften und Konfigurationsschaltern die es ermöglichen, die Installation optimal zu nutzen und anzupassen. Hier einige Verweise auf weitere Informationen.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Dies wird insbesondere bei der Benutzung des Dektop-Clients zur Synchronisierung empfohlen.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a> schauen.", - "How to do backups" : "Wie man Datensicherungen anlegt", - "Performance tuning" : "Leistungsoptimierung", - "Improving the config.php" : "Die config.php optimieren", - "Theming" : "Themen verwenden", - "Check the security of your Nextcloud over our security scan" : "Überprüfe die Sicherheit Deiner Nextcloud mit unserem Sicherheits-Scan", - "Hardening and security guidance" : "Systemhärtung und Sicherheitsempfehlungen", "Personal" : "Persönlich", "Administration" : "Verwaltung", "Profile picture" : "Profilbild", @@ -387,10 +361,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Für die Sicherheit und Geschwindigkeit Deiner Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Dir hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen findest Du im Tipps & Tricks- Abschnitt und in der Dokumentation.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitte schaue in der <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Installationsdokumentation ↗</a> nach Hinweisen zur PHP-Konfiguration, sowie die PHP-Konfiguration Deines Servers, insbesondere dann, wenn PHP-FPM eingesetzt wird.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Deine Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s ist in einer älteren Version als %2$s installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere %1$s-Version.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Das PHP-Modul 'fileinfo' fehlt. Wir empfehlen dringend, das Modul zu aktivieren, um beste Ergebnisse mit MIME-Typ-Erkennung zu erhalten.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. 'filelocking.enabled' in der config.php aktivieren, um diese Probleme zu vermeiden. Weitere Informationen finden sich in unserer <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation ↗</a>.", + "System locale can not be set to a one which supports UTF-8." : "Es kann kein Systemgebietsschema gesetzt werden, das UTF-8 unterstützt.", "This means that there might be problems with certain characters in file names." : "Dies bedeutet, dass es zu Problemen mit bestimmten Zeichen in Dateinamen kommen kann.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Wir empfehlen dringend, die erforderlichen Pakete auf Deinem System zu installieren, damit eines der folgenden Gebietsschemata unterstützt wird: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und System-Cron genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die „overwrite.cli.url“-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: \"%s“)", @@ -398,7 +376,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Bitte überprüfe noch einmal die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Installationsanleitungen ↗</a> und kontrolliere das <a href=\"%s\">Protokoll</a> auf mögliche Fehler oder Warnungen.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Um dies auszuführen, wird die PHP-Posix Erweiterung benötigt. Weitere Informationen in der {linkstart}PHP-Dokumentation{linkend}.", + "Tips & tricks" : "Tipps & Tricks", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Es gibt ein Menge von Eigenschaften und Konfigurationsschaltern die es ermöglichen, die Installation optimal zu nutzen und anzupassen. Hier einige Verweise auf weitere Informationen.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Dies wird insbesondere bei der Benutzung des Dektop-Clients zur Synchronisierung empfohlen.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder schauen in die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation ↗</a>.", + "How to do backups" : "Wie man Datensicherungen anlegt", + "Performance tuning" : "Leistungsoptimierung", + "Improving the config.php" : "Die config.php optimieren", + "Theming" : "Themen verwenden", + "Check the security of your Nextcloud over our security scan" : "Überprüfe die Sicherheit Deiner Nextcloud mit unserem Sicherheits-Scan", + "Hardening and security guidance" : "Systemhärtung und Sicherheitsempfehlungen", "View in store" : "Im Store anzeigen", "Limit to groups" : "Auf Gruppen beschränken", "This app has an update available." : "Für diese App ist eine Aktualisierung verfügbar.", @@ -451,6 +439,18 @@ "Updating …" : "Aktualisiere…", "Could not update app" : "App konnte nicht aktualisiert werden", "Could not remove app" : "App konnte nicht entfernt werden", - "{size} used" : "{size} verwendet" + "{size} used" : "{size} verwendet", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Für die Sicherheit und Geschwindigkeit Deiner Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Dir hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen findest Du im Tipps & Tricks- Abschnitt und in der Dokumentation.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Installationsdokumentation ↗</a> auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Deines Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s ist in einer älteren Version als %2$s installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere %1$s-Version", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Das PHP Modul 'fileinfo' fehlt. Es empfiehlt sich dringend, das Modul zu aktivieren, um bestmögliche Ergebnisse bei der MIME-Datei-Typ-Erkennung zu erhalten. ", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. 'filelocking.enabled' in der config.php aktivieren, um diese Probleme zu vermeiden. Weitere Informationen findest du in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a>.", + "This means that there might be problems with certain characters in filenames." : "Dies bedeutet, dass es zu Problemen mit bestimmten Zeichen in Dateinamen kommen kann. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Es empfiehlt sich dringend, die erforderlichen Pakete auf Deinen System zu installieren, damit eines der folgenden Gebietsschemata unterstützt wird: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und Cron des Systems genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die „overwrite.cli.url“-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: „%s“).", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: ", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a> schauen." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/de_DE.js b/settings/l10n/de_DE.js index c621901deaf..4e4fa724c92 100644 --- a/settings/l10n/de_DE.js +++ b/settings/l10n/de_DE.js @@ -101,23 +101,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.", "Start migration" : "Migration beginnen", "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Für die Sicherheit und Geschwindigkeit Ihrer Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Ihnen hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen finden Sie im Tipps & Tricks- Abschnitt und in der Dokumentation.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Installationsdokumentation ↗</a> auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Ihres Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Ihre Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s ist in einer älteren Version als %2$s installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere %1$s-Version", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Das PHP Modul 'fileinfo' fehlt. Es empfiehlt sich dringend, das Modul zu aktivieren, um bestmögliche Ergebnisse bei der MIME-Datei-Typ-Erkennung zu erhalten. ", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. Aktivieren Sie 'filelocking.enabled' in der config.php diese Probleme zu vermeiden. Weitere Informationen findest Sie in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a>.", - "System locale can not be set to a one which supports UTF-8." : "Es kann kein Systemgebietsschema gesetzt werden, das UTF-8 unterstützt.", - "This means that there might be problems with certain characters in filenames." : "Dies bedeutet, dass es zu Problemen mit bestimmten Zeichen in Dateinamen kommen kann. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Es empfiehlt sich dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eines der folgenden Gebietsschemata unterstützt wird: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und Cron des Systems genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setzen Sie bitte die „overwrite.cli.url“-Option in Ihrer config.php auf das Web-Wurzelverzeichnis Ihrer Installation (Vorschlag: „%s“).", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: ", - "Last background job execution ran %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.", - "Check the background job settings" : "Überprüfe Cron-Job Einstellungen", "All checks passed." : "Alle Überprüfungen bestanden.", "There are some errors regarding your setup." : "Es gibt einige Fehler bei Ihrer Systemkonfiguration.", "There are some warnings regarding your setup." : "Es gibt einige Warnungen bei Ihrer Systemkonfiguration.", @@ -154,17 +137,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Zeige Haftungsausschluss auf der öffentlichen Upload-Seite. (Wird nur gezeigt wenn die Dateiliste nicht angezeigt wird.) ", "This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.", "Default share permissions" : "Standardberechtigungen für das Teilen", - "Tips & tricks" : "Tipps & Tricks", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Es gibt ein Menge von Eigenschaften und Konfigurationsschaltern die es ermöglichen, die Installation optimal zu nutzen und anzupassen. Hier einige Verweise auf weitere Informationen.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen empfehlen wir, auf ein anderes Datenbank-Backend zu wechseln.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Dies wird insbesondere bei der Benutzung des Dektop-Clients zur Synchronisierung empfohlen.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a> schauen.", - "How to do backups" : "Wie man Datensicherungen anlegt", - "Performance tuning" : "Leistungsoptimierung", - "Improving the config.php" : "Die config.php optimieren", - "Theming" : "Themes verwenden", - "Check the security of your Nextcloud over our security scan" : "Überprüfen Sie die Sicherheit Ihrer Nextcloud mit unserem Sicherheits-Scan", - "Hardening and security guidance" : "Systemhärtung und Sicherheitsempfehlungen", "Personal" : "Persönlich", "Administration" : "Verwaltung", "Profile picture" : "Profilbild", @@ -389,10 +361,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Für die Sicherheit und Geschwindigkeit Ihrer Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Ihnen hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen finden Sie im Tipps & Tricks- Abschnitt und in der Dokumentation.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitte schauen Sie in der <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Installationsdokumentation ↗</a> nach Hinweisen zur PHP-Konfiguration, sowie die PHP-Konfiguration ihres Servers, insbesondere dann, wenn Sie PHP-FPM einsetzten.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Ihre Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s ist in einer älteren Version als %2$s installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere %1$s-Version.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Das PHP-Modul 'fileinfo' fehlt. Wir empfehlen dringend, das Modul zu aktivieren, um beste Ergebnisse mit MIME-Typ-Erkennung zu erhalten.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. Aktivieren Sie 'filelocking.enabled' in der config.php diese Probleme zu vermeiden. Weitere Informationen finden sich in unserer <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation ↗</a>.", + "System locale can not be set to a one which supports UTF-8." : "Es kann kein Systemgebietsschema gesetzt werden, das UTF-8 unterstützt.", "This means that there might be problems with certain characters in file names." : "Dies bedeutet, dass es zu Problemen mit bestimmten Zeichen in Dateinamen kommen kann.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Wir empfehlen dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eines der folgenden Gebietsschemata unterstützt wird: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und System-Cron genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setzen Sie bitte die „overwrite.cli.url“-Option in Ihrer config.php auf das Web-Wurzelverzeichnis Ihrer Installation (Vorschlag: \"%s“)", @@ -400,7 +376,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Bitte überprüfen Sie noch einmal die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Installationsanleitungen ↗</a> und kontrollieren Sie das <a href=\"%s\">Protokoll</a> auf mögliche Fehler oder Warnungen.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Um dies auszuführen, benötigen Sie die PHP-Posix Erweiterung. Weitere Informationen in der {linkstart}PHP-Dokumentation{linkend}.", + "Tips & tricks" : "Tipps & Tricks", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Es gibt ein Menge von Eigenschaften und Konfigurationsschaltern die es ermöglichen, die Installation optimal zu nutzen und anzupassen. Hier einige Verweise auf weitere Informationen.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen empfehlen wir, auf ein anderes Datenbank-Backend zu wechseln.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Dies wird insbesondere bei der Benutzung des Dektop-Clients zur Synchronisierung empfohlen.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder schauen in die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation ↗</a>.", + "How to do backups" : "Wie man Datensicherungen anlegt", + "Performance tuning" : "Leistungsoptimierung", + "Improving the config.php" : "Die config.php optimieren", + "Theming" : "Themes verwenden", + "Check the security of your Nextcloud over our security scan" : "Überprüfen Sie die Sicherheit Ihrer Nextcloud mit unserem Sicherheits-Scan", + "Hardening and security guidance" : "Systemhärtung und Sicherheitsempfehlungen", "View in store" : "Im Store anzeigen", "Limit to groups" : "Auf Gruppen beschränken", "This app has an update available." : "Für diese App ist eine Aktualisierung verfügbar.", @@ -453,6 +439,18 @@ OC.L10N.register( "Updating …" : "Aktualisiere…", "Could not update app" : "App konnte nicht aktualisiert werden", "Could not remove app" : "App konnte nicht entfernt werden", - "{size} used" : "{size} verwendet" + "{size} used" : "{size} verwendet", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Für die Sicherheit und Geschwindigkeit Ihrer Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Ihnen hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen finden Sie im Tipps & Tricks- Abschnitt und in der Dokumentation.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Installationsdokumentation ↗</a> auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Ihres Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s ist in einer älteren Version als %2$s installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere %1$s-Version", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Das PHP Modul 'fileinfo' fehlt. Es empfiehlt sich dringend, das Modul zu aktivieren, um bestmögliche Ergebnisse bei der MIME-Datei-Typ-Erkennung zu erhalten. ", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. Aktivieren Sie 'filelocking.enabled' in der config.php diese Probleme zu vermeiden. Weitere Informationen findest Sie in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a>.", + "This means that there might be problems with certain characters in filenames." : "Dies bedeutet, dass es zu Problemen mit bestimmten Zeichen in Dateinamen kommen kann. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Es empfiehlt sich dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eines der folgenden Gebietsschemata unterstützt wird: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und Cron des Systems genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setzen Sie bitte die „overwrite.cli.url“-Option in Ihrer config.php auf das Web-Wurzelverzeichnis Ihrer Installation (Vorschlag: „%s“).", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: ", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a> schauen." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/de_DE.json b/settings/l10n/de_DE.json index f4126519f4f..2628ef7d08b 100644 --- a/settings/l10n/de_DE.json +++ b/settings/l10n/de_DE.json @@ -99,23 +99,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.", "Start migration" : "Migration beginnen", "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Für die Sicherheit und Geschwindigkeit Ihrer Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Ihnen hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen finden Sie im Tipps & Tricks- Abschnitt und in der Dokumentation.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Installationsdokumentation ↗</a> auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Ihres Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Ihre Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s ist in einer älteren Version als %2$s installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere %1$s-Version", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Das PHP Modul 'fileinfo' fehlt. Es empfiehlt sich dringend, das Modul zu aktivieren, um bestmögliche Ergebnisse bei der MIME-Datei-Typ-Erkennung zu erhalten. ", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. Aktivieren Sie 'filelocking.enabled' in der config.php diese Probleme zu vermeiden. Weitere Informationen findest Sie in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a>.", - "System locale can not be set to a one which supports UTF-8." : "Es kann kein Systemgebietsschema gesetzt werden, das UTF-8 unterstützt.", - "This means that there might be problems with certain characters in filenames." : "Dies bedeutet, dass es zu Problemen mit bestimmten Zeichen in Dateinamen kommen kann. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Es empfiehlt sich dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eines der folgenden Gebietsschemata unterstützt wird: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und Cron des Systems genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setzen Sie bitte die „overwrite.cli.url“-Option in Ihrer config.php auf das Web-Wurzelverzeichnis Ihrer Installation (Vorschlag: „%s“).", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: ", - "Last background job execution ran %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.", - "Check the background job settings" : "Überprüfe Cron-Job Einstellungen", "All checks passed." : "Alle Überprüfungen bestanden.", "There are some errors regarding your setup." : "Es gibt einige Fehler bei Ihrer Systemkonfiguration.", "There are some warnings regarding your setup." : "Es gibt einige Warnungen bei Ihrer Systemkonfiguration.", @@ -152,17 +135,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Zeige Haftungsausschluss auf der öffentlichen Upload-Seite. (Wird nur gezeigt wenn die Dateiliste nicht angezeigt wird.) ", "This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.", "Default share permissions" : "Standardberechtigungen für das Teilen", - "Tips & tricks" : "Tipps & Tricks", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Es gibt ein Menge von Eigenschaften und Konfigurationsschaltern die es ermöglichen, die Installation optimal zu nutzen und anzupassen. Hier einige Verweise auf weitere Informationen.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen empfehlen wir, auf ein anderes Datenbank-Backend zu wechseln.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Dies wird insbesondere bei der Benutzung des Dektop-Clients zur Synchronisierung empfohlen.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a> schauen.", - "How to do backups" : "Wie man Datensicherungen anlegt", - "Performance tuning" : "Leistungsoptimierung", - "Improving the config.php" : "Die config.php optimieren", - "Theming" : "Themes verwenden", - "Check the security of your Nextcloud over our security scan" : "Überprüfen Sie die Sicherheit Ihrer Nextcloud mit unserem Sicherheits-Scan", - "Hardening and security guidance" : "Systemhärtung und Sicherheitsempfehlungen", "Personal" : "Persönlich", "Administration" : "Verwaltung", "Profile picture" : "Profilbild", @@ -387,10 +359,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Für die Sicherheit und Geschwindigkeit Ihrer Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Ihnen hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen finden Sie im Tipps & Tricks- Abschnitt und in der Dokumentation.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitte schauen Sie in der <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Installationsdokumentation ↗</a> nach Hinweisen zur PHP-Konfiguration, sowie die PHP-Konfiguration ihres Servers, insbesondere dann, wenn Sie PHP-FPM einsetzten.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Ihre Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s ist in einer älteren Version als %2$s installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere %1$s-Version.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Das PHP-Modul 'fileinfo' fehlt. Wir empfehlen dringend, das Modul zu aktivieren, um beste Ergebnisse mit MIME-Typ-Erkennung zu erhalten.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. Aktivieren Sie 'filelocking.enabled' in der config.php diese Probleme zu vermeiden. Weitere Informationen finden sich in unserer <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation ↗</a>.", + "System locale can not be set to a one which supports UTF-8." : "Es kann kein Systemgebietsschema gesetzt werden, das UTF-8 unterstützt.", "This means that there might be problems with certain characters in file names." : "Dies bedeutet, dass es zu Problemen mit bestimmten Zeichen in Dateinamen kommen kann.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Wir empfehlen dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eines der folgenden Gebietsschemata unterstützt wird: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und System-Cron genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setzen Sie bitte die „overwrite.cli.url“-Option in Ihrer config.php auf das Web-Wurzelverzeichnis Ihrer Installation (Vorschlag: \"%s“)", @@ -398,7 +374,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Bitte überprüfen Sie noch einmal die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Installationsanleitungen ↗</a> und kontrollieren Sie das <a href=\"%s\">Protokoll</a> auf mögliche Fehler oder Warnungen.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Um dies auszuführen, benötigen Sie die PHP-Posix Erweiterung. Weitere Informationen in der {linkstart}PHP-Dokumentation{linkend}.", + "Tips & tricks" : "Tipps & Tricks", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Es gibt ein Menge von Eigenschaften und Konfigurationsschaltern die es ermöglichen, die Installation optimal zu nutzen und anzupassen. Hier einige Verweise auf weitere Informationen.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen empfehlen wir, auf ein anderes Datenbank-Backend zu wechseln.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Dies wird insbesondere bei der Benutzung des Dektop-Clients zur Synchronisierung empfohlen.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder schauen in die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation ↗</a>.", + "How to do backups" : "Wie man Datensicherungen anlegt", + "Performance tuning" : "Leistungsoptimierung", + "Improving the config.php" : "Die config.php optimieren", + "Theming" : "Themes verwenden", + "Check the security of your Nextcloud over our security scan" : "Überprüfen Sie die Sicherheit Ihrer Nextcloud mit unserem Sicherheits-Scan", + "Hardening and security guidance" : "Systemhärtung und Sicherheitsempfehlungen", "View in store" : "Im Store anzeigen", "Limit to groups" : "Auf Gruppen beschränken", "This app has an update available." : "Für diese App ist eine Aktualisierung verfügbar.", @@ -451,6 +437,18 @@ "Updating …" : "Aktualisiere…", "Could not update app" : "App konnte nicht aktualisiert werden", "Could not remove app" : "App konnte nicht entfernt werden", - "{size} used" : "{size} verwendet" + "{size} used" : "{size} verwendet", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Für die Sicherheit und Geschwindigkeit Ihrer Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Ihnen hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen finden Sie im Tipps & Tricks- Abschnitt und in der Dokumentation.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(\"PATH\") liefert nur eine leere Antwort zurück.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Bitte die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Installationsdokumentation ↗</a> auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Ihres Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s ist in einer älteren Version als %2$s installiert. Aus Stabilitäts- und Performancegründen empfehlen wir eine Aktualisierung auf eine neuere %1$s-Version", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Das PHP Modul 'fileinfo' fehlt. Es empfiehlt sich dringend, das Modul zu aktivieren, um bestmögliche Ergebnisse bei der MIME-Datei-Typ-Erkennung zu erhalten. ", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transaktionales Sperren ist deaktiviert, was zu Problemen mit Laufzeitbedingungen führen kann. Aktivieren Sie 'filelocking.enabled' in der config.php diese Probleme zu vermeiden. Weitere Informationen findest Sie in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a>.", + "This means that there might be problems with certain characters in filenames." : "Dies bedeutet, dass es zu Problemen mit bestimmten Zeichen in Dateinamen kommen kann. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Es empfiehlt sich dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eines der folgenden Gebietsschemata unterstützt wird: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und Cron des Systems genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setzen Sie bitte die „overwrite.cli.url“-Option in Ihrer config.php auf das Web-Wurzelverzeichnis Ihrer Installation (Vorschlag: „%s“).", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten: ", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation ↗</a> schauen." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/el.js b/settings/l10n/el.js index c8d4ff98f27..0e1aeee3041 100644 --- a/settings/l10n/el.js +++ b/settings/l10n/el.js @@ -2,6 +2,7 @@ OC.L10N.register( "settings", { "Official" : "Επίσημο", + "No results" : "Κανένα αποτέλεσμα", "Visit website" : "Επισκεφθείτε την ιστοσελίδα", "User documentation" : "Τεκμηρίωση Χρήστη", "Developer documentation" : "Τεκμηρίωση προγραμματιστή", @@ -73,9 +74,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Πρέπει να μεταφέρετε τα κλειδιά σας κρυπτογράφησης από την παλιά κρυπτογράφηση (ownCloud <= 8.0) στην καινούρια.", "Start migration" : "Έναρξη μετάβασης", "Security & setup warnings" : "Προειδοποιήσεις ασφάλειας & ρυθμίσεων", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Η ρύθμιση \"μόνο ανάγνωση\" έχει ενεργοποιηθεί. Αυτό εμποδίζει τον καθορισμό κάποιων ρυθμίσεων μέσω της διεπαφής web. Επιπλέον, το αρχείο πρέπει να γίνει χειροκίνητα εγγράψιμο πριν από κάθε διαδικασία ενημέρωσης.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Οι ρυθμίσεις τοποθεσίας συστήματος δεν μπορούν να οριστούν σε κάποιες που δεν υποστηρίζουν UTF-8.", "All checks passed." : "Όλοι οι έλεγχοι επιτυχείς.", "Version" : "Έκδοση", "Background jobs" : "Εργασίες παρασκηνίου", @@ -102,13 +100,6 @@ OC.L10N.register( "These groups will still be able to receive shares, but not to initiate them." : "Αυτές οι ομάδες θα συνεχίσουν να λαμβάνουν διαμοιρασμούς, αλλά δεν θα είναι δυνατό να τους δημιουργήσουν.", "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Να επιτρέπεται η χρήση αυτόματης συμπλήρωσης του ονόματος χρήστη στο πεδίο διαμοιρασμού. Αν η ρύθμιση αυτή είναι απενεργοποιημένη θα πρέπει να εισαχθεί το πλήρες όνομα χρήστη ή το email του. ", "This text will be shown on the public link upload page when the file list is hidden." : "Αυτό το κείμενο θα ", - "Tips & tricks" : "Συμβουλές & τεχνάσματα", - "How to do backups" : "Πώς να κάνετε αντίγραφα ασφαλείας", - "Performance tuning" : "Ρύθμιση βελτίωσης της απόδοσης", - "Improving the config.php" : "Βελτίωση του config.php", - "Theming" : "Θέματα", - "Check the security of your Nextcloud over our security scan" : "Ελέγξτε την ασφάλεια του Nextcloud σας μέσω της σάρωσης ασφαλείας", - "Hardening and security guidance" : "Οδηγίες ασφάλειας και θωράκισης", "Profile picture" : "Φωτογραφία προφίλ", "Upload new" : "Μεταφόρτωση νέου", "Select from Files" : "Επιλογή από τα Αρχεία", @@ -117,6 +108,7 @@ OC.L10N.register( "Picture provided by original account" : "Φωτογραφία που παρέχεται από τον πρωτότυπο λογαριασμό", "Cancel" : "Άκυρο", "Choose as profile picture" : "Επιλέξτε εικόνα προφίλ", + "Details" : "Λεπτομέρειες", "You are member of the following groups:" : "Είστε μέλος των ακόλουθων ομάδων:", "You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "Χρησιμοποιείτε <strong>%s</strong> του <strong>%s</strong>(<strong>%s%%</strong>)", "No display name set" : "Δεν ορίστηκε όνομα", @@ -315,6 +307,16 @@ OC.L10N.register( "__language_name__" : "Ελληνικά", "Personal info" : "Προσωπικές Πληροφορίες", "Sync clients" : "Συγχρονισμός πελατών", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Η ρύθμιση \"μόνο ανάγνωση\" έχει ενεργοποιηθεί. Αυτό εμποδίζει τον καθορισμό κάποιων ρυθμίσεων μέσω της διεπαφής web. Επιπλέον, το αρχείο πρέπει να γίνει χειροκίνητα εγγράψιμο πριν από κάθε διαδικασία ενημέρωσης.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Οι ρυθμίσεις τοποθεσίας συστήματος δεν μπορούν να οριστούν σε κάποιες που δεν υποστηρίζουν UTF-8.", + "Tips & tricks" : "Συμβουλές & τεχνάσματα", + "How to do backups" : "Πώς να κάνετε αντίγραφα ασφαλείας", + "Performance tuning" : "Ρύθμιση βελτίωσης της απόδοσης", + "Improving the config.php" : "Βελτίωση του config.php", + "Theming" : "Θέματα", + "Check the security of your Nextcloud over our security scan" : "Ελέγξτε την ασφάλεια του Nextcloud σας μέσω της σάρωσης ασφαλείας", + "Hardening and security guidance" : "Οδηγίες ασφάλειας και θωράκισης", "View in store" : "Προβολή στο κέντρο εφαρμογών", "Limit to groups" : "Όριο στις ομάδες", "This app has an update available." : "Αυτή η εφαρμογή έχει διαθέσιμη ενημέρωση.", @@ -358,6 +360,9 @@ OC.L10N.register( "change email address" : "αλλαγή διεύθυνσης ηλ. αλληλογραφίας", "Default" : "Προκαθορισμένο", "App up to date" : "Ενημερωμένη εφαρμογή", + "Updating …" : "Γίνεται ενημέρωση ....", + "Could not update app" : "Αδυναμία ενημέρωσης εφαρμογής", + "Could not remove app" : "Αδυναμία αφαίρεσης εφαρμογής", "{size} used" : "{μέγεθος} που χρησιμοποιείται" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/el.json b/settings/l10n/el.json index a33d472b71a..d6684cb7477 100644 --- a/settings/l10n/el.json +++ b/settings/l10n/el.json @@ -1,5 +1,6 @@ { "translations": { "Official" : "Επίσημο", + "No results" : "Κανένα αποτέλεσμα", "Visit website" : "Επισκεφθείτε την ιστοσελίδα", "User documentation" : "Τεκμηρίωση Χρήστη", "Developer documentation" : "Τεκμηρίωση προγραμματιστή", @@ -71,9 +72,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Πρέπει να μεταφέρετε τα κλειδιά σας κρυπτογράφησης από την παλιά κρυπτογράφηση (ownCloud <= 8.0) στην καινούρια.", "Start migration" : "Έναρξη μετάβασης", "Security & setup warnings" : "Προειδοποιήσεις ασφάλειας & ρυθμίσεων", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Η ρύθμιση \"μόνο ανάγνωση\" έχει ενεργοποιηθεί. Αυτό εμποδίζει τον καθορισμό κάποιων ρυθμίσεων μέσω της διεπαφής web. Επιπλέον, το αρχείο πρέπει να γίνει χειροκίνητα εγγράψιμο πριν από κάθε διαδικασία ενημέρωσης.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Οι ρυθμίσεις τοποθεσίας συστήματος δεν μπορούν να οριστούν σε κάποιες που δεν υποστηρίζουν UTF-8.", "All checks passed." : "Όλοι οι έλεγχοι επιτυχείς.", "Version" : "Έκδοση", "Background jobs" : "Εργασίες παρασκηνίου", @@ -100,13 +98,6 @@ "These groups will still be able to receive shares, but not to initiate them." : "Αυτές οι ομάδες θα συνεχίσουν να λαμβάνουν διαμοιρασμούς, αλλά δεν θα είναι δυνατό να τους δημιουργήσουν.", "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Να επιτρέπεται η χρήση αυτόματης συμπλήρωσης του ονόματος χρήστη στο πεδίο διαμοιρασμού. Αν η ρύθμιση αυτή είναι απενεργοποιημένη θα πρέπει να εισαχθεί το πλήρες όνομα χρήστη ή το email του. ", "This text will be shown on the public link upload page when the file list is hidden." : "Αυτό το κείμενο θα ", - "Tips & tricks" : "Συμβουλές & τεχνάσματα", - "How to do backups" : "Πώς να κάνετε αντίγραφα ασφαλείας", - "Performance tuning" : "Ρύθμιση βελτίωσης της απόδοσης", - "Improving the config.php" : "Βελτίωση του config.php", - "Theming" : "Θέματα", - "Check the security of your Nextcloud over our security scan" : "Ελέγξτε την ασφάλεια του Nextcloud σας μέσω της σάρωσης ασφαλείας", - "Hardening and security guidance" : "Οδηγίες ασφάλειας και θωράκισης", "Profile picture" : "Φωτογραφία προφίλ", "Upload new" : "Μεταφόρτωση νέου", "Select from Files" : "Επιλογή από τα Αρχεία", @@ -115,6 +106,7 @@ "Picture provided by original account" : "Φωτογραφία που παρέχεται από τον πρωτότυπο λογαριασμό", "Cancel" : "Άκυρο", "Choose as profile picture" : "Επιλέξτε εικόνα προφίλ", + "Details" : "Λεπτομέρειες", "You are member of the following groups:" : "Είστε μέλος των ακόλουθων ομάδων:", "You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "Χρησιμοποιείτε <strong>%s</strong> του <strong>%s</strong>(<strong>%s%%</strong>)", "No display name set" : "Δεν ορίστηκε όνομα", @@ -313,6 +305,16 @@ "__language_name__" : "Ελληνικά", "Personal info" : "Προσωπικές Πληροφορίες", "Sync clients" : "Συγχρονισμός πελατών", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Η ρύθμιση \"μόνο ανάγνωση\" έχει ενεργοποιηθεί. Αυτό εμποδίζει τον καθορισμό κάποιων ρυθμίσεων μέσω της διεπαφής web. Επιπλέον, το αρχείο πρέπει να γίνει χειροκίνητα εγγράψιμο πριν από κάθε διαδικασία ενημέρωσης.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Οι ρυθμίσεις τοποθεσίας συστήματος δεν μπορούν να οριστούν σε κάποιες που δεν υποστηρίζουν UTF-8.", + "Tips & tricks" : "Συμβουλές & τεχνάσματα", + "How to do backups" : "Πώς να κάνετε αντίγραφα ασφαλείας", + "Performance tuning" : "Ρύθμιση βελτίωσης της απόδοσης", + "Improving the config.php" : "Βελτίωση του config.php", + "Theming" : "Θέματα", + "Check the security of your Nextcloud over our security scan" : "Ελέγξτε την ασφάλεια του Nextcloud σας μέσω της σάρωσης ασφαλείας", + "Hardening and security guidance" : "Οδηγίες ασφάλειας και θωράκισης", "View in store" : "Προβολή στο κέντρο εφαρμογών", "Limit to groups" : "Όριο στις ομάδες", "This app has an update available." : "Αυτή η εφαρμογή έχει διαθέσιμη ενημέρωση.", @@ -356,6 +358,9 @@ "change email address" : "αλλαγή διεύθυνσης ηλ. αλληλογραφίας", "Default" : "Προκαθορισμένο", "App up to date" : "Ενημερωμένη εφαρμογή", + "Updating …" : "Γίνεται ενημέρωση ....", + "Could not update app" : "Αδυναμία ενημέρωσης εφαρμογής", + "Could not remove app" : "Αδυναμία αφαίρεσης εφαρμογής", "{size} used" : "{μέγεθος} που χρησιμοποιείται" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/en_GB.js b/settings/l10n/en_GB.js index 0c0c94cb430..eea1752d030 100644 --- a/settings/l10n/en_GB.js +++ b/settings/l10n/en_GB.js @@ -101,23 +101,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.", "Start migration" : "Start migration", "Security & setup warnings" : "Security & setup warnings", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information.", - "System locale can not be set to a one which supports UTF-8." : "System locale can not be set to a one which supports UTF-8.", - "This means that there might be problems with certain characters in filenames." : "This means that there might be problems with certain characters in filenames.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "It is strongly proposed to install the required packages on your system to support one of the following locales: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "It was not possible to execute the cron job via CLI. The following technical errors have appeared:", - "Last background job execution ran %s. Something seems wrong." : "Last background job execution ran %s. Something seems wrong.", - "Check the background job settings" : "Check the background job settings", "All checks passed." : "All checks passed.", "There are some errors regarding your setup." : "There are some errors regarding your setup.", "There are some warnings regarding your setup." : "There are some warnings regarding your setup.", @@ -154,17 +137,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)", "This text will be shown on the public link upload page when the file list is hidden." : "This text will be shown on the public link upload page when the file list is hidden.", "Default share permissions" : "Default share permissions", - "Tips & tricks" : "Tips & tricks", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "There are a lot of features and config switches available to optimally customise and use this instance. Here are some pointers for more information.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend.", - "This is particularly recommended when using the desktop client for file synchronisation." : "This is particularly recommended when using the desktop client for file synchronisation.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>.", - "How to do backups" : "How to do backups", - "Performance tuning" : "Performance tuning", - "Improving the config.php" : "Improving the config.php", - "Theming" : "Theming", - "Check the security of your Nextcloud over our security scan" : "Check the security of your Nextcloud over our security scan", - "Hardening and security guidance" : "Hardening and security guidance", "Personal" : "Personal", "Administration" : "Administration", "Profile picture" : "Profile picture", @@ -389,10 +361,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information.", + "System locale can not be set to a one which supports UTF-8." : "System locale can not be set to a one which supports UTF-8.", "This means that there might be problems with certain characters in file names." : "This means that there might be problems with certain characters in file names.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "We strongly suggest installing the required packages on your system to support one of the following locales: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")", @@ -400,7 +376,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is registered at a webcron service to call cron.php every 15 minutes over http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details.", + "Tips & tricks" : "Tips & tricks", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "There are a lot of features and config switches available to optimally customise and use this instance. Here are some pointers for more information.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend.", + "This is particularly recommended when using the desktop client for file synchronisation." : "This is particularly recommended when using the desktop client for file synchronisation.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>.", + "How to do backups" : "How to do backups", + "Performance tuning" : "Performance tuning", + "Improving the config.php" : "Improving the config.php", + "Theming" : "Theming", + "Check the security of your Nextcloud over our security scan" : "Check the security of your Nextcloud over our security scan", + "Hardening and security guidance" : "Hardening and security guidance", "View in store" : "View in store", "Limit to groups" : "Limit to groups", "This app has an update available." : "This app has an update available.", @@ -453,6 +439,18 @@ OC.L10N.register( "Updating …" : "Updating …", "Could not update app" : "Could not update app", "Could not remove app" : "Could not remove app", - "{size} used" : "{size} used" + "{size} used" : "{size} used", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information.", + "This means that there might be problems with certain characters in filenames." : "This means that there might be problems with certain characters in filenames.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "It is strongly proposed to install the required packages on your system to support one of the following locales: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "It was not possible to execute the cron job via CLI. The following technical errors have appeared:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/en_GB.json b/settings/l10n/en_GB.json index 644e7c63ca2..e77a051601a 100644 --- a/settings/l10n/en_GB.json +++ b/settings/l10n/en_GB.json @@ -99,23 +99,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.", "Start migration" : "Start migration", "Security & setup warnings" : "Security & setup warnings", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information.", - "System locale can not be set to a one which supports UTF-8." : "System locale can not be set to a one which supports UTF-8.", - "This means that there might be problems with certain characters in filenames." : "This means that there might be problems with certain characters in filenames.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "It is strongly proposed to install the required packages on your system to support one of the following locales: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "It was not possible to execute the cron job via CLI. The following technical errors have appeared:", - "Last background job execution ran %s. Something seems wrong." : "Last background job execution ran %s. Something seems wrong.", - "Check the background job settings" : "Check the background job settings", "All checks passed." : "All checks passed.", "There are some errors regarding your setup." : "There are some errors regarding your setup.", "There are some warnings regarding your setup." : "There are some warnings regarding your setup.", @@ -152,17 +135,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)", "This text will be shown on the public link upload page when the file list is hidden." : "This text will be shown on the public link upload page when the file list is hidden.", "Default share permissions" : "Default share permissions", - "Tips & tricks" : "Tips & tricks", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "There are a lot of features and config switches available to optimally customise and use this instance. Here are some pointers for more information.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend.", - "This is particularly recommended when using the desktop client for file synchronisation." : "This is particularly recommended when using the desktop client for file synchronisation.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>.", - "How to do backups" : "How to do backups", - "Performance tuning" : "Performance tuning", - "Improving the config.php" : "Improving the config.php", - "Theming" : "Theming", - "Check the security of your Nextcloud over our security scan" : "Check the security of your Nextcloud over our security scan", - "Hardening and security guidance" : "Hardening and security guidance", "Personal" : "Personal", "Administration" : "Administration", "Profile picture" : "Profile picture", @@ -387,10 +359,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information.", + "System locale can not be set to a one which supports UTF-8." : "System locale can not be set to a one which supports UTF-8.", "This means that there might be problems with certain characters in file names." : "This means that there might be problems with certain characters in file names.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "We strongly suggest installing the required packages on your system to support one of the following locales: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")", @@ -398,7 +374,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is registered at a webcron service to call cron.php every 15 minutes over http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details.", + "Tips & tricks" : "Tips & tricks", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "There are a lot of features and config switches available to optimally customise and use this instance. Here are some pointers for more information.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend.", + "This is particularly recommended when using the desktop client for file synchronisation." : "This is particularly recommended when using the desktop client for file synchronisation.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>.", + "How to do backups" : "How to do backups", + "Performance tuning" : "Performance tuning", + "Improving the config.php" : "Improving the config.php", + "Theming" : "Theming", + "Check the security of your Nextcloud over our security scan" : "Check the security of your Nextcloud over our security scan", + "Hardening and security guidance" : "Hardening and security guidance", "View in store" : "View in store", "Limit to groups" : "Limit to groups", "This app has an update available." : "This app has an update available.", @@ -451,6 +437,18 @@ "Updating …" : "Updating …", "Could not update app" : "Could not update app", "Could not remove app" : "Could not remove app", - "{size} used" : "{size} used" + "{size} used" : "{size} used", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information.", + "This means that there might be problems with certain characters in filenames." : "This means that there might be problems with certain characters in filenames.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "It is strongly proposed to install the required packages on your system to support one of the following locales: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "It was not possible to execute the cron job via CLI. The following technical errors have appeared:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/eo.js b/settings/l10n/eo.js index 880b852e08f..c0236ff42ea 100644 --- a/settings/l10n/eo.js +++ b/settings/l10n/eo.js @@ -1,12 +1,32 @@ OC.L10N.register( "settings", { + "Official" : "Oficiala", "User documentation" : "Uzodokumentaro", + "-licensed" : "-permesila", + "Disable all" : "Malkapabligi ĉiu", + "Enable all" : "Kapabligi ĉiu", + "Download and enable" : "Elŝuti kaj kapabligi", "Enable" : "Kapabligi", + "Settings" : "Agordo", + "You do not have permissions to see the details of this user" : "Vi ne permesatas vidi la detalojn de ĉi tiu uzanto", + "Delete user" : "Forigita uzanto", + "Disable user" : "Malkapabligi uzanto", + "Enable user" : "Kapabligi uzanto", "Full name" : "Plena nomo", "Email" : "Retpoŝto", + "Languages" : "Lingvoj", + "User backend" : "Uzantomotoro", "Unlimited" : "Senlima", + "Default quota" : "Defaŭlta kvoto", + "Default language" : "Defaŭlta lingvo", + "Common languages" : "Komunaj lingvoj", + "All languages" : "Ĉiuj lingvoj", + "App update" : "Aplikaĵon ĝisdatigi", "Error while enabling app" : "Eraris kapabligo de aplikaĵo", + "Your apps" : "Viaj aplikaĵoj", + "Active apps" : "Kapabligitaj aplikaĵoj", + "Disabled apps" : "Malkapabligitaj aplikaĵoj", "Admins" : "Administrantoj", "Everyone" : "Ĉiuj", "Common Name" : "Komuna nomo", @@ -55,8 +75,10 @@ OC.L10N.register( "Current password" : "Nuna pasvorto", "New password" : "Nova pasvorto", "Change password" : "Ŝanĝi la pasvorton", + "App name" : "Namo de aplikaĵo", "Username" : "Uzantonomo", "Done" : "Farita", + "Enabled apps" : "Kapabligitaj aplikaĵoj", "Wrong password" : "Malĝusta pasvorto", "Saved" : "Konservita", "Unable to change password" : "Ne eblis ŝanĝi la pasvorton", @@ -66,11 +88,14 @@ OC.L10N.register( "Unable to change full name" : "Ne eblis ŝanĝi la plenan nomon", "Your full name has been changed." : "Via plena nomo ŝanĝitas.", "Email saved" : "La retpoŝtadreso konserviĝis", + "Your username is: %s" : "Via uzantnomo estas\\: %s", "Couldn't update app." : "Ne eblis ĝisdatigi la aplikaĵon.", "Email sent" : "La retpoŝtaĵo sendiĝis", "All" : "Ĉio", + "Disabling app …" : "Malkapabligas aplikaĵon …", "Error while disabling app" : "Eraris malkapabligo de aplikaĵo", "Disable" : "Malkapabligi", + "Enabling app …" : "Kapabligas aplikaĵon …", "Updated" : "Ĝisdatigita", "Select a profile picture" : "Elekti profilan bildon", "Very weak password" : "Tre malforta pasvorto", @@ -83,7 +108,10 @@ OC.L10N.register( "undo" : "malfari", "never" : "neniam", "deleted {userName}" : "{userName} foriĝis", + "Unable to add user to group {group}" : "Ne eblis aldoni la uzanton al la grupo {group}", + "Unable to remove user from group {group}" : "Ne eblis forigi la uzantan el la grupo {group}", "A valid username must be provided" : "Valida uzantonomo devas proviziĝi", + "Error creating user: {message}" : "Erariz kreiĝi uzanto: {message}", "A valid password must be provided" : "Valida pasvorto devas proviziĝi", "by %s" : "de %s", "%s-licensed" : "%s-permesila", @@ -92,14 +120,22 @@ OC.L10N.register( "Show description …" : "Montri priskribon...", "Hide description …" : "Malmontri priskribon...", "Enable only for specific groups" : "Kapabligi nur por specifajn grupojn", + "Android app" : "Android-aplikaĵo", + "iOS app" : "iOS-aplikaĵo", + "App passwords" : "Aplikaĵaj pasvortoj", "Show user backend" : "Montri uzantomotoron", + "Send email to new user" : "Sendi retmesaĝon al nova uzanto", "E-Mail" : "Retpoŝtadreso", "Create" : "Krei", + "Group name" : "Gruponomo", + "Disabled" : "Malkapabligita", "Other" : "Alia", "Quota" : "Kvoto", "change full name" : "ŝanĝi plenan nomon", "set new password" : "agordi novan pasvorton", "change email address" : "ŝanĝi retpoŝtadreson", - "Default" : "Defaŭlta" + "Default" : "Defaŭlta", + "Updating …" : "Ĝisdatigatas …", + "Could not update app" : "Ne eblis ĝisdatigi la aplikaĵon." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/eo.json b/settings/l10n/eo.json index ce99b73858a..9ebaa1b1fc8 100644 --- a/settings/l10n/eo.json +++ b/settings/l10n/eo.json @@ -1,10 +1,30 @@ { "translations": { + "Official" : "Oficiala", "User documentation" : "Uzodokumentaro", + "-licensed" : "-permesila", + "Disable all" : "Malkapabligi ĉiu", + "Enable all" : "Kapabligi ĉiu", + "Download and enable" : "Elŝuti kaj kapabligi", "Enable" : "Kapabligi", + "Settings" : "Agordo", + "You do not have permissions to see the details of this user" : "Vi ne permesatas vidi la detalojn de ĉi tiu uzanto", + "Delete user" : "Forigita uzanto", + "Disable user" : "Malkapabligi uzanto", + "Enable user" : "Kapabligi uzanto", "Full name" : "Plena nomo", "Email" : "Retpoŝto", + "Languages" : "Lingvoj", + "User backend" : "Uzantomotoro", "Unlimited" : "Senlima", + "Default quota" : "Defaŭlta kvoto", + "Default language" : "Defaŭlta lingvo", + "Common languages" : "Komunaj lingvoj", + "All languages" : "Ĉiuj lingvoj", + "App update" : "Aplikaĵon ĝisdatigi", "Error while enabling app" : "Eraris kapabligo de aplikaĵo", + "Your apps" : "Viaj aplikaĵoj", + "Active apps" : "Kapabligitaj aplikaĵoj", + "Disabled apps" : "Malkapabligitaj aplikaĵoj", "Admins" : "Administrantoj", "Everyone" : "Ĉiuj", "Common Name" : "Komuna nomo", @@ -53,8 +73,10 @@ "Current password" : "Nuna pasvorto", "New password" : "Nova pasvorto", "Change password" : "Ŝanĝi la pasvorton", + "App name" : "Namo de aplikaĵo", "Username" : "Uzantonomo", "Done" : "Farita", + "Enabled apps" : "Kapabligitaj aplikaĵoj", "Wrong password" : "Malĝusta pasvorto", "Saved" : "Konservita", "Unable to change password" : "Ne eblis ŝanĝi la pasvorton", @@ -64,11 +86,14 @@ "Unable to change full name" : "Ne eblis ŝanĝi la plenan nomon", "Your full name has been changed." : "Via plena nomo ŝanĝitas.", "Email saved" : "La retpoŝtadreso konserviĝis", + "Your username is: %s" : "Via uzantnomo estas\\: %s", "Couldn't update app." : "Ne eblis ĝisdatigi la aplikaĵon.", "Email sent" : "La retpoŝtaĵo sendiĝis", "All" : "Ĉio", + "Disabling app …" : "Malkapabligas aplikaĵon …", "Error while disabling app" : "Eraris malkapabligo de aplikaĵo", "Disable" : "Malkapabligi", + "Enabling app …" : "Kapabligas aplikaĵon …", "Updated" : "Ĝisdatigita", "Select a profile picture" : "Elekti profilan bildon", "Very weak password" : "Tre malforta pasvorto", @@ -81,7 +106,10 @@ "undo" : "malfari", "never" : "neniam", "deleted {userName}" : "{userName} foriĝis", + "Unable to add user to group {group}" : "Ne eblis aldoni la uzanton al la grupo {group}", + "Unable to remove user from group {group}" : "Ne eblis forigi la uzantan el la grupo {group}", "A valid username must be provided" : "Valida uzantonomo devas proviziĝi", + "Error creating user: {message}" : "Erariz kreiĝi uzanto: {message}", "A valid password must be provided" : "Valida pasvorto devas proviziĝi", "by %s" : "de %s", "%s-licensed" : "%s-permesila", @@ -90,14 +118,22 @@ "Show description …" : "Montri priskribon...", "Hide description …" : "Malmontri priskribon...", "Enable only for specific groups" : "Kapabligi nur por specifajn grupojn", + "Android app" : "Android-aplikaĵo", + "iOS app" : "iOS-aplikaĵo", + "App passwords" : "Aplikaĵaj pasvortoj", "Show user backend" : "Montri uzantomotoron", + "Send email to new user" : "Sendi retmesaĝon al nova uzanto", "E-Mail" : "Retpoŝtadreso", "Create" : "Krei", + "Group name" : "Gruponomo", + "Disabled" : "Malkapabligita", "Other" : "Alia", "Quota" : "Kvoto", "change full name" : "ŝanĝi plenan nomon", "set new password" : "agordi novan pasvorton", "change email address" : "ŝanĝi retpoŝtadreson", - "Default" : "Defaŭlta" + "Default" : "Defaŭlta", + "Updating …" : "Ĝisdatigatas …", + "Could not update app" : "Ne eblis ĝisdatigi la aplikaĵon." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es.js b/settings/l10n/es.js index a224004cd2e..0b7b9433659 100644 --- a/settings/l10n/es.js +++ b/settings/l10n/es.js @@ -101,28 +101,13 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Se necesita migrar las claves de cifrado del antiguo sistema (ownCloud <= 8.0) al nuevo sistema.", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Avisos de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante para la seguridad y rendimiento de tu instalación que todo esté configurado correctamente. Para ayudarte con ello estamos realizando algunas comprobaciones automáticas. Por favor, ve la sección Consejos y trucos y la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP parece que no está configurado correctamente para solicitar las variables de entorno del sistema. La prueba con getenv(\"PATH\") sólo devuelve una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, revisa la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación d einstalación ↗</a> para notas sobre la configuración de PHP en tu servidor, especialmente al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Se ha habilitado la configuración de sólo lectura. Esto evita tener que ajustar algunas configuraciones a través de la interfaz web. Además, el archivo debe hacerse modificable manualmente para cada actualización.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está aparentemente configurado para quitar bloques de documento —'strip inline doc blocks'—. Esto hará que varias aplicaciones principales estén inaccesibles.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Probablemente esto venga a causa de la caché o un acelerador, tales como Zend OPcache o eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Su base de datos no se ejecuta con el nivel de aislamiento de transacción \"READ COMMITTED\" . Ésto puede causar problemas cuando múltiples acciones se ejecutan en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$sestá instalado por debajo de la versión %2$s, por motivos de estabilidad y rendimiento se recomienda actualizar a una versión más moderna de %1$s.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Falta el módulo PHP 'fileinfo'. Es muy recomendable activar este módulo para conseguir mejores resultados en la detección de los tipos MIME.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está desactivado. Esto podría llevar a errores en algunas condiciones. Activa 'filelocking.enabled' en config.php para evitar estos problemas. Más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a>.", - "System locale can not be set to a one which supports UTF-8." : "No se puede escoger una configuración regional que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivo.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Es muy recomendable instalar los paquetes necesarios para poder soportar una de las siguientes configuraciones regionales: %s. ", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si su instalación no está ubicada en la raíz del dominio y usa el cron del sistema, puede haber problemas al generarse los URL. Para evitarlos, configure la opción \"overwrite.cli.url\" en su archivo config.php para que use la ruta de la raíz del sitio web de su instalación (sugerencia: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible lanzar la tarea cron mediante CLI. Los siguientes errores técnicos has aparecido:", - "Last background job execution ran %s. Something seems wrong." : "La última ejecución de la tarea en segundo plano tuvo lugar %s. Algo parece ir mal.", - "Check the background job settings" : "Comprueba la configuración del trabajo en segundo plano", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté correctamente configurado. Para ayudarte vamos a realizar algunas comprobaciones automáticas. Por favor, mira la documentación enalzada para más información.", "All checks passed." : "Ha pasado todos los controles", "There are some errors regarding your setup." : "Hay varios errores relativos a tu configuración.", "There are some warnings regarding your setup." : "Hay varios avisos relativos a tu configuración.", "Checking for system and security issues." : "Comprobando problemas del sistema y de seguridad.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor, vuelve a consultar la las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guías de instalación ↗</a> y buscar posibles errores o advertencias en el <a href=\"%s\">registro</a>.", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Comprueba la seguridad de tu Nextcloud mediante <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nuestro escaneo de seguridad ↗</a>.", "Version" : "Versión", "Background jobs" : "Trabajos en segundo plano", "Last job ran %s." : "El último trabajo se ejecutó %s.", @@ -154,17 +139,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar texto de renuncia de responsabilidad en la página de subida con el enlace público. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de subida de enlace público cuando la lista de archivos esté oculta.", "Default share permissions" : "Permisos para compartir por defecto", - "Tips & tricks" : "Sugerencias y trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Hay muchas características y cambios de configuración disponibles para personalizar y usar esta instancia. Aquí hay alugnas indicaciones para más información.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Se está usando actualmente SQLite como motor de base de datos. Para instalaciones más grandes recomendamos cambiar a un motor de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto está especialmente recomendado cuando se utiliza el cliente de escritorio para la sincronización de archivos.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de línea de comandos: 'occ db:convert-type o comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a>.", - "How to do backups" : "Cómo hacer copias de seguridad", - "Performance tuning" : "Ajuste de rendimiento", - "Improving the config.php" : "Mejorar el config.php", - "Theming" : "Personalizar el tema", - "Check the security of your Nextcloud over our security scan" : "Comprueba la seguridad de tu Nextcloud mediante nuestro escaneo de seguridad", - "Hardening and security guidance" : "Guía de protección y seguridad", "Personal" : "Perfil", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -389,10 +363,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y buen funcionamiento de tu instancia que todo esté configurado correctamente. Para ayudarte con esto, vamos a hacer algunas comprobaciones automáticas. Por favor, comprueba la sección 'Sugerencias y trucos' y la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP parece no estar configurado correctamente para consultar las variables de entorno del sistema. La prueba con getenv(\"PATH\") solo devuelve una respuesta vacía.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor, comprueba la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗ </a> para notas sobre configuración de php y la configuración de php en tu servidor, especialmente cuando se usa php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Se ha habilitado la configuración de sólo lectura. Esto evita tener que ajustar algunas configuraciones a través de la interfaz web. Además, el archivo debe hacerse modificable manualmente para cada actualización.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Aparentemente, PHP está configurado para eliminar los bloques inline de documentos. Esto hará inaccesibles muchas apps del núcleo.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Probablemente esto venga a causa de la caché o un acelerador, tales como Zend OPcache o eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Su base de datos no se ejecuta con el nivel de aislamiento de transacción \"READ COMMITTED\" . Ésto puede causar problemas cuando múltiples acciones se ejecutan en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s bajo la versión %2$s instalado. Por motivos de estabilidad y funcionamiento, recomendamos actualizar a una versión más moderna de %1$s.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Falta el módulo PHP 'fileinfo'. Recomendamos encarecidamente activar este módulo para conseguir los mejores resultados en la detección de tipos MIME.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo transaccional de archivos está desactivado. Esto puede provocar problemas en ciertas condiciones. Activa 'filelocking.enabled' en config.php para evitar estos problemas. Mira la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a> para más información.", + "System locale can not be set to a one which supports UTF-8." : "No se puede escoger una configuración regional que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que podría haber problemas con ciertos caracteres en los nombres de archivos.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomendamos encarecidamente instalar los paquetes requeridos en tu sistema para soportar una de las siguientes locales: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no está localizada en la raíz del dominio y usa el cron del sistema, puede haber problemas con la generación de URL. Para evitar estos problemas, por favor, activa la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta de la raíz web de tu instalación (sugerencia: \"%s\").", @@ -400,7 +378,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor, vuelve a consultar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación ↗</a> y busca posibles errores y advertencias en el <a href=\"%s\">registro</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en un servicio webcron para llamar a cron.php cada 15 minutos sobre http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para ejecutar esto, necesitas la extesión PHP posix. Ver la {linkstart}documentación de PHP{linkend} para más detalles.", + "Tips & tricks" : "Sugerencias y trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Hay muchas características y cambios de configuración disponibles para personalizar y usar esta instancia. Aquí hay alugnas indicaciones para más información.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Se está usando actualmente SQLite como motor de base de datos. Para instalaciones más grandes recomendamos cambiar a un motor de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto está especialmente recomendado cuando se utiliza el cliente de escritorio para la sincronización de archivos.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de línea de comandos: ''occ db:convert-type', o mira la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>.", + "How to do backups" : "Cómo hacer copias de seguridad", + "Performance tuning" : "Ajuste de rendimiento", + "Improving the config.php" : "Mejorar el config.php", + "Theming" : "Personalizar el tema", + "Check the security of your Nextcloud over our security scan" : "Comprueba la seguridad de tu Nextcloud mediante nuestro escaneo de seguridad", + "Hardening and security guidance" : "Guía de protección y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Límite para grupos", "This app has an update available." : "Está app tiene una actualización pendiente.", @@ -453,6 +441,18 @@ OC.L10N.register( "Updating …" : "Actualizando...", "Could not update app" : "No se ha podido actualizar la app", "Could not remove app" : "No se ha podido eliminar la app", - "{size} used" : "{size} usados" + "{size} used" : "{size} usados", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante para la seguridad y rendimiento de tu instalación que todo esté configurado correctamente. Para ayudarte con ello estamos realizando algunas comprobaciones automáticas. Por favor, ve la sección Consejos y trucos y la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP parece que no está configurado correctamente para solicitar las variables de entorno del sistema. La prueba con getenv(\"PATH\") sólo devuelve una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, revisa la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación d einstalación ↗</a> para notas sobre la configuración de PHP en tu servidor, especialmente al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está aparentemente configurado para quitar bloques de documento —'strip inline doc blocks'—. Esto hará que varias aplicaciones principales estén inaccesibles.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$sestá instalado por debajo de la versión %2$s, por motivos de estabilidad y rendimiento se recomienda actualizar a una versión más moderna de %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Falta el módulo PHP 'fileinfo'. Es muy recomendable activar este módulo para conseguir mejores resultados en la detección de los tipos MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está desactivado. Esto podría llevar a errores en algunas condiciones. Activa 'filelocking.enabled' en config.php para evitar estos problemas. Más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a>.", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivo.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Es muy recomendable instalar los paquetes necesarios para poder soportar una de las siguientes configuraciones regionales: %s. ", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si su instalación no está ubicada en la raíz del dominio y usa el cron del sistema, puede haber problemas al generarse los URL. Para evitarlos, configure la opción \"overwrite.cli.url\" en su archivo config.php para que use la ruta de la raíz del sitio web de su instalación (sugerencia: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible lanzar la tarea cron mediante CLI. Los siguientes errores técnicos has aparecido:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de línea de comandos: 'occ db:convert-type o comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es.json b/settings/l10n/es.json index ab35044782d..7ff823670da 100644 --- a/settings/l10n/es.json +++ b/settings/l10n/es.json @@ -99,28 +99,13 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Se necesita migrar las claves de cifrado del antiguo sistema (ownCloud <= 8.0) al nuevo sistema.", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Avisos de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante para la seguridad y rendimiento de tu instalación que todo esté configurado correctamente. Para ayudarte con ello estamos realizando algunas comprobaciones automáticas. Por favor, ve la sección Consejos y trucos y la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP parece que no está configurado correctamente para solicitar las variables de entorno del sistema. La prueba con getenv(\"PATH\") sólo devuelve una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, revisa la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación d einstalación ↗</a> para notas sobre la configuración de PHP en tu servidor, especialmente al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Se ha habilitado la configuración de sólo lectura. Esto evita tener que ajustar algunas configuraciones a través de la interfaz web. Además, el archivo debe hacerse modificable manualmente para cada actualización.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está aparentemente configurado para quitar bloques de documento —'strip inline doc blocks'—. Esto hará que varias aplicaciones principales estén inaccesibles.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Probablemente esto venga a causa de la caché o un acelerador, tales como Zend OPcache o eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Su base de datos no se ejecuta con el nivel de aislamiento de transacción \"READ COMMITTED\" . Ésto puede causar problemas cuando múltiples acciones se ejecutan en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$sestá instalado por debajo de la versión %2$s, por motivos de estabilidad y rendimiento se recomienda actualizar a una versión más moderna de %1$s.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Falta el módulo PHP 'fileinfo'. Es muy recomendable activar este módulo para conseguir mejores resultados en la detección de los tipos MIME.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está desactivado. Esto podría llevar a errores en algunas condiciones. Activa 'filelocking.enabled' en config.php para evitar estos problemas. Más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a>.", - "System locale can not be set to a one which supports UTF-8." : "No se puede escoger una configuración regional que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivo.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Es muy recomendable instalar los paquetes necesarios para poder soportar una de las siguientes configuraciones regionales: %s. ", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si su instalación no está ubicada en la raíz del dominio y usa el cron del sistema, puede haber problemas al generarse los URL. Para evitarlos, configure la opción \"overwrite.cli.url\" en su archivo config.php para que use la ruta de la raíz del sitio web de su instalación (sugerencia: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible lanzar la tarea cron mediante CLI. Los siguientes errores técnicos has aparecido:", - "Last background job execution ran %s. Something seems wrong." : "La última ejecución de la tarea en segundo plano tuvo lugar %s. Algo parece ir mal.", - "Check the background job settings" : "Comprueba la configuración del trabajo en segundo plano", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté correctamente configurado. Para ayudarte vamos a realizar algunas comprobaciones automáticas. Por favor, mira la documentación enalzada para más información.", "All checks passed." : "Ha pasado todos los controles", "There are some errors regarding your setup." : "Hay varios errores relativos a tu configuración.", "There are some warnings regarding your setup." : "Hay varios avisos relativos a tu configuración.", "Checking for system and security issues." : "Comprobando problemas del sistema y de seguridad.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor, vuelve a consultar la las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guías de instalación ↗</a> y buscar posibles errores o advertencias en el <a href=\"%s\">registro</a>.", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Comprueba la seguridad de tu Nextcloud mediante <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nuestro escaneo de seguridad ↗</a>.", "Version" : "Versión", "Background jobs" : "Trabajos en segundo plano", "Last job ran %s." : "El último trabajo se ejecutó %s.", @@ -152,17 +137,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar texto de renuncia de responsabilidad en la página de subida con el enlace público. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de subida de enlace público cuando la lista de archivos esté oculta.", "Default share permissions" : "Permisos para compartir por defecto", - "Tips & tricks" : "Sugerencias y trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Hay muchas características y cambios de configuración disponibles para personalizar y usar esta instancia. Aquí hay alugnas indicaciones para más información.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Se está usando actualmente SQLite como motor de base de datos. Para instalaciones más grandes recomendamos cambiar a un motor de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto está especialmente recomendado cuando se utiliza el cliente de escritorio para la sincronización de archivos.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de línea de comandos: 'occ db:convert-type o comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a>.", - "How to do backups" : "Cómo hacer copias de seguridad", - "Performance tuning" : "Ajuste de rendimiento", - "Improving the config.php" : "Mejorar el config.php", - "Theming" : "Personalizar el tema", - "Check the security of your Nextcloud over our security scan" : "Comprueba la seguridad de tu Nextcloud mediante nuestro escaneo de seguridad", - "Hardening and security guidance" : "Guía de protección y seguridad", "Personal" : "Perfil", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -387,10 +361,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y buen funcionamiento de tu instancia que todo esté configurado correctamente. Para ayudarte con esto, vamos a hacer algunas comprobaciones automáticas. Por favor, comprueba la sección 'Sugerencias y trucos' y la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP parece no estar configurado correctamente para consultar las variables de entorno del sistema. La prueba con getenv(\"PATH\") solo devuelve una respuesta vacía.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor, comprueba la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗ </a> para notas sobre configuración de php y la configuración de php en tu servidor, especialmente cuando se usa php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Se ha habilitado la configuración de sólo lectura. Esto evita tener que ajustar algunas configuraciones a través de la interfaz web. Además, el archivo debe hacerse modificable manualmente para cada actualización.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Aparentemente, PHP está configurado para eliminar los bloques inline de documentos. Esto hará inaccesibles muchas apps del núcleo.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Probablemente esto venga a causa de la caché o un acelerador, tales como Zend OPcache o eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Su base de datos no se ejecuta con el nivel de aislamiento de transacción \"READ COMMITTED\" . Ésto puede causar problemas cuando múltiples acciones se ejecutan en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s bajo la versión %2$s instalado. Por motivos de estabilidad y funcionamiento, recomendamos actualizar a una versión más moderna de %1$s.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Falta el módulo PHP 'fileinfo'. Recomendamos encarecidamente activar este módulo para conseguir los mejores resultados en la detección de tipos MIME.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo transaccional de archivos está desactivado. Esto puede provocar problemas en ciertas condiciones. Activa 'filelocking.enabled' en config.php para evitar estos problemas. Mira la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a> para más información.", + "System locale can not be set to a one which supports UTF-8." : "No se puede escoger una configuración regional que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que podría haber problemas con ciertos caracteres en los nombres de archivos.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomendamos encarecidamente instalar los paquetes requeridos en tu sistema para soportar una de las siguientes locales: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no está localizada en la raíz del dominio y usa el cron del sistema, puede haber problemas con la generación de URL. Para evitar estos problemas, por favor, activa la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta de la raíz web de tu instalación (sugerencia: \"%s\").", @@ -398,7 +376,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor, vuelve a consultar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación ↗</a> y busca posibles errores y advertencias en el <a href=\"%s\">registro</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en un servicio webcron para llamar a cron.php cada 15 minutos sobre http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para ejecutar esto, necesitas la extesión PHP posix. Ver la {linkstart}documentación de PHP{linkend} para más detalles.", + "Tips & tricks" : "Sugerencias y trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Hay muchas características y cambios de configuración disponibles para personalizar y usar esta instancia. Aquí hay alugnas indicaciones para más información.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Se está usando actualmente SQLite como motor de base de datos. Para instalaciones más grandes recomendamos cambiar a un motor de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto está especialmente recomendado cuando se utiliza el cliente de escritorio para la sincronización de archivos.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de línea de comandos: ''occ db:convert-type', o mira la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>.", + "How to do backups" : "Cómo hacer copias de seguridad", + "Performance tuning" : "Ajuste de rendimiento", + "Improving the config.php" : "Mejorar el config.php", + "Theming" : "Personalizar el tema", + "Check the security of your Nextcloud over our security scan" : "Comprueba la seguridad de tu Nextcloud mediante nuestro escaneo de seguridad", + "Hardening and security guidance" : "Guía de protección y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Límite para grupos", "This app has an update available." : "Está app tiene una actualización pendiente.", @@ -451,6 +439,18 @@ "Updating …" : "Actualizando...", "Could not update app" : "No se ha podido actualizar la app", "Could not remove app" : "No se ha podido eliminar la app", - "{size} used" : "{size} usados" + "{size} used" : "{size} usados", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante para la seguridad y rendimiento de tu instalación que todo esté configurado correctamente. Para ayudarte con ello estamos realizando algunas comprobaciones automáticas. Por favor, ve la sección Consejos y trucos y la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP parece que no está configurado correctamente para solicitar las variables de entorno del sistema. La prueba con getenv(\"PATH\") sólo devuelve una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, revisa la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación d einstalación ↗</a> para notas sobre la configuración de PHP en tu servidor, especialmente al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está aparentemente configurado para quitar bloques de documento —'strip inline doc blocks'—. Esto hará que varias aplicaciones principales estén inaccesibles.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$sestá instalado por debajo de la versión %2$s, por motivos de estabilidad y rendimiento se recomienda actualizar a una versión más moderna de %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Falta el módulo PHP 'fileinfo'. Es muy recomendable activar este módulo para conseguir mejores resultados en la detección de los tipos MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está desactivado. Esto podría llevar a errores en algunas condiciones. Activa 'filelocking.enabled' en config.php para evitar estos problemas. Más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a>.", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivo.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Es muy recomendable instalar los paquetes necesarios para poder soportar una de las siguientes configuraciones regionales: %s. ", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si su instalación no está ubicada en la raíz del dominio y usa el cron del sistema, puede haber problemas al generarse los URL. Para evitarlos, configure la opción \"overwrite.cli.url\" en su archivo config.php para que use la ruta de la raíz del sitio web de su instalación (sugerencia: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible lanzar la tarea cron mediante CLI. Los siguientes errores técnicos has aparecido:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de línea de comandos: 'occ db:convert-type o comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_419.js b/settings/l10n/es_419.js index 96852b9ebf7..d92ff267be9 100644 --- a/settings/l10n/es_419.js +++ b/settings/l10n/es_419.js @@ -76,21 +76,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -123,17 +108,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -344,6 +318,20 @@ OC.L10N.register( "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -377,6 +365,18 @@ OC.L10N.register( "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_419.json b/settings/l10n/es_419.json index 1fe1190a32b..9d1e21598d8 100644 --- a/settings/l10n/es_419.json +++ b/settings/l10n/es_419.json @@ -74,21 +74,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -121,17 +106,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -342,6 +316,20 @@ "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -375,6 +363,18 @@ "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_AR.js b/settings/l10n/es_AR.js index 073d759291e..50d1ebf8263 100644 --- a/settings/l10n/es_AR.js +++ b/settings/l10n/es_AR.js @@ -74,10 +74,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Usted necesita migar sus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Comenzar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezcan tener permisos de escritura manualemente en cada actualización. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Su base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "All checks passed." : "Pasaron todas las verificaciones. ", "Version" : "Versión", "Background jobs" : "Trabajos en segundo plano", @@ -106,16 +102,6 @@ OC.L10N.register( "These groups will still be able to receive shares, but not to initiate them." : "Estos grupos áun podrán recibir elementos compartidos, pero no los podrán iniciar.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de links públicos. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de el link público cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera optima esta instancia. Aqui hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente está usando SQLite como el backend de base de datos. Para instalaciones más grandes le recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifique la seguridad de su Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Profile picture" : "Foto de perfil", "Upload new" : "Cargar nuevo", "Select from Files" : "Seleccionar desde Archivos", @@ -316,6 +302,20 @@ OC.L10N.register( "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezcan tener permisos de escritura manualemente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Su base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera optima esta instancia. Aqui hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente está usando SQLite como el backend de base de datos. Para instalaciones más grandes le recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifique la seguridad de su Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", diff --git a/settings/l10n/es_AR.json b/settings/l10n/es_AR.json index 3f2c2e51913..ad43e59bcfa 100644 --- a/settings/l10n/es_AR.json +++ b/settings/l10n/es_AR.json @@ -72,10 +72,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Usted necesita migar sus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Comenzar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezcan tener permisos de escritura manualemente en cada actualización. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Su base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "All checks passed." : "Pasaron todas las verificaciones. ", "Version" : "Versión", "Background jobs" : "Trabajos en segundo plano", @@ -104,16 +100,6 @@ "These groups will still be able to receive shares, but not to initiate them." : "Estos grupos áun podrán recibir elementos compartidos, pero no los podrán iniciar.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de links públicos. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de el link público cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera optima esta instancia. Aqui hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente está usando SQLite como el backend de base de datos. Para instalaciones más grandes le recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifique la seguridad de su Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Profile picture" : "Foto de perfil", "Upload new" : "Cargar nuevo", "Select from Files" : "Seleccionar desde Archivos", @@ -314,6 +300,20 @@ "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezcan tener permisos de escritura manualemente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Su base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera optima esta instancia. Aqui hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente está usando SQLite como el backend de base de datos. Para instalaciones más grandes le recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifique la seguridad de su Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", diff --git a/settings/l10n/es_CL.js b/settings/l10n/es_CL.js index 4cf5d160793..c8b73309d34 100644 --- a/settings/l10n/es_CL.js +++ b/settings/l10n/es_CL.js @@ -78,23 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -128,17 +111,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -363,10 +335,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -374,7 +350,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -427,6 +413,18 @@ OC.L10N.register( "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_CL.json b/settings/l10n/es_CL.json index 177148735b6..f7e24b67de2 100644 --- a/settings/l10n/es_CL.json +++ b/settings/l10n/es_CL.json @@ -76,23 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -126,17 +109,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -361,10 +333,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -372,7 +348,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -425,6 +411,18 @@ "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_CO.js b/settings/l10n/es_CO.js index 4cf5d160793..c8b73309d34 100644 --- a/settings/l10n/es_CO.js +++ b/settings/l10n/es_CO.js @@ -78,23 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -128,17 +111,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -363,10 +335,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -374,7 +350,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -427,6 +413,18 @@ OC.L10N.register( "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_CO.json b/settings/l10n/es_CO.json index 177148735b6..f7e24b67de2 100644 --- a/settings/l10n/es_CO.json +++ b/settings/l10n/es_CO.json @@ -76,23 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -126,17 +109,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -361,10 +333,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -372,7 +348,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -425,6 +411,18 @@ "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_CR.js b/settings/l10n/es_CR.js index 4cf5d160793..c8b73309d34 100644 --- a/settings/l10n/es_CR.js +++ b/settings/l10n/es_CR.js @@ -78,23 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -128,17 +111,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -363,10 +335,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -374,7 +350,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -427,6 +413,18 @@ OC.L10N.register( "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_CR.json b/settings/l10n/es_CR.json index 177148735b6..f7e24b67de2 100644 --- a/settings/l10n/es_CR.json +++ b/settings/l10n/es_CR.json @@ -76,23 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -126,17 +109,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -361,10 +333,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -372,7 +348,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -425,6 +411,18 @@ "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_DO.js b/settings/l10n/es_DO.js index 4cf5d160793..c8b73309d34 100644 --- a/settings/l10n/es_DO.js +++ b/settings/l10n/es_DO.js @@ -78,23 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -128,17 +111,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -363,10 +335,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -374,7 +350,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -427,6 +413,18 @@ OC.L10N.register( "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_DO.json b/settings/l10n/es_DO.json index 177148735b6..f7e24b67de2 100644 --- a/settings/l10n/es_DO.json +++ b/settings/l10n/es_DO.json @@ -76,23 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -126,17 +109,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -361,10 +333,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -372,7 +348,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -425,6 +411,18 @@ "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_EC.js b/settings/l10n/es_EC.js index 4cf5d160793..c8b73309d34 100644 --- a/settings/l10n/es_EC.js +++ b/settings/l10n/es_EC.js @@ -78,23 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -128,17 +111,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -363,10 +335,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -374,7 +350,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -427,6 +413,18 @@ OC.L10N.register( "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_EC.json b/settings/l10n/es_EC.json index 177148735b6..f7e24b67de2 100644 --- a/settings/l10n/es_EC.json +++ b/settings/l10n/es_EC.json @@ -76,23 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -126,17 +109,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -361,10 +333,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -372,7 +348,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -425,6 +411,18 @@ "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_GT.js b/settings/l10n/es_GT.js index 4cf5d160793..c8b73309d34 100644 --- a/settings/l10n/es_GT.js +++ b/settings/l10n/es_GT.js @@ -78,23 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -128,17 +111,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -363,10 +335,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -374,7 +350,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -427,6 +413,18 @@ OC.L10N.register( "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_GT.json b/settings/l10n/es_GT.json index 177148735b6..f7e24b67de2 100644 --- a/settings/l10n/es_GT.json +++ b/settings/l10n/es_GT.json @@ -76,23 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -126,17 +109,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -361,10 +333,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -372,7 +348,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -425,6 +411,18 @@ "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_HN.js b/settings/l10n/es_HN.js index c726b4226c2..868b0715ed3 100644 --- a/settings/l10n/es_HN.js +++ b/settings/l10n/es_HN.js @@ -76,21 +76,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -123,17 +108,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -344,6 +318,20 @@ OC.L10N.register( "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -377,6 +365,18 @@ OC.L10N.register( "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_HN.json b/settings/l10n/es_HN.json index e2aa687c15c..5b1bb642a5c 100644 --- a/settings/l10n/es_HN.json +++ b/settings/l10n/es_HN.json @@ -74,21 +74,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -121,17 +106,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -342,6 +316,20 @@ "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -375,6 +363,18 @@ "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_MX.js b/settings/l10n/es_MX.js index 9d480c81d84..3e9b6287239 100644 --- a/settings/l10n/es_MX.js +++ b/settings/l10n/es_MX.js @@ -97,23 +97,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -147,17 +130,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -382,10 +354,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -393,7 +369,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -446,6 +432,18 @@ OC.L10N.register( "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_MX.json b/settings/l10n/es_MX.json index 0d06acfebe2..1d94889f530 100644 --- a/settings/l10n/es_MX.json +++ b/settings/l10n/es_MX.json @@ -95,23 +95,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -145,17 +128,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -380,10 +352,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -391,7 +367,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -444,6 +430,18 @@ "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_NI.js b/settings/l10n/es_NI.js index c726b4226c2..868b0715ed3 100644 --- a/settings/l10n/es_NI.js +++ b/settings/l10n/es_NI.js @@ -76,21 +76,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -123,17 +108,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -344,6 +318,20 @@ OC.L10N.register( "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -377,6 +365,18 @@ OC.L10N.register( "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_NI.json b/settings/l10n/es_NI.json index e2aa687c15c..5b1bb642a5c 100644 --- a/settings/l10n/es_NI.json +++ b/settings/l10n/es_NI.json @@ -74,21 +74,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -121,17 +106,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -342,6 +316,20 @@ "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -375,6 +363,18 @@ "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_PA.js b/settings/l10n/es_PA.js index c726b4226c2..868b0715ed3 100644 --- a/settings/l10n/es_PA.js +++ b/settings/l10n/es_PA.js @@ -76,21 +76,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -123,17 +108,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -344,6 +318,20 @@ OC.L10N.register( "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -377,6 +365,18 @@ OC.L10N.register( "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_PA.json b/settings/l10n/es_PA.json index e2aa687c15c..5b1bb642a5c 100644 --- a/settings/l10n/es_PA.json +++ b/settings/l10n/es_PA.json @@ -74,21 +74,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -121,17 +106,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -342,6 +316,20 @@ "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -375,6 +363,18 @@ "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_PE.js b/settings/l10n/es_PE.js index c726b4226c2..868b0715ed3 100644 --- a/settings/l10n/es_PE.js +++ b/settings/l10n/es_PE.js @@ -76,21 +76,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -123,17 +108,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -344,6 +318,20 @@ OC.L10N.register( "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -377,6 +365,18 @@ OC.L10N.register( "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_PE.json b/settings/l10n/es_PE.json index e2aa687c15c..5b1bb642a5c 100644 --- a/settings/l10n/es_PE.json +++ b/settings/l10n/es_PE.json @@ -74,21 +74,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -121,17 +106,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -342,6 +316,20 @@ "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -375,6 +363,18 @@ "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_PR.js b/settings/l10n/es_PR.js index c726b4226c2..868b0715ed3 100644 --- a/settings/l10n/es_PR.js +++ b/settings/l10n/es_PR.js @@ -76,21 +76,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -123,17 +108,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -344,6 +318,20 @@ OC.L10N.register( "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -377,6 +365,18 @@ OC.L10N.register( "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_PR.json b/settings/l10n/es_PR.json index e2aa687c15c..5b1bb642a5c 100644 --- a/settings/l10n/es_PR.json +++ b/settings/l10n/es_PR.json @@ -74,21 +74,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -121,17 +106,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -342,6 +316,20 @@ "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -375,6 +363,18 @@ "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_PY.js b/settings/l10n/es_PY.js index c726b4226c2..868b0715ed3 100644 --- a/settings/l10n/es_PY.js +++ b/settings/l10n/es_PY.js @@ -76,21 +76,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -123,17 +108,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -344,6 +318,20 @@ OC.L10N.register( "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -377,6 +365,18 @@ OC.L10N.register( "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_PY.json b/settings/l10n/es_PY.json index e2aa687c15c..5b1bb642a5c 100644 --- a/settings/l10n/es_PY.json +++ b/settings/l10n/es_PY.json @@ -74,21 +74,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -121,17 +106,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -342,6 +316,20 @@ "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -375,6 +363,18 @@ "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_SV.js b/settings/l10n/es_SV.js index 4cf5d160793..c8b73309d34 100644 --- a/settings/l10n/es_SV.js +++ b/settings/l10n/es_SV.js @@ -78,23 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -128,17 +111,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -363,10 +335,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -374,7 +350,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -427,6 +413,18 @@ OC.L10N.register( "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_SV.json b/settings/l10n/es_SV.json index 177148735b6..f7e24b67de2 100644 --- a/settings/l10n/es_SV.json +++ b/settings/l10n/es_SV.json @@ -76,23 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", - "Last background job execution ran %s. Something seems wrong." : "El último trabajo de fondo corrió %s. Parece que algo está mal.", - "Check the background job settings" : "Verifica la configuración de los trabajos de fondo", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -126,17 +109,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", "Default share permissions" : "Permisos predeterminados para compartir", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -361,10 +333,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Es importante para la seguridad y desempeño de tu instancia que todo esté configurado correctamente. Para ayudarte con estamos haciendo algunas verificaciones automáticas. Por favor consulta la sección de Consejos & Trucos de la documentación para más información.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Al parecer php no está correctamente configurado para consultar las variables de ambiente. La prueba con getenv(\"PATH\") solo está regresando una respuesta vacía. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación de instalación ↗</a> para las notas de configuración de php y la configuración en tu servidor, específicamente al usar php-fpm. ", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques de comentarios internos. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s mas reciente. ", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Te recomendamos ámpliamente que habilites este módulo para obtener los mejores resultados en la detección de tipos MIME. ", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional se encuentra deshabilitado, esto puede generar temas bajo ciertas condiciones. Habilita 'filelocking.enabled' en el archivo config.php para evitar problemas. Por favor consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatcón ↗</a> para más información. ", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede que haya problemas con ciertos caracteres en los nombres de los archivos. ", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Te sugerimos ámpliamente instalar en tu sistema los paquetes requeridos para soportar alguno de los siguientes locales:%s. ", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalacion no fue hecha en la raíz del dominio y usa el cron del sistema, pueden presentarse temas con la generación de URLs. Para evitar estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere : \"%s\") ", @@ -372,7 +348,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor vuelve a verificar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y comprueba que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>. ", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de http. ", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión posix de PHP. Por favor consulta la {linkstart}documentación de PHP{linkend} para más detalles. ", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de la línea de comando 'occ db:convert-type', o consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -425,6 +411,18 @@ "Updating …" : "Actualizando ...", "Could not update app" : "No fue posible actualizar la aplicación", "Could not remove app" : "No fue posible eliminar la aplicación", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/es_UY.js b/settings/l10n/es_UY.js index c726b4226c2..868b0715ed3 100644 --- a/settings/l10n/es_UY.js +++ b/settings/l10n/es_UY.js @@ -76,21 +76,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -123,17 +108,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -344,6 +318,20 @@ OC.L10N.register( "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -377,6 +365,18 @@ OC.L10N.register( "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es_UY.json b/settings/l10n/es_UY.json index e2aa687c15c..5b1bb642a5c 100644 --- a/settings/l10n/es_UY.json +++ b/settings/l10n/es_UY.json @@ -74,21 +74,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ", "Start migration" : "Iniciar migración", "Security & setup warnings" : "Advertencias de seguridad y configuración", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", - "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", "All checks passed." : "Pasaron todas las verificaciones. ", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifica las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalación ↗</a>, y valida si hay algún error o advertencia en la <a href=\"%s\">bitácora</a>.", "Version" : "Versión", @@ -121,17 +106,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permitir el autocompletado de usuarios en la ventana de diálogo de compartir. Si esto está deshabilitado, se deberá ingresar el correo electrónico o nombre completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar el texto de exención de responsabilidad legal en la página de carga de ligas públicas. (Sólo se muestra cuando la lista de archivos está oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de carga de la liga pública cuando la lista de archivos esté oculta. ", - "Tips & tricks" : "Consejos & trucos", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>.", - "How to do backups" : "Cómo hacer respaldos", - "Performance tuning" : "Optimización de rendimiento", - "Improving the config.php" : "Mejorando la config.php", - "Theming" : "Tematizar", - "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", - "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "Personal" : "Personal", "Administration" : "Administración", "Profile picture" : "Foto de perfil", @@ -342,6 +316,20 @@ "Error creating user: {message}" : "Se presentó un error al crear el usuario: {message}", "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "A valid email must be provided" : "Se debe proporcionar un correo electrónico válido", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuración de Sólo Lectura ha sido habilitada. Esto previene establecer algunas configuraciones mediante la interface web. Adicionalmente, el archivo necesita que se le establezca tener permisos de escritura manualmente en cada actualización. ", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Esto es posiblemente causado por un caché/acelerador tal como Zend OPcache o eAccelerator. ", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Tu base de datos no puede correr con el nivel de aislamiento de transacción de \"READ COMMITTED\". Puede causar problemas cuando mútiples acciones sean ejecutadas en paralelo.", + "System locale can not be set to a one which supports UTF-8." : "No es posible establecer la regionalización del sistema a una que soporte UTF-8.", + "Tips & tricks" : "Consejos & trucos", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existen muchas funcionalidades y configuraciones disponibles para personalizar y usar de manera óptima esta instancia. Aquí hay algunos consejos para más información. ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente estás usando SQLite como el backend de base de datos. Para instalaciones más grandes te recomendamos cambiar a un backend de base de datos diferente.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Esto es particularmente recomendado cuando se usa el cliente de escritorio para sincronización de archivos. ", + "How to do backups" : "Cómo hacer respaldos", + "Performance tuning" : "Optimización de rendimiento", + "Improving the config.php" : "Mejorando la config.php", + "Theming" : "Tematizar", + "Check the security of your Nextcloud over our security scan" : "Verifica la seguridad de tu Nextcloud con nuestro escaneo de seguridad", + "Hardening and security guidance" : "Consejos de reforzamiento y seguridad", "View in store" : "Ver en la tienda", "Limit to groups" : "Limitar a grupos", "This app has an update available." : "Esta aplicación tiene una actualización disponible.", @@ -375,6 +363,18 @@ "set new password" : "establecer nueva contraseña", "change email address" : "cambiar la dirección de correo electrónico", "Default" : "Predeterminado", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Es importante que todo esté configurado correctamente por la seguridad y desempeño de tu instancia. Para ayudarte con esto, estamos haciendo unas validaciones automáticas. Por favor ve la sección de Consejos y Trucos así como la documentación para más información.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no parece estar configurado correctamente para consultar las variables de ambiente. La prueba con getenv(\"PATH\") sólo regresa una respuesta vacía.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor verifica la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación de instalación ↗</a> para notas de configuración de PHP y la configuración de tu servidor de PHP, especialmete al usar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Al parecer PHP está configurado para quitar los bloques internos de documentación. Esto hará que varias aplicaciones principales sean inaccesibles. ", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s con versión inferior a %2$s está instalado, por razones de estabilidad y desempeño te recomendamos actualizar a una versión de %1$s más reciente. ", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Recomendamos ámpliamente que se habilite este módulo para obtener los mejores resultados en la detección de tipos MIME", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está deshabilitado. Esto puede generar problemas con condiciones extremas. Habilita 'filelocking.enabled' en el archivo config.php para evitar estos problemas. Consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a> para más información. ", + "This means that there might be problems with certain characters in filenames." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Se recomienda ámpliamente instalar los paquetes requeridos en tu sistema para soportar alguna de las siguientes regionalizaciones: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no se hizo en la raíz del dominio y usa el sistema Cron, puede haber temas con la generación de la URL. Para prevenir estos problemas, por favor establece la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta del webroot de tu instalación (Se sugiere: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible ejecutar el trabajo de cron via CLI. Se presentaron los siguientes errores técnicos:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos usa la herramienta de línea de comandos; 'occ db:convert-type', o bien consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗ </a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/et_EE.js b/settings/l10n/et_EE.js index ae88d717cd8..b60b753a119 100644 --- a/settings/l10n/et_EE.js +++ b/settings/l10n/et_EE.js @@ -58,8 +58,6 @@ OC.L10N.register( "Select default encryption module:" : "Määra vaikimisi krüpteerimise moodul:", "Start migration" : "Alusta kolimist", "Security & setup warnings" : "Turva- ja paigalduse hoiatused", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "See on tõenäoliselt põhjustatud puhver/kiirendist nagu Zend OPcache või eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Süsteemi lokaliseeringuks ei saa panna sellist, mis toetab UTF-8-t.", "All checks passed." : "Kõik kontrollid on läbitud.", "Version" : "Versioon", "Execute one task with each page loaded" : "Käivita toiming igal lehe laadimisel", @@ -85,11 +83,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Luba kasutajanime automaatne lõpetamine jagamisdialoogis. Kui see on keelatud, tuleb sisestada täielik kasutajanimi või e-posti aadress.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Kuva avaliku lingiga üleslaadimise lehel lahtiütluste tekst. (Kuvatakse ainult siis, kui failide loend on peidetud.)", "This text will be shown on the public link upload page when the file list is hidden." : "Seda teksti näidatakse avaliku lingiga üleslaadimise lehel kui failide loend on peidetud.", - "Tips & tricks" : "Nõuanded ja trikid", - "How to do backups" : "Kuidas teha varukoopiaid", - "Performance tuning" : "Kiiruse seadistamine", - "Improving the config.php" : "config.php faili täiendamine", - "Theming" : "Teemad", "Personal" : "Isiklik", "Administration" : "Haldus", "Profile picture" : "Profiili pilt", @@ -258,6 +251,13 @@ OC.L10N.register( "Error creating user: {message}" : "Kasutaja loomine ebaõnnestus: {message}", "A valid password must be provided" : "Sisesta nõuetele vastav parool", "A valid email must be provided" : "Sisesta kehtiv e-posti aadress", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "See on tõenäoliselt põhjustatud puhver/kiirendist nagu Zend OPcache või eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Süsteemi lokaliseeringuks ei saa panna sellist, mis toetab UTF-8-t.", + "Tips & tricks" : "Nõuanded ja trikid", + "How to do backups" : "Kuidas teha varukoopiaid", + "Performance tuning" : "Kiiruse seadistamine", + "Improving the config.php" : "config.php faili täiendamine", + "Theming" : "Teemad", "Limit to groups" : "Luba gruppidele", "This app has an update available." : "Sellel rakendusel on uuendus saadaval", "Documentation:" : "Dokumentatsioon:", diff --git a/settings/l10n/et_EE.json b/settings/l10n/et_EE.json index b825d1b57a7..6fa9c7466ed 100644 --- a/settings/l10n/et_EE.json +++ b/settings/l10n/et_EE.json @@ -56,8 +56,6 @@ "Select default encryption module:" : "Määra vaikimisi krüpteerimise moodul:", "Start migration" : "Alusta kolimist", "Security & setup warnings" : "Turva- ja paigalduse hoiatused", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "See on tõenäoliselt põhjustatud puhver/kiirendist nagu Zend OPcache või eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Süsteemi lokaliseeringuks ei saa panna sellist, mis toetab UTF-8-t.", "All checks passed." : "Kõik kontrollid on läbitud.", "Version" : "Versioon", "Execute one task with each page loaded" : "Käivita toiming igal lehe laadimisel", @@ -83,11 +81,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Luba kasutajanime automaatne lõpetamine jagamisdialoogis. Kui see on keelatud, tuleb sisestada täielik kasutajanimi või e-posti aadress.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Kuva avaliku lingiga üleslaadimise lehel lahtiütluste tekst. (Kuvatakse ainult siis, kui failide loend on peidetud.)", "This text will be shown on the public link upload page when the file list is hidden." : "Seda teksti näidatakse avaliku lingiga üleslaadimise lehel kui failide loend on peidetud.", - "Tips & tricks" : "Nõuanded ja trikid", - "How to do backups" : "Kuidas teha varukoopiaid", - "Performance tuning" : "Kiiruse seadistamine", - "Improving the config.php" : "config.php faili täiendamine", - "Theming" : "Teemad", "Personal" : "Isiklik", "Administration" : "Haldus", "Profile picture" : "Profiili pilt", @@ -256,6 +249,13 @@ "Error creating user: {message}" : "Kasutaja loomine ebaõnnestus: {message}", "A valid password must be provided" : "Sisesta nõuetele vastav parool", "A valid email must be provided" : "Sisesta kehtiv e-posti aadress", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "See on tõenäoliselt põhjustatud puhver/kiirendist nagu Zend OPcache või eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Süsteemi lokaliseeringuks ei saa panna sellist, mis toetab UTF-8-t.", + "Tips & tricks" : "Nõuanded ja trikid", + "How to do backups" : "Kuidas teha varukoopiaid", + "Performance tuning" : "Kiiruse seadistamine", + "Improving the config.php" : "config.php faili täiendamine", + "Theming" : "Teemad", "Limit to groups" : "Luba gruppidele", "This app has an update available." : "Sellel rakendusel on uuendus saadaval", "Documentation:" : "Dokumentatsioon:", diff --git a/settings/l10n/eu.js b/settings/l10n/eu.js index d2e720f7612..11df2f732a7 100644 --- a/settings/l10n/eu.js +++ b/settings/l10n/eu.js @@ -76,17 +76,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Enkriptazio gakoak sistema zaharretik (ownCloud <=8.0) berrira migratu behar duzu", "Start migration" : "Migrazioa hasi", "Security & setup warnings" : "Segurtasun eta konfigurazio abisuak", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Zure instantzia ondo konfiguratzea garrantzitsua da segurasun eta errendimendurako. Honekin laguntzeko test automatiko batzuk garatzen ari gara. Dokumentazioaren Tips & Tricks atala ikusi informazio gehiagorako. ", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : " Sistemako ingurune aldagaiak atzitzeko PHP ez dago ondo konfiguratua. getenv(\"PATH\") testeatzean erantzun hutsa jasotzen da. ", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Bakarrik irakurtzeko konfigurazioa gaitu da. Honek web-interfazearen bidez konfigurazio batzuk aldatzea ekiditzen du. Are gehiago, fitxategia eskuz ezarri behar da idazteko moduan eguneraketa bakoitzerako.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP lerro bakarreko blokeak mozteko konfiguratua dagoela dirudi. Oinarrizko app batzuk eskuraezin bihurtuko dira.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hau ziur aski cache/accelerator batek eragin du, hala nola Zend OPcache edo eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Zure datubaseak ez du \"READ COMMITTED\" transakzio isolamendu mailarik. Honek arazoak sor dezake paraleloki ekintza asko exekutatzen badira. ", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$aren %2 bertsio zaharkitua instalatua dago, egonkortasun eta errendimendu arrazoiak medio, %1 bertsiora eguneratzea gomendatzen da.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "'fileinfo' PHP modulua falta da. Modulu hau gaitzea bereziki gomendatzen da, MIME moten detekzioan emaitzarik hoberenak edukitzeko.", - "System locale can not be set to a one which supports UTF-8." : "Eskualdeko ezarpena ezin da UTF-8 onartzen duen batera ezarri.", - "This means that there might be problems with certain characters in filenames." : "Honek fitxategi izenen karaktere batzuekin arazoak egon daitezkeela esan nahi du. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Ondoko lokalizazioentzako euskarria izateko, zure sisteman beharrezko paketeak instalatzea bereziki gomendatzen da: %s.", "All checks passed." : "Egiaztapen guztiak gaindituta.", "Version" : "Bertsioa", "Background jobs" : "Atzeko planoko lanak", @@ -114,12 +103,6 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "Mugatu partekatzeak taldeko erabiltzaileetara", "Exclude groups from sharing" : "Baztertu taldeak partekatzean", "These groups will still be able to receive shares, but not to initiate them." : "Talde hauek oraindik jaso ahal izango dute partekatzeak, baina ezingo dute partekatu", - "Tips & tricks" : "Aholkuak eta trikimailuak", - "How to do backups" : "Nola egin babes kopiak", - "Performance tuning" : "Errendimendu ezarpenak", - "Improving the config.php" : "config.php hobetzen", - "Theming" : "Itxura", - "Hardening and security guidance" : "Gogortze eta segurtasun gida", "Personal" : "Pertsonala", "Administration" : "Administrazioa", "Profile picture" : "Zure irudia", @@ -328,6 +311,16 @@ OC.L10N.register( "Error creating user: {message}" : "Akatsa erabiltzailea sortzerakoan: {message}", "A valid password must be provided" : "Baliozko pasahitza eman behar da", "A valid email must be provided" : "Baliozko posta elektronikoa eman behar da", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Bakarrik irakurtzeko konfigurazioa gaitu da. Honek web-interfazearen bidez konfigurazio batzuk aldatzea ekiditzen du. Are gehiago, fitxategia eskuz ezarri behar da idazteko moduan eguneraketa bakoitzerako.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hau ziur aski cache/accelerator batek eragin du, hala nola Zend OPcache edo eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Zure datubaseak ez du \"READ COMMITTED\" transakzio isolamendu mailarik. Honek arazoak sor dezake paraleloki ekintza asko exekutatzen badira. ", + "System locale can not be set to a one which supports UTF-8." : "Eskualdeko ezarpena ezin da UTF-8 onartzen duen batera ezarri.", + "Tips & tricks" : "Aholkuak eta trikimailuak", + "How to do backups" : "Nola egin babes kopiak", + "Performance tuning" : "Errendimendu ezarpenak", + "Improving the config.php" : "config.php hobetzen", + "Theming" : "Itxura", + "Hardening and security guidance" : "Gogortze eta segurtasun gida", "View in store" : "Dendan ikusi", "Limit to groups" : "Taldeetara mugatu", "This app has an update available." : "Aplikazio honek eguneraketa bat eskuragarri ditu.", @@ -359,6 +352,13 @@ OC.L10N.register( "set new password" : "ezarri pasahitz berria", "change email address" : "aldatu eposta helbidea", "Default" : "Lehenetsia", - "{size} used" : "{size} erabilita" + "{size} used" : "{size} erabilita", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Zure instantzia ondo konfiguratzea garrantzitsua da segurasun eta errendimendurako. Honekin laguntzeko test automatiko batzuk garatzen ari gara. Dokumentazioaren Tips & Tricks atala ikusi informazio gehiagorako. ", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : " Sistemako ingurune aldagaiak atzitzeko PHP ez dago ondo konfiguratua. getenv(\"PATH\") testeatzean erantzun hutsa jasotzen da. ", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP lerro bakarreko blokeak mozteko konfiguratua dagoela dirudi. Oinarrizko app batzuk eskuraezin bihurtuko dira.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$aren %2 bertsio zaharkitua instalatua dago, egonkortasun eta errendimendu arrazoiak medio, %1 bertsiora eguneratzea gomendatzen da.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "'fileinfo' PHP modulua falta da. Modulu hau gaitzea bereziki gomendatzen da, MIME moten detekzioan emaitzarik hoberenak edukitzeko.", + "This means that there might be problems with certain characters in filenames." : "Honek fitxategi izenen karaktere batzuekin arazoak egon daitezkeela esan nahi du. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Ondoko lokalizazioentzako euskarria izateko, zure sisteman beharrezko paketeak instalatzea bereziki gomendatzen da: %s." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/eu.json b/settings/l10n/eu.json index 68bf4336da9..42422da99ed 100644 --- a/settings/l10n/eu.json +++ b/settings/l10n/eu.json @@ -74,17 +74,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Enkriptazio gakoak sistema zaharretik (ownCloud <=8.0) berrira migratu behar duzu", "Start migration" : "Migrazioa hasi", "Security & setup warnings" : "Segurtasun eta konfigurazio abisuak", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Zure instantzia ondo konfiguratzea garrantzitsua da segurasun eta errendimendurako. Honekin laguntzeko test automatiko batzuk garatzen ari gara. Dokumentazioaren Tips & Tricks atala ikusi informazio gehiagorako. ", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : " Sistemako ingurune aldagaiak atzitzeko PHP ez dago ondo konfiguratua. getenv(\"PATH\") testeatzean erantzun hutsa jasotzen da. ", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Bakarrik irakurtzeko konfigurazioa gaitu da. Honek web-interfazearen bidez konfigurazio batzuk aldatzea ekiditzen du. Are gehiago, fitxategia eskuz ezarri behar da idazteko moduan eguneraketa bakoitzerako.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP lerro bakarreko blokeak mozteko konfiguratua dagoela dirudi. Oinarrizko app batzuk eskuraezin bihurtuko dira.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hau ziur aski cache/accelerator batek eragin du, hala nola Zend OPcache edo eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Zure datubaseak ez du \"READ COMMITTED\" transakzio isolamendu mailarik. Honek arazoak sor dezake paraleloki ekintza asko exekutatzen badira. ", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$aren %2 bertsio zaharkitua instalatua dago, egonkortasun eta errendimendu arrazoiak medio, %1 bertsiora eguneratzea gomendatzen da.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "'fileinfo' PHP modulua falta da. Modulu hau gaitzea bereziki gomendatzen da, MIME moten detekzioan emaitzarik hoberenak edukitzeko.", - "System locale can not be set to a one which supports UTF-8." : "Eskualdeko ezarpena ezin da UTF-8 onartzen duen batera ezarri.", - "This means that there might be problems with certain characters in filenames." : "Honek fitxategi izenen karaktere batzuekin arazoak egon daitezkeela esan nahi du. ", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Ondoko lokalizazioentzako euskarria izateko, zure sisteman beharrezko paketeak instalatzea bereziki gomendatzen da: %s.", "All checks passed." : "Egiaztapen guztiak gaindituta.", "Version" : "Bertsioa", "Background jobs" : "Atzeko planoko lanak", @@ -112,12 +101,6 @@ "Restrict users to only share with users in their groups" : "Mugatu partekatzeak taldeko erabiltzaileetara", "Exclude groups from sharing" : "Baztertu taldeak partekatzean", "These groups will still be able to receive shares, but not to initiate them." : "Talde hauek oraindik jaso ahal izango dute partekatzeak, baina ezingo dute partekatu", - "Tips & tricks" : "Aholkuak eta trikimailuak", - "How to do backups" : "Nola egin babes kopiak", - "Performance tuning" : "Errendimendu ezarpenak", - "Improving the config.php" : "config.php hobetzen", - "Theming" : "Itxura", - "Hardening and security guidance" : "Gogortze eta segurtasun gida", "Personal" : "Pertsonala", "Administration" : "Administrazioa", "Profile picture" : "Zure irudia", @@ -326,6 +309,16 @@ "Error creating user: {message}" : "Akatsa erabiltzailea sortzerakoan: {message}", "A valid password must be provided" : "Baliozko pasahitza eman behar da", "A valid email must be provided" : "Baliozko posta elektronikoa eman behar da", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Bakarrik irakurtzeko konfigurazioa gaitu da. Honek web-interfazearen bidez konfigurazio batzuk aldatzea ekiditzen du. Are gehiago, fitxategia eskuz ezarri behar da idazteko moduan eguneraketa bakoitzerako.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hau ziur aski cache/accelerator batek eragin du, hala nola Zend OPcache edo eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Zure datubaseak ez du \"READ COMMITTED\" transakzio isolamendu mailarik. Honek arazoak sor dezake paraleloki ekintza asko exekutatzen badira. ", + "System locale can not be set to a one which supports UTF-8." : "Eskualdeko ezarpena ezin da UTF-8 onartzen duen batera ezarri.", + "Tips & tricks" : "Aholkuak eta trikimailuak", + "How to do backups" : "Nola egin babes kopiak", + "Performance tuning" : "Errendimendu ezarpenak", + "Improving the config.php" : "config.php hobetzen", + "Theming" : "Itxura", + "Hardening and security guidance" : "Gogortze eta segurtasun gida", "View in store" : "Dendan ikusi", "Limit to groups" : "Taldeetara mugatu", "This app has an update available." : "Aplikazio honek eguneraketa bat eskuragarri ditu.", @@ -357,6 +350,13 @@ "set new password" : "ezarri pasahitz berria", "change email address" : "aldatu eposta helbidea", "Default" : "Lehenetsia", - "{size} used" : "{size} erabilita" + "{size} used" : "{size} erabilita", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Zure instantzia ondo konfiguratzea garrantzitsua da segurasun eta errendimendurako. Honekin laguntzeko test automatiko batzuk garatzen ari gara. Dokumentazioaren Tips & Tricks atala ikusi informazio gehiagorako. ", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : " Sistemako ingurune aldagaiak atzitzeko PHP ez dago ondo konfiguratua. getenv(\"PATH\") testeatzean erantzun hutsa jasotzen da. ", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP lerro bakarreko blokeak mozteko konfiguratua dagoela dirudi. Oinarrizko app batzuk eskuraezin bihurtuko dira.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$aren %2 bertsio zaharkitua instalatua dago, egonkortasun eta errendimendu arrazoiak medio, %1 bertsiora eguneratzea gomendatzen da.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "'fileinfo' PHP modulua falta da. Modulu hau gaitzea bereziki gomendatzen da, MIME moten detekzioan emaitzarik hoberenak edukitzeko.", + "This means that there might be problems with certain characters in filenames." : "Honek fitxategi izenen karaktere batzuekin arazoak egon daitezkeela esan nahi du. ", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Ondoko lokalizazioentzako euskarria izateko, zure sisteman beharrezko paketeak instalatzea bereziki gomendatzen da: %s." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/fa.js b/settings/l10n/fa.js index 74a1b2a91e5..d562802f315 100644 --- a/settings/l10n/fa.js +++ b/settings/l10n/fa.js @@ -65,11 +65,6 @@ OC.L10N.register( "Allow resharing" : "مجوز اشتراک گذاری مجدد", "Restrict users to only share with users in their groups" : "محدود کردن کاربران برای اشتراکگذاری تنها میان کاربران گروه خود", "Exclude groups from sharing" : "مستثنی شدن گروه ها از اشتراک گذاری", - "Tips & tricks" : "نکات و راهنماییها", - "Performance tuning" : "تنظیم کارایی", - "Improving the config.php" : "بهبود config.php", - "Theming" : "قالببندی", - "Hardening and security guidance" : "راهنمای امنسازی", "Profile picture" : "تصویر پروفایل", "Upload new" : "بارگذاری جدید", "Remove image" : "تصویر پاک شود", @@ -137,6 +132,11 @@ OC.L10N.register( "A valid username must be provided" : "نام کاربری صحیح باید وارد شود", "A valid password must be provided" : "رمز عبور صحیح باید وارد شود", "A valid email must be provided" : "یک ایمیل معتبر باید وارد شود", + "Tips & tricks" : "نکات و راهنماییها", + "Performance tuning" : "تنظیم کارایی", + "Improving the config.php" : "بهبود config.php", + "Theming" : "قالببندی", + "Hardening and security guidance" : "راهنمای امنسازی", "Documentation:" : "مستند سازی:", "Admin documentation" : "مستندات مدیر", "Show description …" : "نمایش توضیحات ...", diff --git a/settings/l10n/fa.json b/settings/l10n/fa.json index a627fbbd857..5eced7b424e 100644 --- a/settings/l10n/fa.json +++ b/settings/l10n/fa.json @@ -63,11 +63,6 @@ "Allow resharing" : "مجوز اشتراک گذاری مجدد", "Restrict users to only share with users in their groups" : "محدود کردن کاربران برای اشتراکگذاری تنها میان کاربران گروه خود", "Exclude groups from sharing" : "مستثنی شدن گروه ها از اشتراک گذاری", - "Tips & tricks" : "نکات و راهنماییها", - "Performance tuning" : "تنظیم کارایی", - "Improving the config.php" : "بهبود config.php", - "Theming" : "قالببندی", - "Hardening and security guidance" : "راهنمای امنسازی", "Profile picture" : "تصویر پروفایل", "Upload new" : "بارگذاری جدید", "Remove image" : "تصویر پاک شود", @@ -135,6 +130,11 @@ "A valid username must be provided" : "نام کاربری صحیح باید وارد شود", "A valid password must be provided" : "رمز عبور صحیح باید وارد شود", "A valid email must be provided" : "یک ایمیل معتبر باید وارد شود", + "Tips & tricks" : "نکات و راهنماییها", + "Performance tuning" : "تنظیم کارایی", + "Improving the config.php" : "بهبود config.php", + "Theming" : "قالببندی", + "Hardening and security guidance" : "راهنمای امنسازی", "Documentation:" : "مستند سازی:", "Admin documentation" : "مستندات مدیر", "Show description …" : "نمایش توضیحات ...", diff --git a/settings/l10n/fi.js b/settings/l10n/fi.js index f2458dddbfa..8caf4b85fa4 100644 --- a/settings/l10n/fi.js +++ b/settings/l10n/fi.js @@ -96,13 +96,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen.", "Start migration" : "Käynnistä migraatio", "Security & setup warnings" : "Turvallisuus- ja asetusvaroitukset", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Tietoturvan ja suorituskyvyn vuoksi on tärkeää, että asennuksesi on määritetty oikein. Sen vuoksi teemme joitain automaattisia tarkistuksia. Lisätietoja on saatavilla dokumentaation \"Tips & Tricks\"-osiosta.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Vain luku -asetukset on otettu käyttöön. Tämä estää joidenkin asetusten määrittämisen selainkäyttöliittymän kautta. Lisäksi kyseinen tiedostoon tulee asettaa kirjoitusoikeus käsin joka päivityksen yhteydessä.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Tämä johtuu todennäköisesti välimuistista tai kiihdyttimestä kuten Zend OPcachesta tai eAcceleratorista.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-moduuli 'fileinfo' puuttuu. Suosittelemme kyseisen moduulin ottamista käyttöön, jotta MIME-tyyppien havaitseminen toimii parhaalla mahdollisella tavalla.", - "System locale can not be set to a one which supports UTF-8." : "Järjestelmän maa-asetusta ei voi asettaa UTF-8:aa tukevaksi.", - "This means that there might be problems with certain characters in filenames." : "Tämä tarkoittaa, että jotkin merkit saattavat aiheuttaa ongelmia tiedostojen nimissä.", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Cron-työtä ei voitu suorittaa komentorivin kautta. Havaittiin seuraavat tekniset virheet:", "All checks passed." : "Läpäistiin kaikki tarkistukset.", "Version" : "Versio", "Background jobs" : "Taustatyöt", @@ -133,15 +126,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Näytä vastuuvapauslauseke julkisen linkin lähetyssivulla. (Näytetään vain, kun tiedostolista on piilotettu.)", "This text will be shown on the public link upload page when the file list is hidden." : "Tämä teksti näytetään julkisen linkin lähetyssivulla, kun tiedostolista on piilotettu.", "Default share permissions" : "Oletusjako-oikeudet", - "Tips & tricks" : "Vinkit", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLitea käytetään tällä hetkellä taustaosan tietokantana. Laajoja asennuksia varten on suositeltavaa käyttää jotain muuta tietokantaa.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Tämä on suositeltavaa erityisesti silloin, kun työpöytäsovellusta käytetään tiedostojen synkronointiin.", - "How to do backups" : "Kuinka tehdä varmuuskopioita", - "Performance tuning" : "Suorituskyvyn hienosäätö", - "Improving the config.php" : "Config.php-tiedoston parantaminen", - "Theming" : "Teemojen käyttö", - "Check the security of your Nextcloud over our security scan" : "Tarkista Nextcloudisi tietoturva käyttäen tietoturvatarkistustamme", - "Hardening and security guidance" : "Turvaamis- ja tietoturvaopas", "Personal" : "Henkilökohtainen", "Administration" : "Ylläpito", "Profile picture" : "Profiilikuva", @@ -356,9 +340,21 @@ OC.L10N.register( "Verifying" : "Vahvistetaan", "Personal info" : "Henkilökohtaiset tiedot", "Sync clients" : "Synkronointiasiakkaat", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Vain luku -asetukset on otettu käyttöön. Tämä estää joidenkin asetusten määrittämisen selainkäyttöliittymän kautta. Lisäksi kyseinen tiedostoon tulee asettaa kirjoitusoikeus käsin joka päivityksen yhteydessä.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Tämä johtuu todennäköisesti välimuistista tai kiihdyttimestä kuten Zend OPcachesta tai eAcceleratorista.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP-moduuli 'fileinfo' puuttuu. Suosittelemme sen ottamista käyttöön, jotta MIME-tyypit on mahdollista havaita parhain tuloksin.", + "System locale can not be set to a one which supports UTF-8." : "Järjestelmän maa-asetusta ei voi asettaa UTF-8:aa tukevaksi.", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Cron-työtä ei voitu suorittaa komentorivin kautta. Havaittiin seuraavat tekniset virheet:", + "Tips & tricks" : "Vinkit", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLitea käytetään tällä hetkellä taustaosan tietokantana. Laajoja asennuksia varten on suositeltavaa käyttää jotain muuta tietokantaa.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Tämä on suositeltavaa erityisesti silloin, kun työpöytäsovellusta käytetään tiedostojen synkronointiin.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Siirtyäksesi toiseen tietokantaan, käytä komentorivityökalua: 'occ db:convert-type', tai lue <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentaatio ↗</a>.", + "How to do backups" : "Kuinka tehdä varmuuskopioita", + "Performance tuning" : "Suorituskyvyn hienosäätö", + "Improving the config.php" : "Config.php-tiedoston parantaminen", + "Theming" : "Teemojen käyttö", + "Check the security of your Nextcloud over our security scan" : "Tarkista Nextcloudisi tietoturva käyttäen tietoturvatarkistustamme", + "Hardening and security guidance" : "Turvaamis- ja tietoturvaopas", "View in store" : "Näytä kaupassa", "Limit to groups" : "Rajoita ryhmiin", "This app has an update available." : "Tähän sovellukseen on päivitys saatavilla.", @@ -411,6 +407,10 @@ OC.L10N.register( "Updating …" : "Päivitetään ...", "Could not update app" : "Sovellusta ei voitu päivittää", "Could not remove app" : "Sovellusta ei voitu poistaa", - "{size} used" : "{size} käytetty" + "{size} used" : "{size} käytetty", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Tietoturvan ja suorituskyvyn vuoksi on tärkeää, että asennuksesi on määritetty oikein. Sen vuoksi teemme joitain automaattisia tarkistuksia. Lisätietoja on saatavilla dokumentaation \"Tips & Tricks\"-osiosta.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-moduuli 'fileinfo' puuttuu. Suosittelemme kyseisen moduulin ottamista käyttöön, jotta MIME-tyyppien havaitseminen toimii parhaalla mahdollisella tavalla.", + "This means that there might be problems with certain characters in filenames." : "Tämä tarkoittaa, että jotkin merkit saattavat aiheuttaa ongelmia tiedostojen nimissä.", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Cron-työtä ei voitu suorittaa komentorivin kautta. Havaittiin seuraavat tekniset virheet:" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/fi.json b/settings/l10n/fi.json index 856260ecb61..f63a6cddc81 100644 --- a/settings/l10n/fi.json +++ b/settings/l10n/fi.json @@ -94,13 +94,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen.", "Start migration" : "Käynnistä migraatio", "Security & setup warnings" : "Turvallisuus- ja asetusvaroitukset", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Tietoturvan ja suorituskyvyn vuoksi on tärkeää, että asennuksesi on määritetty oikein. Sen vuoksi teemme joitain automaattisia tarkistuksia. Lisätietoja on saatavilla dokumentaation \"Tips & Tricks\"-osiosta.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Vain luku -asetukset on otettu käyttöön. Tämä estää joidenkin asetusten määrittämisen selainkäyttöliittymän kautta. Lisäksi kyseinen tiedostoon tulee asettaa kirjoitusoikeus käsin joka päivityksen yhteydessä.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Tämä johtuu todennäköisesti välimuistista tai kiihdyttimestä kuten Zend OPcachesta tai eAcceleratorista.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-moduuli 'fileinfo' puuttuu. Suosittelemme kyseisen moduulin ottamista käyttöön, jotta MIME-tyyppien havaitseminen toimii parhaalla mahdollisella tavalla.", - "System locale can not be set to a one which supports UTF-8." : "Järjestelmän maa-asetusta ei voi asettaa UTF-8:aa tukevaksi.", - "This means that there might be problems with certain characters in filenames." : "Tämä tarkoittaa, että jotkin merkit saattavat aiheuttaa ongelmia tiedostojen nimissä.", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Cron-työtä ei voitu suorittaa komentorivin kautta. Havaittiin seuraavat tekniset virheet:", "All checks passed." : "Läpäistiin kaikki tarkistukset.", "Version" : "Versio", "Background jobs" : "Taustatyöt", @@ -131,15 +124,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Näytä vastuuvapauslauseke julkisen linkin lähetyssivulla. (Näytetään vain, kun tiedostolista on piilotettu.)", "This text will be shown on the public link upload page when the file list is hidden." : "Tämä teksti näytetään julkisen linkin lähetyssivulla, kun tiedostolista on piilotettu.", "Default share permissions" : "Oletusjako-oikeudet", - "Tips & tricks" : "Vinkit", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLitea käytetään tällä hetkellä taustaosan tietokantana. Laajoja asennuksia varten on suositeltavaa käyttää jotain muuta tietokantaa.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Tämä on suositeltavaa erityisesti silloin, kun työpöytäsovellusta käytetään tiedostojen synkronointiin.", - "How to do backups" : "Kuinka tehdä varmuuskopioita", - "Performance tuning" : "Suorituskyvyn hienosäätö", - "Improving the config.php" : "Config.php-tiedoston parantaminen", - "Theming" : "Teemojen käyttö", - "Check the security of your Nextcloud over our security scan" : "Tarkista Nextcloudisi tietoturva käyttäen tietoturvatarkistustamme", - "Hardening and security guidance" : "Turvaamis- ja tietoturvaopas", "Personal" : "Henkilökohtainen", "Administration" : "Ylläpito", "Profile picture" : "Profiilikuva", @@ -354,9 +338,21 @@ "Verifying" : "Vahvistetaan", "Personal info" : "Henkilökohtaiset tiedot", "Sync clients" : "Synkronointiasiakkaat", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Vain luku -asetukset on otettu käyttöön. Tämä estää joidenkin asetusten määrittämisen selainkäyttöliittymän kautta. Lisäksi kyseinen tiedostoon tulee asettaa kirjoitusoikeus käsin joka päivityksen yhteydessä.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Tämä johtuu todennäköisesti välimuistista tai kiihdyttimestä kuten Zend OPcachesta tai eAcceleratorista.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP-moduuli 'fileinfo' puuttuu. Suosittelemme sen ottamista käyttöön, jotta MIME-tyypit on mahdollista havaita parhain tuloksin.", + "System locale can not be set to a one which supports UTF-8." : "Järjestelmän maa-asetusta ei voi asettaa UTF-8:aa tukevaksi.", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Cron-työtä ei voitu suorittaa komentorivin kautta. Havaittiin seuraavat tekniset virheet:", + "Tips & tricks" : "Vinkit", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLitea käytetään tällä hetkellä taustaosan tietokantana. Laajoja asennuksia varten on suositeltavaa käyttää jotain muuta tietokantaa.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Tämä on suositeltavaa erityisesti silloin, kun työpöytäsovellusta käytetään tiedostojen synkronointiin.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Siirtyäksesi toiseen tietokantaan, käytä komentorivityökalua: 'occ db:convert-type', tai lue <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentaatio ↗</a>.", + "How to do backups" : "Kuinka tehdä varmuuskopioita", + "Performance tuning" : "Suorituskyvyn hienosäätö", + "Improving the config.php" : "Config.php-tiedoston parantaminen", + "Theming" : "Teemojen käyttö", + "Check the security of your Nextcloud over our security scan" : "Tarkista Nextcloudisi tietoturva käyttäen tietoturvatarkistustamme", + "Hardening and security guidance" : "Turvaamis- ja tietoturvaopas", "View in store" : "Näytä kaupassa", "Limit to groups" : "Rajoita ryhmiin", "This app has an update available." : "Tähän sovellukseen on päivitys saatavilla.", @@ -409,6 +405,10 @@ "Updating …" : "Päivitetään ...", "Could not update app" : "Sovellusta ei voitu päivittää", "Could not remove app" : "Sovellusta ei voitu poistaa", - "{size} used" : "{size} käytetty" + "{size} used" : "{size} käytetty", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Tietoturvan ja suorituskyvyn vuoksi on tärkeää, että asennuksesi on määritetty oikein. Sen vuoksi teemme joitain automaattisia tarkistuksia. Lisätietoja on saatavilla dokumentaation \"Tips & Tricks\"-osiosta.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-moduuli 'fileinfo' puuttuu. Suosittelemme kyseisen moduulin ottamista käyttöön, jotta MIME-tyyppien havaitseminen toimii parhaalla mahdollisella tavalla.", + "This means that there might be problems with certain characters in filenames." : "Tämä tarkoittaa, että jotkin merkit saattavat aiheuttaa ongelmia tiedostojen nimissä.", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Cron-työtä ei voitu suorittaa komentorivin kautta. Havaittiin seuraavat tekniset virheet:" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js index c12f2bc4487..d71d92d6f85 100644 --- a/settings/l10n/fr.js +++ b/settings/l10n/fr.js @@ -96,23 +96,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle.", "Start migration" : "Démarrer la migration", "Security & setup warnings" : "Avertissements de sécurité & configuration", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Il est important pour la sécurité et la performance de votre instance que tout soit configuré correctement. Pour vous aider dans cette tâche, nous faisons des vérifications automatiques. Veuillez consulter la section Trucs et Astuces et la documentation pour plus d'informations.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(\"PATH\") retourne seulement une réponse vide. ", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Veuillez consulter <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">la documentation d'installation ↗</a> pour savoir comment configurer PHP sur votre serveur, en particulier en cas d'utilisation de php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuration est en mode lecture seule. Ceci empêche la modification de certaines configurations via l'interface web. De plus, le fichier doit être passé manuellement en lecture-écriture avant chaque mise à jour.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP semble configuré de manière à supprimer les blocs PHPdoc du code. Cela rendra plusieurs applications de base inaccessibles.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La raison est probablement l'utilisation d'un cache / accélérateur tel que Zend OPcache ou eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Votre base de données ne fonctionne pas avec le niveau d'isolation de transaction \"READ COMMITED\". Ceci peut causer des problèmes quand plusieurs actions sont exécutées en parallèle.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "Une version de %1$s plus ancienne que %2$s est installée. Afin d'améliorer la stabilité et les performances de votre instance Nextcloud, il est recommandé de mettre %1$s à jour.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Le module PHP 'fileinfo' est manquant. Il est vivement recommandé de l'activer afin d'obtenir les meilleurs résultats de détection du type MIME.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Le verrouillage transactionnel de fichiers est désactivé. Cela peut causer des conflits en cas d'accès concurrent. Configurez 'filelocking.enabled' dans config.php pour éviter ces problèmes. Consultez la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> pour plus d'informations.", - "System locale can not be set to a one which supports UTF-8." : "Les paramètres régionaux n'ont pu être configurés avec prise en charge d'UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Cela signifie qu'il pourrait y avoir des problèmes avec certains caractères dans les noms de fichier.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Il est fortement recommandé d'installer sur votre système les paquets nécessaires à la prise en charge de l'un des paramètres régionaux suivants : %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si votre installation n'a pas été effectuée à la racine du domaine et qu'elle utilise le Cron du système, il peut y avoir des problèmes avec la génération d'URL. Pour les éviter, veuillez configurer l'option \"overwrite.cli.url\" de votre fichier config.php avec le chemin de la racine de votre installation (suggéré : \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "La tâche cron n'a pu s'exécuter via CLI. Ces erreurs techniques sont apparues :", - "Last background job execution ran %s. Something seems wrong." : "Quelque chose s'est mal passé lors de l'exécution de la dernière tâche de fond %s.", - "Check the background job settings" : "Vérifier les paramètres des tâches de fond", "All checks passed." : "Tous les tests ont réussi.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Merci de consulter les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guides d'installation ↗</a> et de vérifier les erreurs ou avertissements des <a href=\"%s\">logs</a>.", "Version" : "Version", @@ -146,17 +129,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Afficher les conditions d'utilisation sur la page publique de téléversement (seulement lorsque la liste des fichiers est masquée).", "This text will be shown on the public link upload page when the file list is hidden." : "Ce texte sera affiché sur la page publique de téléversement lorsque la liste des fichiers est masquée.", "Default share permissions" : "Autorisations de partage par défaut", - "Tips & tricks" : "Trucs et astuces", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Il y a beaucoup de fonctionnalités et de choix de configurations disponibles qui permettent de manière optimale de customiser et d'utiliser cette instance. Voici quelques liens pour en savoir plus.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite est actuellement utilisé comme système de gestion de base de données. Pour des installations plus volumineuses, nous vous recommandons de migrer vers un autre système de gestion de base de données.", - "This is particularly recommended when using the desktop client for file synchronisation." : "C'est particulièrement recommandé lorsque l'on utilise un client bureau pour la synchronisation des fichiers.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>.", - "How to do backups" : "Comment faire des sauvegardes", - "Performance tuning" : "Ajustement des performances", - "Improving the config.php" : "Amélioration du config.php ", - "Theming" : "Personnalisation de l'apparence", - "Check the security of your Nextcloud over our security scan" : "Vérifier la sécurité de votre Nextcloud grâce à notre scan de sécurité", - "Hardening and security guidance" : "Guide pour le renforcement et la sécurité", "Personal" : "Personnel", "Administration" : "Administration", "Profile picture" : "Photo de profil", @@ -381,10 +353,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Il est important pour la sécurité et la performance de votre instance que celle-ci soit correctement configurée. Afin de vous aider, votre instance effectue quelques vérifications automatiques. Veuillez consulter la section Trucs & Astuces, ainsi que la documentation, pour de plus amples informations.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(\"PATH\") retourne seulement une réponse vide. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Veuillez consulter <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">la documentation d'installation ↗</a> pour savoir comment configurer php sur votre serveur, en particulier en cas d'utilisation de php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuration est en mode lecture seule. Ceci empêche la modification de certaines configurations via l'interface web. De plus, le fichier doit être passé manuellement en lecture-écriture avant chaque mise à jour.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP est apparemment configuré pour supprimer les blocs de documentation internes. Cela rendra plusieurs applications de base inaccessibles.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La raison est probablement l'utilisation d'un cache / accélérateur tel que Zend OPcache ou eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Votre base de données ne fonctionne pas avec le niveau d'isolation de transaction \"READ COMMITED\". Ceci peut causer des problèmes quand plusieurs actions sont exécutées en parallèle.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "Une version de %1$s plus ancienne que %2$s est installée. Pour améliorer la stabilité et les performances, nous vous recommandons de mettre %1$s à jour.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Le module PHP 'fileinfo' est manquant. Il est vivement recommandé de l'activer afin d'obtenir de meilleurs résultats de détection du type MIME.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Le verrouillage transactionnel de fichiers est désactivé. Cela peut causer des conflits en cas d'accès concurrent. Activez 'filelocking.enabled' dans config.php pour éviter ces problèmes. Consultez la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> pour plus d'informations.", + "System locale can not be set to a one which supports UTF-8." : "Les paramètres régionaux n'ont pu être configurés avec prise en charge d'UTF-8.", "This means that there might be problems with certain characters in file names." : "Cela signifie qu'il pourrait y avoir des problèmes avec certains caractères dans les noms de fichier.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Nous vous recommandons d'installer sur votre système les paquets nécessaires à la prise en charge de l'un des paramètres locaux suivants : %s", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si votre installation n'a pas été effectuée à la racine du domaine et qu'elle utilise le cron du système, il peut y avoir des problèmes avec la génération d'URL. Pour les éviter, veuillez configurer l'option \"overwrite.cli.url\" de votre fichier config.php avec le chemin de la racine de votre installation (suggéré : \"%s\")", @@ -392,7 +368,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Merci de consulter les <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guides d'installation ↗</a> et de vérifier les erreurs ou avertissements dans les <a href=\"%s\">journaux</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php est enregistré à un service webcron pour exécuter cron.php toutes les 15 minutes par HTTP.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Pour l'exécuter, vous devez avoir l'extension PHP posix. Regarder la {linkstart}documentation PHP{linkend} pour plus de détails.", + "Tips & tricks" : "Trucs et astuces", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Il y a beaucoup de fonctionnalités et de choix de configurations disponibles qui permettent de manière optimale de customiser et d'utiliser cette instance. Voici quelques liens pour en savoir plus.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite est actuellement utilisé comme système de gestion de base de données. Pour des installations plus volumineuses, nous vous recommandons de migrer vers un autre système de gestion de base de données.", + "This is particularly recommended when using the desktop client for file synchronisation." : "C'est particulièrement recommandé lorsque l'on utilise un client bureau pour la synchronisation des fichiers.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>.", + "How to do backups" : "Comment faire des sauvegardes", + "Performance tuning" : "Ajustement des performances", + "Improving the config.php" : "Amélioration du config.php ", + "Theming" : "Personnalisation de l'apparence", + "Check the security of your Nextcloud over our security scan" : "Vérifier la sécurité de votre Nextcloud grâce à notre scan de sécurité", + "Hardening and security guidance" : "Guide pour le renforcement et la sécurité", "View in store" : "Afficher dans le magasin d'application", "Limit to groups" : "Limiter aux groupes", "This app has an update available." : "Cette application a une mise à jour disponible.", @@ -445,6 +431,18 @@ OC.L10N.register( "Updating …" : "Mise à jour en cours...", "Could not update app" : "Impossible de mettre à jour l'application", "Could not remove app" : "Impossible de supprimer l'application.", - "{size} used" : "{size} utilisé" + "{size} used" : "{size} utilisé", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Il est important pour la sécurité et la performance de votre instance que tout soit configuré correctement. Pour vous aider dans cette tâche, nous faisons des vérifications automatiques. Veuillez consulter la section Trucs et Astuces et la documentation pour plus d'informations.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(\"PATH\") retourne seulement une réponse vide. ", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Veuillez consulter <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">la documentation d'installation ↗</a> pour savoir comment configurer PHP sur votre serveur, en particulier en cas d'utilisation de php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP semble configuré de manière à supprimer les blocs PHPdoc du code. Cela rendra plusieurs applications de base inaccessibles.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "Une version de %1$s plus ancienne que %2$s est installée. Afin d'améliorer la stabilité et les performances de votre instance Nextcloud, il est recommandé de mettre %1$s à jour.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Le module PHP 'fileinfo' est manquant. Il est vivement recommandé de l'activer afin d'obtenir les meilleurs résultats de détection du type MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Le verrouillage transactionnel de fichiers est désactivé. Cela peut causer des conflits en cas d'accès concurrent. Configurez 'filelocking.enabled' dans config.php pour éviter ces problèmes. Consultez la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> pour plus d'informations.", + "This means that there might be problems with certain characters in filenames." : "Cela signifie qu'il pourrait y avoir des problèmes avec certains caractères dans les noms de fichier.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Il est fortement recommandé d'installer sur votre système les paquets nécessaires à la prise en charge de l'un des paramètres régionaux suivants : %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si votre installation n'a pas été effectuée à la racine du domaine et qu'elle utilise le Cron du système, il peut y avoir des problèmes avec la génération d'URL. Pour les éviter, veuillez configurer l'option \"overwrite.cli.url\" de votre fichier config.php avec le chemin de la racine de votre installation (suggéré : \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "La tâche cron n'a pu s'exécuter via CLI. Ces erreurs techniques sont apparues :", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." }, "nplurals=2; plural=(n > 1);"); diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json index 6ca5252f61b..f90a07f747d 100644 --- a/settings/l10n/fr.json +++ b/settings/l10n/fr.json @@ -94,23 +94,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle.", "Start migration" : "Démarrer la migration", "Security & setup warnings" : "Avertissements de sécurité & configuration", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Il est important pour la sécurité et la performance de votre instance que tout soit configuré correctement. Pour vous aider dans cette tâche, nous faisons des vérifications automatiques. Veuillez consulter la section Trucs et Astuces et la documentation pour plus d'informations.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(\"PATH\") retourne seulement une réponse vide. ", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Veuillez consulter <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">la documentation d'installation ↗</a> pour savoir comment configurer PHP sur votre serveur, en particulier en cas d'utilisation de php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuration est en mode lecture seule. Ceci empêche la modification de certaines configurations via l'interface web. De plus, le fichier doit être passé manuellement en lecture-écriture avant chaque mise à jour.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP semble configuré de manière à supprimer les blocs PHPdoc du code. Cela rendra plusieurs applications de base inaccessibles.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La raison est probablement l'utilisation d'un cache / accélérateur tel que Zend OPcache ou eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Votre base de données ne fonctionne pas avec le niveau d'isolation de transaction \"READ COMMITED\". Ceci peut causer des problèmes quand plusieurs actions sont exécutées en parallèle.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "Une version de %1$s plus ancienne que %2$s est installée. Afin d'améliorer la stabilité et les performances de votre instance Nextcloud, il est recommandé de mettre %1$s à jour.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Le module PHP 'fileinfo' est manquant. Il est vivement recommandé de l'activer afin d'obtenir les meilleurs résultats de détection du type MIME.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Le verrouillage transactionnel de fichiers est désactivé. Cela peut causer des conflits en cas d'accès concurrent. Configurez 'filelocking.enabled' dans config.php pour éviter ces problèmes. Consultez la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> pour plus d'informations.", - "System locale can not be set to a one which supports UTF-8." : "Les paramètres régionaux n'ont pu être configurés avec prise en charge d'UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Cela signifie qu'il pourrait y avoir des problèmes avec certains caractères dans les noms de fichier.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Il est fortement recommandé d'installer sur votre système les paquets nécessaires à la prise en charge de l'un des paramètres régionaux suivants : %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si votre installation n'a pas été effectuée à la racine du domaine et qu'elle utilise le Cron du système, il peut y avoir des problèmes avec la génération d'URL. Pour les éviter, veuillez configurer l'option \"overwrite.cli.url\" de votre fichier config.php avec le chemin de la racine de votre installation (suggéré : \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "La tâche cron n'a pu s'exécuter via CLI. Ces erreurs techniques sont apparues :", - "Last background job execution ran %s. Something seems wrong." : "Quelque chose s'est mal passé lors de l'exécution de la dernière tâche de fond %s.", - "Check the background job settings" : "Vérifier les paramètres des tâches de fond", "All checks passed." : "Tous les tests ont réussi.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Merci de consulter les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guides d'installation ↗</a> et de vérifier les erreurs ou avertissements des <a href=\"%s\">logs</a>.", "Version" : "Version", @@ -144,17 +127,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Afficher les conditions d'utilisation sur la page publique de téléversement (seulement lorsque la liste des fichiers est masquée).", "This text will be shown on the public link upload page when the file list is hidden." : "Ce texte sera affiché sur la page publique de téléversement lorsque la liste des fichiers est masquée.", "Default share permissions" : "Autorisations de partage par défaut", - "Tips & tricks" : "Trucs et astuces", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Il y a beaucoup de fonctionnalités et de choix de configurations disponibles qui permettent de manière optimale de customiser et d'utiliser cette instance. Voici quelques liens pour en savoir plus.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite est actuellement utilisé comme système de gestion de base de données. Pour des installations plus volumineuses, nous vous recommandons de migrer vers un autre système de gestion de base de données.", - "This is particularly recommended when using the desktop client for file synchronisation." : "C'est particulièrement recommandé lorsque l'on utilise un client bureau pour la synchronisation des fichiers.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>.", - "How to do backups" : "Comment faire des sauvegardes", - "Performance tuning" : "Ajustement des performances", - "Improving the config.php" : "Amélioration du config.php ", - "Theming" : "Personnalisation de l'apparence", - "Check the security of your Nextcloud over our security scan" : "Vérifier la sécurité de votre Nextcloud grâce à notre scan de sécurité", - "Hardening and security guidance" : "Guide pour le renforcement et la sécurité", "Personal" : "Personnel", "Administration" : "Administration", "Profile picture" : "Photo de profil", @@ -379,10 +351,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Il est important pour la sécurité et la performance de votre instance que celle-ci soit correctement configurée. Afin de vous aider, votre instance effectue quelques vérifications automatiques. Veuillez consulter la section Trucs & Astuces, ainsi que la documentation, pour de plus amples informations.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(\"PATH\") retourne seulement une réponse vide. ", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Veuillez consulter <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">la documentation d'installation ↗</a> pour savoir comment configurer php sur votre serveur, en particulier en cas d'utilisation de php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuration est en mode lecture seule. Ceci empêche la modification de certaines configurations via l'interface web. De plus, le fichier doit être passé manuellement en lecture-écriture avant chaque mise à jour.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP est apparemment configuré pour supprimer les blocs de documentation internes. Cela rendra plusieurs applications de base inaccessibles.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La raison est probablement l'utilisation d'un cache / accélérateur tel que Zend OPcache ou eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Votre base de données ne fonctionne pas avec le niveau d'isolation de transaction \"READ COMMITED\". Ceci peut causer des problèmes quand plusieurs actions sont exécutées en parallèle.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "Une version de %1$s plus ancienne que %2$s est installée. Pour améliorer la stabilité et les performances, nous vous recommandons de mettre %1$s à jour.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Le module PHP 'fileinfo' est manquant. Il est vivement recommandé de l'activer afin d'obtenir de meilleurs résultats de détection du type MIME.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Le verrouillage transactionnel de fichiers est désactivé. Cela peut causer des conflits en cas d'accès concurrent. Activez 'filelocking.enabled' dans config.php pour éviter ces problèmes. Consultez la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> pour plus d'informations.", + "System locale can not be set to a one which supports UTF-8." : "Les paramètres régionaux n'ont pu être configurés avec prise en charge d'UTF-8.", "This means that there might be problems with certain characters in file names." : "Cela signifie qu'il pourrait y avoir des problèmes avec certains caractères dans les noms de fichier.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Nous vous recommandons d'installer sur votre système les paquets nécessaires à la prise en charge de l'un des paramètres locaux suivants : %s", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si votre installation n'a pas été effectuée à la racine du domaine et qu'elle utilise le cron du système, il peut y avoir des problèmes avec la génération d'URL. Pour les éviter, veuillez configurer l'option \"overwrite.cli.url\" de votre fichier config.php avec le chemin de la racine de votre installation (suggéré : \"%s\")", @@ -390,7 +366,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Merci de consulter les <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guides d'installation ↗</a> et de vérifier les erreurs ou avertissements dans les <a href=\"%s\">journaux</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php est enregistré à un service webcron pour exécuter cron.php toutes les 15 minutes par HTTP.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Pour l'exécuter, vous devez avoir l'extension PHP posix. Regarder la {linkstart}documentation PHP{linkend} pour plus de détails.", + "Tips & tricks" : "Trucs et astuces", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Il y a beaucoup de fonctionnalités et de choix de configurations disponibles qui permettent de manière optimale de customiser et d'utiliser cette instance. Voici quelques liens pour en savoir plus.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite est actuellement utilisé comme système de gestion de base de données. Pour des installations plus volumineuses, nous vous recommandons de migrer vers un autre système de gestion de base de données.", + "This is particularly recommended when using the desktop client for file synchronisation." : "C'est particulièrement recommandé lorsque l'on utilise un client bureau pour la synchronisation des fichiers.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>.", + "How to do backups" : "Comment faire des sauvegardes", + "Performance tuning" : "Ajustement des performances", + "Improving the config.php" : "Amélioration du config.php ", + "Theming" : "Personnalisation de l'apparence", + "Check the security of your Nextcloud over our security scan" : "Vérifier la sécurité de votre Nextcloud grâce à notre scan de sécurité", + "Hardening and security guidance" : "Guide pour le renforcement et la sécurité", "View in store" : "Afficher dans le magasin d'application", "Limit to groups" : "Limiter aux groupes", "This app has an update available." : "Cette application a une mise à jour disponible.", @@ -443,6 +429,18 @@ "Updating …" : "Mise à jour en cours...", "Could not update app" : "Impossible de mettre à jour l'application", "Could not remove app" : "Impossible de supprimer l'application.", - "{size} used" : "{size} utilisé" + "{size} used" : "{size} utilisé", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Il est important pour la sécurité et la performance de votre instance que tout soit configuré correctement. Pour vous aider dans cette tâche, nous faisons des vérifications automatiques. Veuillez consulter la section Trucs et Astuces et la documentation pour plus d'informations.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(\"PATH\") retourne seulement une réponse vide. ", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Veuillez consulter <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">la documentation d'installation ↗</a> pour savoir comment configurer PHP sur votre serveur, en particulier en cas d'utilisation de php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP semble configuré de manière à supprimer les blocs PHPdoc du code. Cela rendra plusieurs applications de base inaccessibles.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "Une version de %1$s plus ancienne que %2$s est installée. Afin d'améliorer la stabilité et les performances de votre instance Nextcloud, il est recommandé de mettre %1$s à jour.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Le module PHP 'fileinfo' est manquant. Il est vivement recommandé de l'activer afin d'obtenir les meilleurs résultats de détection du type MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Le verrouillage transactionnel de fichiers est désactivé. Cela peut causer des conflits en cas d'accès concurrent. Configurez 'filelocking.enabled' dans config.php pour éviter ces problèmes. Consultez la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> pour plus d'informations.", + "This means that there might be problems with certain characters in filenames." : "Cela signifie qu'il pourrait y avoir des problèmes avec certains caractères dans les noms de fichier.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Il est fortement recommandé d'installer sur votre système les paquets nécessaires à la prise en charge de l'un des paramètres régionaux suivants : %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si votre installation n'a pas été effectuée à la racine du domaine et qu'elle utilise le Cron du système, il peut y avoir des problèmes avec la génération d'URL. Pour les éviter, veuillez configurer l'option \"overwrite.cli.url\" de votre fichier config.php avec le chemin de la racine de votre installation (suggéré : \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "La tâche cron n'a pu s'exécuter via CLI. Ces erreurs techniques sont apparues :", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/settings/l10n/he.js b/settings/l10n/he.js index 34481895812..c2fbd699aea 100644 --- a/settings/l10n/he.js +++ b/settings/l10n/he.js @@ -6,6 +6,7 @@ OC.L10N.register( "Visit website" : "ביקור באתר האינטרנט", "User documentation" : "תיעוד משתמש", "Developer documentation" : "תיעוד מפתח", + "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "ליישומון זה לא מוקצית גרסת Nextcloud מזערית. מצב כזה עשוי להוביל לשגיאה בעתיד.", "This app cannot be installed because the following dependencies are not fulfilled:" : "לא ניתן להתקין את יישום זה כיוון שייחסי התלות הבאים לא התקיימו:", "Disable all" : "השבתת הכול", "Enable all" : "הפעלת הכול", @@ -33,6 +34,7 @@ OC.L10N.register( "An error occured during the request. Unable to proceed." : "אירעה שגיאה במהלך הבקשה. לא ניתן להמשיך.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "היישומון הופעל אך יש לעדכן אותו. ההפניה לעמוד העדכון תחל בעוד 5 שניות.", "App update" : "עדכון יישומן", + "Error: This app can not be enabled because it makes the server unstable" : "שגיאה: לא ניתן להפעיל יישומון זה כיוון שהוא מערער את יציבות השרת.", "Error while enabling app" : "שגיאה בעת הפעלת יישום", "Your apps" : "היישומונים שלך", "Active apps" : "יישומונים פעילים", @@ -87,6 +89,7 @@ OC.L10N.register( "Enable server-side encryption" : "הפעלת הצפנה בצד שרת", "Please read carefully before activating server-side encryption: " : "יש לקרוא בתשומת לב רבה לפני שמפעילים הצפנת צד שרת:", "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "ברגע שהצפנה מופעלת, כל הקבצים שיועלו לשרת מרגע זה יהיו מוצפנים בשרת. ניתן יהיה לנטרל את ההצפנה בעתיד רק אם מודול ההצפנה תומך בפונקציה זו, וכל התנאים המוקדמים (דהיינו הגדרת מפתח השחזור) מתקיימים.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "הצפנה לבד אינה מספיקה לאבטחה איכותית למערכת. נא לעיין בתיעוד לקבלת פרטים נוספים על אופן הפעולה של יישומון ההצפנה ודרכי היישום הנתמכות.", "Be aware that encryption always increases the file size." : "תשומת לב לכך שהצפנה בהכרח מגדילה את גודל הקובץ.", "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "תמיד טוב ליצור גיבוי קבוע למידע , במקרה של הצפנה יש לוודא שגם מפתחות ההצפנה מגובים עם המידע שלך.", "This is the final warning: Do you really want to enable encryption?" : "זו הזהרה אחרונה: האם באמת ברצונך להפעיל הצפנה?", @@ -97,19 +100,17 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "יש להמיר את מפתחות ההצפנה שלך בממערכת ההצפנה הישנה (ownCloud <= 8.0) למערכת החדשה.", "Start migration" : "התחלת המרה", "Security & setup warnings" : "הזהרות אבטחה והתקנה", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "תצורת קריאה בלבד הופעלה. תצורה זו מונעת קביעת מספר הגדרות באמצעות ממשק האינטרנט. יתר על כן, יש צורך להגדיר ההרשאות כתיבה באופן ידני לכל עדכון.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "זה ככל הנראה נגרם על ידי מאיץ/מטמון כמו Zend OPcache או eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "הגדרות שפה לא יכולות להקבע ככאלה שתומכות ב- UTF-8.", - "This means that there might be problems with certain characters in filenames." : "משמעות הדבר היא שעשויות להופיע תקלות עם תווים מסוימים בשמות קבצים.", - "Check the background job settings" : "בדיקת הגדרות משימות הרקע", "All checks passed." : "כל הבדיקות עברו", "There are some errors regarding your setup." : "ישנן מגוון שגיאות על ההגדרות שלך.", "There are some warnings regarding your setup." : "ישנן מגוון אזהרות על ההגדרות שלך.", "Checking for system and security issues." : "נבדקות תקלות מערכת ואבטחה.", "Version" : "גרסה", "Background jobs" : "משימות רקע", + "Background job didn’t run yet!" : "משימת הרקע לא רצה עדיין!", "Execute one task with each page loaded" : "יש להפעיל משימה אחת עם כל עמוד שנטען", + "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "כדי להריץ זאת יש צורך בהרחבת POSIX ל־PHP. נא לעיין ב{linkstart}תיעוד של PHP{linkend} לפרטים נוספים.", "Sharing" : "שיתוף", + "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "כמנהל יש לך אפשרות לכוונן את התנהגות השיתוף. נא לעיין בתיעוד לפרטים נוספים.", "Allow apps to use the Share API" : "לאפשר ליישום להשתמש ב־API השיתוף", "Allow users to share via link" : "אפשר למשתמשים לשתף באמצעות קישור", "Allow public uploads" : "אפשר העלאות ציבוריות", @@ -124,12 +125,7 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "הגבלת משתמשים לשתף רק עם משתמשים בקבוצה שלהם", "Exclude groups from sharing" : "מניעת קבוצות משיתוף", "These groups will still be able to receive shares, but not to initiate them." : "קבוצות אלו עדיין יוכלו לקבל שיתופים, אך לא לשתף בעצמם.", - "Tips & tricks" : "עצות ותחבולות", - "How to do backups" : "איך לבצע גיבויים", - "Performance tuning" : "כוונון ביצועים", - "Improving the config.php" : "שיפור קובץ config.php", - "Theming" : "ערכת נושא", - "Hardening and security guidance" : "הדרכת הקשחה ואבטחה", + "Default share permissions" : "הרשאות שיתוף כבררת מחדל", "Personal" : "אישי", "Administration" : "ניהול", "Profile picture" : "תמונת פרופיל", @@ -142,14 +138,18 @@ OC.L10N.register( "Choose as profile picture" : "יש לבחור כתמונת פרופיל", "Details" : "פרטים", "You are member of the following groups:" : "הקבוצות הבאות כוללות אותך:", + "You are using <strong>%s</strong>" : "הניצולת שלך היא <strong>%s</strong>", + "You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "הניצולת שלך היא <strong>%s</strong> מתוך <strong>%s</strong> (<strong>%s %%</strong>)", "No display name set" : "לא נקבע שם תצוגה", "Your email address" : "כתובת הדואר האלקטרוני שלך", "No email address set" : "לא נקבעה כתובת דואר אלקטרוני", + "For password reset and notifications" : "לאיפוס ססמה והתרעות", "Phone number" : "מספר טלפון", "Your phone number" : "מספר הטלפון שלך", "Address" : "כתובת", "Your postal address" : "כתובת הדואר שלך", "Website" : "אתר", + "It can take up to 24 hours before the account is displayed as verified." : "יתכן שיעברו עד 24 שעות בטרם הצגת החשבון כמאומת.", "Link https://…" : "קישור https://…", "Twitter" : "טוויטר", "Twitter handle @…" : "כינוי בטוויטר @…", @@ -164,6 +164,8 @@ OC.L10N.register( "Last activity" : "פעילות אחרונה", "App name" : "שם יישום", "Create new app password" : "יצירת סיסמת יישום חדשה", + "Use the credentials below to configure your app or device." : "יש להשתמש בפרטי הזיהוי שלהלן כדי להגדיר את היישומון או ההתקן שלך.", + "For security reasons this password will only be shown once." : "מטעמי אבטחה הססמה תופיע פעם אחת בלבד.", "Username" : "שם משתמש", "Done" : "הסתיים", "Follow us on Google+" : "לעקוב אחרינו ב־Google+", @@ -180,6 +182,7 @@ OC.L10N.register( "Security" : "אבטחה", "You successfully logged in using two-factor authentication (%1$s)" : "נכנסת בהצלחה באמצעות אימות דו־שלבי (%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "ניסיון כניסה עם אימות דו־שלבי נכשל (%1$s)", + "Your <strong>password</strong> or <strong>email</strong> was modified" : "ה<strong>סמסה</strong> או <strong>כתוב הדוא״ל שלך</strong> השתנו", "Enabled apps" : "יישומונים פעילים", "Wrong password" : "ססמה שגויה", "Saved" : "נשמר", @@ -187,6 +190,7 @@ OC.L10N.register( "Unable to change password" : "לא ניתן לשנות את הססמה", "Authentication error" : "שגיאת אימות", "Wrong admin recovery password. Please check the password and try again." : "סיסמת המנהל לשחזור שגוייה. יש לבדוק את הסיסמא ולנסות שוב.", + "Backend doesn't support password change, but the user's encryption key was updated." : "המנגנון אינו תומך בשינוי ססמה אך מפתח ההצפנה של המשתמש עודכן.", "installing and updating apps via the app store or Federated Cloud Sharing" : "התקנה ועדכון היישום דרך חנות היישומים או ענן שיתוף מאוגד", "Federated Cloud Sharing" : "ענן שיתוף מאוגד", "cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL משתמש בגרסה %s ישנה (%s). יש לעדכן את מערכת ההפעלה או שתכונות כדוגמת %s לא יעבדו באופן מהימן.", @@ -195,12 +199,24 @@ OC.L10N.register( "Group already exists." : "קבוצה כבר קיימת.", "Unable to add group." : "לא ניתן להוסיף קבוצה.", "Unable to delete group." : "לא ניתן למחוק קבוצה.", + "Invalid SMTP password." : "ססמת ה־SMTP שגויה.", + "Well done, %s!" : "עבודה יפה, %s!", + "If you received this email, the email configuration seems to be correct." : "אם קיבלת את הדוא״ל הזה, כנראה שתצורת הדוא״ל נכונה.", + "Email setting test" : "בדיקת הגדרת דוא״ל", + "Email could not be sent. Check your mail server log" : "לא ניתן לשלוח דוא״ל. נא לבדוק את רישומי שרת הדוא״ל שלך.", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "בעיה אירעה בשליחת הדואר האלקטרוני. יש לשנות את ההגדרות שלך. (שגיאה: %s)", "You need to set your user email before being able to send test emails." : "יש להגדיר כתובת דואר אלקטרוני לפני שניתן יהיה לשלוח דואר אלקטרוני לבדיקה.", "Invalid mail address" : "כתובת דואר אלקטרוני לא חוקית", + "No valid group selected" : "לא נבחרה קבוצה תקנית", "A user with that name already exists." : "משתמש בשם זה כבר קיים.", + "To send a password link to the user an email address is required." : "כדי לשלוח קישור ססמה נדרשת כתובת דוא״ל.", "Unable to create user." : "לא ניתן ליצור משתמש.", "Unable to delete user." : "לא ניתן למחוק משתמש.", + "Error while enabling user." : "שגיאה בעת הפעלת המשתמש.", + "Error while disabling user." : "שגיאה בעת השבתת המשתמש.", + "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "כדי לאמת את חשבון הטוויטר שלך, עליך לפרסם את הציוץ הבא בטוויטר (נא לוודא שהוא יפורסם ללא ירידות שורה):", + "In order to verify your Website, store the following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "כדי לאמת את האר של, עליך לאחסן את התוכן הבא בשורש האתר שלך תחת ‚.well-known/CloudIdVerificationCode.txt’ (עליך לוודא שכל הטקסט הזה מופיע בשורה אחת):", + "Settings saved" : "הגדרות נשמרו", "Unable to change full name" : "לא ניתן לשנות שם מלא", "Unable to change email address" : "לא ניתן לשנות את כתובת הדוא״ל", "Your full name has been changed." : "השם המלא שלך הוחלף", @@ -208,11 +224,21 @@ OC.L10N.register( "Invalid user" : "שם משתמש לא חוקי", "Unable to change mail address" : "לא ניתן לשנות כתובת דואר אלקטרוני", "Email saved" : "הדואר האלקטרוני נשמר", + "%1$s changed your password on %2$s." : "ססמת ב־%2$s הוחלפה על ידי %1$s.", "Your password on %s was changed." : "הססמה שלך ב־%s הוחלפה.", + "Your password on %s was reset by an administrator." : "ססמתך ב־%s אופסה על ידי נציגות מההנהלה.", "Password changed for %s" : "הוחלפה הססמה של %s", "If you did not request this, please contact an administrator." : "אם לא ביקשת זאת, נא ליצור קשר עם מנהל המערכת.", + "Password for %1$s changed on %2$s" : "הססמה עבור %1$s הוחלפה ב־%2$s", + "%1$s changed your email address on %2$s." : "הכתובת שלך ב־%2$s הוחלפה על ידי %1$s.", + "Your email address on %s was changed." : "כתובת הדוא״ל שלך ב־%s הוחלפה", + "Your email address on %s was changed by an administrator." : "כתובת הדוא״ל שלך ב־%s הוחלפה על ידי נציגות ההנהלה.", + "Email address changed for %s" : "כתובת הדוא״ל של %s הוחלפה", + "The new email address is %s" : "כתובת הדוא״ל החדשה היא %s", + "Email address for %1$s changed on %2$s" : "כתובת הדוא״ל עבור %1$s הוחלפה ב־%2$s", "Welcome aboard" : "ברוך בואך", "Welcome aboard %s" : "ברוך בואך %s", + "Welcome to your %s account, you can add, protect, and share your data." : "ברוך בואך לחשבונך ב־%s, יש לך את האפשרות להוסיף, להגן ולשתף את הנתונים שלך.", "Your username is: %s" : "שם המשתמש שלך הוא: %s", "Set your password" : "הגדרת הססמה שלך", "Go to %s" : "מעבר אל %s", @@ -231,6 +257,7 @@ OC.L10N.register( "All" : "הכל", "Update to %s" : "עדכון ל- %s", "No apps found for your version" : "לא נמצאו יישומים לגרסה שלך", + "Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "היישומונים הרשמיים מפותחים על ידי ובתוך הקהילה. הם מציעים תכונות ליבה מסוימות והן מוכנות לשימוש יומיומי.", "Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "יישומים מאושרים מפותחים על ידי מפתחים מהימנים ועברו בדיקת הבטחה ראשונית. הם נשמרים באופן פעיל במאגר קוד פתוח והמתזקים שלהם מייעדים אותם לשימוש מזדמן ורגיל.", "This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "יישום זה לא נבדק לבעיות אבטחה והוא חדש או ידוע כלא יציב. התקנת יישום זה הנה על אחריותך בלבד.", "Disabling app …" : "יישומון מושבת…", @@ -261,10 +288,13 @@ OC.L10N.register( "iPad iOS" : "iPad iOS", "iOS Client" : "לקוח iOS", "Android Client" : "לקוח Android", + "Sync client - {os}" : "לקוח סנכרון - {os}", "This session" : "הפעלה זו", "Copy" : "העתקה", "Copied!" : "הועתק!", "Not supported!" : "אין תמיכה!", + "Press ⌘-C to copy." : "יש ללחוץ על ⌘-C כדי להעתיק.", + "Press Ctrl-C to copy." : "יש ללחוץ על Ctrl-C כדי להעתיק.", "Error while loading browser sessions and device tokens" : "שגיאה בזמן טעינת שיחת דפדפן ומחרוזת התקן", "Error while creating device token" : "שגיאה בזמן יצירת מחרוזת התקן", "Error while deleting the token" : "שגיאה בזמן מחיקת המחרוזת", @@ -275,6 +305,7 @@ OC.L10N.register( "Only visible to local users" : "גלוי למשתמשים מקומיים בלבד", "Only visible to you" : "גלוי רק לך", "Contacts" : "אנשי קשר", + "Public" : "ציבורי", "Verify" : "אימות", "Verifying …" : "מתבצע אימות…", "An error occured while changing your language. Please reload the page and try again." : "אירעה שגיאה בעת שינוי השפה שלך. נא לרענן את העמוד ולנסות שוב.", @@ -308,6 +339,29 @@ OC.L10N.register( "A valid email must be provided" : "יש לספק כתובת דואר אלקטרוני תקנית", "Verifying" : "מתבצע אימות", "Personal info" : "פרטים אישיים", + "Sync clients" : "לקוחות סנכרון", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "חשוב למען האבטחה והביצועים של העותק שלך שהוא יוגדר כראוי. כדי לסייע לך בכך אנו עורכים מספר בדיקות אוטומטיות. נא לעיין בסעיף העצות והתכסיסים ובתיעוד לקבלת מידע נוסף.", + "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "מסתבר כי php לא מוגדר כראוי כדי לתשאל משתני סביבה. הבדיקה עם getenv(\"PATH\") מחזירה תשובה ריקה בלבד.", + "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "נא לעיין ב<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">תיעוד למתקינים ↖️</a> להערות בנוגע להגדרות php והגדרות ה־php לשרת שלך, במיוחד אם נעשה שימוש ב־php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "תצורת קריאה בלבד הופעלה. תצורה זו מונעת קביעת מספר הגדרות באמצעות ממשק האינטרנט. יתר על כן, יש צורך להגדיר ההרשאות כתיבה באופן ידני לכל עדכון.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "זה ככל הנראה נגרם על ידי מאיץ/מטמון כמו Zend OPcache או eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "מסד הנתונים שלך לא עובד עם רמת הפרדת פעולות של „READ COMMITTED” . מצב כזה יכול לגרום לבעיות כאשר מספר פעולות רצות במקביל.", + "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "מודול ה־PHP בשם ‚fileinfo’ חסר. אנו ממליצים בחום להפעיל את המודול הזה כדי לקבל תוצאות מיטביות בכל הנוגע לאיתור סוג MIME.", + "System locale can not be set to a one which supports UTF-8." : "הגדרות שפה לא יכולות להקבע ככאלה שתומכות ב- UTF-8.", + "This means that there might be problems with certain characters in file names." : "משמעות הדבר היא שעלולות להופיע תקלות מסוימות עם תווים כלשהם בשמות הקבצים.", + "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "נא לעיין היטב ב<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">מדריכי ההתקנה ↖️</a> ולחפש אם מופיעות שגיאות או אזהרות ב<a href=\"%s\">רישום</a>.", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php רשום בשירות בwebcron לקרוא ל־cron.php כל רבע שעה דרך http.", + "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "כדי להריץ זאת יש צורך בהרחבת posix ל־PHP. נא לעיין ב{linkstart}תיעוד של PHP{linkend} לפרטים נוספים.", + "Tips & tricks" : "עצות ותחבולות", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite הוא מנגנון מסד הנתונים נכון לעכשיו. במערכות גדולות מוטב להחליף למנגנון מסד נתונים אחר.", + "This is particularly recommended when using the desktop client for file synchronisation." : "מצב זה מומלץ במיוחד כאשר מריצים את לקוח שולחן העבודה לסנכרון קבצים.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "כדי להגר למסד נתונים אחר יש להשתמש בכלי שורת הפקודה: ‚occ db:convert-type’, או לעיין ב<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">תיעוד ↖️</a>.", + "How to do backups" : "איך לבצע גיבויים", + "Performance tuning" : "כוונון ביצועים", + "Improving the config.php" : "שיפור קובץ config.php", + "Theming" : "ערכת נושא", + "Check the security of your Nextcloud over our security scan" : "בדיקת האבטחה של ה־Nextcloud שלך באמצעות סריקת האבטחה שלנו", + "Hardening and security guidance" : "הדרכת הקשחה ואבטחה", "View in store" : "הצגה באחסון", "Limit to groups" : "הגבלה לקבוצות", "This app has an update available." : "ליישום זה קיים עדכון זמין.", @@ -318,10 +372,15 @@ OC.L10N.register( "Report a bug" : "דיווח על באג", "Show description …" : "הצגת תיאור ...", "Hide description …" : "הסתרת תיאור ...", + "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "ליישומון זה לא מוקצית גרסת Nextcloud מרבית. מצב כזה עשוי להוביל לשגיאה בעתיד.", "Enable only for specific groups" : "אפשר רק לקבוצות מסויימות", "You are using <strong>%s</strong> of <strong>%s</strong>" : "הנך משתמש ב- <strong>%s</strong> מתוך <strong>%s</strong>", + "Get the apps to sync your files" : "קבלת היישומונים לסנכרון הקבצים שלך", + "Desktop client" : "לקוח לשולחן העבודה", "Android app" : "יישומון ל־Android", "iOS app" : "יישומון ל־iOS", + "If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "לתמיכה במיזם ניתן {contributeopen}להצטרף לפיתוח{linkclose} או {contributeopen}להפיץ לכולם{linkclose}!", + "Show First Run Wizard again" : "הצגת אשף ההפעלה הראשונית שוב", "App passwords" : "ססמאות יישומון", "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "כאן ניתן לייצר ססמאות פרטניות ליישומונים כדי שלא יהיה עליך למסור את הססמה שלך. ניתן שם לשלול אותן באופן פרטני.", "Follow us on Google+!" : "לעקוב אחרינו ב־Google+!", @@ -334,6 +393,7 @@ OC.L10N.register( "Show last login" : "הצגת כניסה אחרונה", "Show email address" : "הצגת כתובת דואר אלקטרוני", "Send email to new user" : "שליחת דואר אלקטרוני למשתמש חדש", + "When the password of a new user is left empty, an activation email with a link to set the password is sent." : "כאשר הססמה של משתמש חדש נשארת ריקה, נשלחת הודעת הפעלה בדוא״ל עם קישור להגדרת הססמה.", "E-Mail" : "דואר אלקטרוני", "Create" : "יצירה", "Admin Recovery Password" : "סיסמת השחזור של המנהל", @@ -353,6 +413,17 @@ OC.L10N.register( "Updating …" : "מתבצע עדכון…", "Could not update app" : "לא ניתן לעדכן יישומון", "Could not remove app" : "לא ניתן להסיר יישומון", - "{size} used" : "{size} בשימוש" + "{size} used" : "{size} בשימוש", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "חשוב למען האבטחה והביצועים של העותק שלך שהוא יוגדר כראוי. כדי לסייע לך בכך אנו עורכים מספר בדיקות אוטומטיות. נא לעיין בסעיף העצות והתכסיסים ובתיעוד לקבלת מידע נוסף.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "מסתבר כי PHP לא מוגדר כראוי כדי לתשאל משתני סביבה. הבדיקה עם getenv(\"PATH\") מחזירה תשובה ריקה בלבד.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "נא לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">תיעוד למתקינים ↖️</a> להערות בנוגע להגדרות PHP והגדרות ה־PHP לשרת שלך, במיוחד אם נעשה שימוש ב־php-fpm.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "ההתקנה של %1$s היא בגרסה מתחת ל־%2$s, מטעמי יציבות וביצועים מומלץ לעדכן לגרסה עדכנית יותר של %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "מודול ה־PHP בשם ‚fileinfo’ חסר. מומלץ בחום להפעיל את המודול הזה כדי לקבל את התוצאות הטובות ביותר בזיהוי סוג MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "נעילת קבצים מושבתת בזמן פעילות, מצב כזה יכול לגרום לתקלות במקרים של תחרות על משאב. יש להפעיל את ‚filelocking.enabled’ ב־config.php כדי להתעלם מתקלות שכאלה. יש לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">תיעוד ↖️</a> לקבלת מידע נוסף.", + "This means that there might be problems with certain characters in filenames." : "משמעות הדבר היא שעשויות להופיע תקלות עם תווים מסוימים בשמות קבצים.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : " מומלץ בחום להתקין את החבילות הנדרשות במערכת שלך כדי לתמוך באחת מהגדרות השפה הבאות: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "אם המערכת שלך אינה מותקנת בשורש שם המתחם ומשתמשת ב־Cron של המערכת, עשויות לצוץ תקלות עם יצירת כתובות. כדי להימנע מהתקלות האלו, נא להגדיר את האפשרות „overwrite.cli.url” בקובץ ה־config.php של נתיב שורש ההתקנה שלך (הצעה: „%s”)", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "אירעה תקלה בהפעלת משימת ה־cron דרך שורת פקודה. השגיאות הטכניות הבאות התרחשו:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "כדי להגר למסד נתונים אחר יש להשתמש בכלי שורת הפקודה: ‚occ db:convert-type’, או לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">תיעוד ↖️</a>." }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); diff --git a/settings/l10n/he.json b/settings/l10n/he.json index 9e57e9d4dd6..08865ca5874 100644 --- a/settings/l10n/he.json +++ b/settings/l10n/he.json @@ -4,6 +4,7 @@ "Visit website" : "ביקור באתר האינטרנט", "User documentation" : "תיעוד משתמש", "Developer documentation" : "תיעוד מפתח", + "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "ליישומון זה לא מוקצית גרסת Nextcloud מזערית. מצב כזה עשוי להוביל לשגיאה בעתיד.", "This app cannot be installed because the following dependencies are not fulfilled:" : "לא ניתן להתקין את יישום זה כיוון שייחסי התלות הבאים לא התקיימו:", "Disable all" : "השבתת הכול", "Enable all" : "הפעלת הכול", @@ -31,6 +32,7 @@ "An error occured during the request. Unable to proceed." : "אירעה שגיאה במהלך הבקשה. לא ניתן להמשיך.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "היישומון הופעל אך יש לעדכן אותו. ההפניה לעמוד העדכון תחל בעוד 5 שניות.", "App update" : "עדכון יישומן", + "Error: This app can not be enabled because it makes the server unstable" : "שגיאה: לא ניתן להפעיל יישומון זה כיוון שהוא מערער את יציבות השרת.", "Error while enabling app" : "שגיאה בעת הפעלת יישום", "Your apps" : "היישומונים שלך", "Active apps" : "יישומונים פעילים", @@ -85,6 +87,7 @@ "Enable server-side encryption" : "הפעלת הצפנה בצד שרת", "Please read carefully before activating server-side encryption: " : "יש לקרוא בתשומת לב רבה לפני שמפעילים הצפנת צד שרת:", "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "ברגע שהצפנה מופעלת, כל הקבצים שיועלו לשרת מרגע זה יהיו מוצפנים בשרת. ניתן יהיה לנטרל את ההצפנה בעתיד רק אם מודול ההצפנה תומך בפונקציה זו, וכל התנאים המוקדמים (דהיינו הגדרת מפתח השחזור) מתקיימים.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "הצפנה לבד אינה מספיקה לאבטחה איכותית למערכת. נא לעיין בתיעוד לקבלת פרטים נוספים על אופן הפעולה של יישומון ההצפנה ודרכי היישום הנתמכות.", "Be aware that encryption always increases the file size." : "תשומת לב לכך שהצפנה בהכרח מגדילה את גודל הקובץ.", "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "תמיד טוב ליצור גיבוי קבוע למידע , במקרה של הצפנה יש לוודא שגם מפתחות ההצפנה מגובים עם המידע שלך.", "This is the final warning: Do you really want to enable encryption?" : "זו הזהרה אחרונה: האם באמת ברצונך להפעיל הצפנה?", @@ -95,19 +98,17 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "יש להמיר את מפתחות ההצפנה שלך בממערכת ההצפנה הישנה (ownCloud <= 8.0) למערכת החדשה.", "Start migration" : "התחלת המרה", "Security & setup warnings" : "הזהרות אבטחה והתקנה", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "תצורת קריאה בלבד הופעלה. תצורה זו מונעת קביעת מספר הגדרות באמצעות ממשק האינטרנט. יתר על כן, יש צורך להגדיר ההרשאות כתיבה באופן ידני לכל עדכון.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "זה ככל הנראה נגרם על ידי מאיץ/מטמון כמו Zend OPcache או eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "הגדרות שפה לא יכולות להקבע ככאלה שתומכות ב- UTF-8.", - "This means that there might be problems with certain characters in filenames." : "משמעות הדבר היא שעשויות להופיע תקלות עם תווים מסוימים בשמות קבצים.", - "Check the background job settings" : "בדיקת הגדרות משימות הרקע", "All checks passed." : "כל הבדיקות עברו", "There are some errors regarding your setup." : "ישנן מגוון שגיאות על ההגדרות שלך.", "There are some warnings regarding your setup." : "ישנן מגוון אזהרות על ההגדרות שלך.", "Checking for system and security issues." : "נבדקות תקלות מערכת ואבטחה.", "Version" : "גרסה", "Background jobs" : "משימות רקע", + "Background job didn’t run yet!" : "משימת הרקע לא רצה עדיין!", "Execute one task with each page loaded" : "יש להפעיל משימה אחת עם כל עמוד שנטען", + "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "כדי להריץ זאת יש צורך בהרחבת POSIX ל־PHP. נא לעיין ב{linkstart}תיעוד של PHP{linkend} לפרטים נוספים.", "Sharing" : "שיתוף", + "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "כמנהל יש לך אפשרות לכוונן את התנהגות השיתוף. נא לעיין בתיעוד לפרטים נוספים.", "Allow apps to use the Share API" : "לאפשר ליישום להשתמש ב־API השיתוף", "Allow users to share via link" : "אפשר למשתמשים לשתף באמצעות קישור", "Allow public uploads" : "אפשר העלאות ציבוריות", @@ -122,12 +123,7 @@ "Restrict users to only share with users in their groups" : "הגבלת משתמשים לשתף רק עם משתמשים בקבוצה שלהם", "Exclude groups from sharing" : "מניעת קבוצות משיתוף", "These groups will still be able to receive shares, but not to initiate them." : "קבוצות אלו עדיין יוכלו לקבל שיתופים, אך לא לשתף בעצמם.", - "Tips & tricks" : "עצות ותחבולות", - "How to do backups" : "איך לבצע גיבויים", - "Performance tuning" : "כוונון ביצועים", - "Improving the config.php" : "שיפור קובץ config.php", - "Theming" : "ערכת נושא", - "Hardening and security guidance" : "הדרכת הקשחה ואבטחה", + "Default share permissions" : "הרשאות שיתוף כבררת מחדל", "Personal" : "אישי", "Administration" : "ניהול", "Profile picture" : "תמונת פרופיל", @@ -140,14 +136,18 @@ "Choose as profile picture" : "יש לבחור כתמונת פרופיל", "Details" : "פרטים", "You are member of the following groups:" : "הקבוצות הבאות כוללות אותך:", + "You are using <strong>%s</strong>" : "הניצולת שלך היא <strong>%s</strong>", + "You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "הניצולת שלך היא <strong>%s</strong> מתוך <strong>%s</strong> (<strong>%s %%</strong>)", "No display name set" : "לא נקבע שם תצוגה", "Your email address" : "כתובת הדואר האלקטרוני שלך", "No email address set" : "לא נקבעה כתובת דואר אלקטרוני", + "For password reset and notifications" : "לאיפוס ססמה והתרעות", "Phone number" : "מספר טלפון", "Your phone number" : "מספר הטלפון שלך", "Address" : "כתובת", "Your postal address" : "כתובת הדואר שלך", "Website" : "אתר", + "It can take up to 24 hours before the account is displayed as verified." : "יתכן שיעברו עד 24 שעות בטרם הצגת החשבון כמאומת.", "Link https://…" : "קישור https://…", "Twitter" : "טוויטר", "Twitter handle @…" : "כינוי בטוויטר @…", @@ -162,6 +162,8 @@ "Last activity" : "פעילות אחרונה", "App name" : "שם יישום", "Create new app password" : "יצירת סיסמת יישום חדשה", + "Use the credentials below to configure your app or device." : "יש להשתמש בפרטי הזיהוי שלהלן כדי להגדיר את היישומון או ההתקן שלך.", + "For security reasons this password will only be shown once." : "מטעמי אבטחה הססמה תופיע פעם אחת בלבד.", "Username" : "שם משתמש", "Done" : "הסתיים", "Follow us on Google+" : "לעקוב אחרינו ב־Google+", @@ -178,6 +180,7 @@ "Security" : "אבטחה", "You successfully logged in using two-factor authentication (%1$s)" : "נכנסת בהצלחה באמצעות אימות דו־שלבי (%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "ניסיון כניסה עם אימות דו־שלבי נכשל (%1$s)", + "Your <strong>password</strong> or <strong>email</strong> was modified" : "ה<strong>סמסה</strong> או <strong>כתוב הדוא״ל שלך</strong> השתנו", "Enabled apps" : "יישומונים פעילים", "Wrong password" : "ססמה שגויה", "Saved" : "נשמר", @@ -185,6 +188,7 @@ "Unable to change password" : "לא ניתן לשנות את הססמה", "Authentication error" : "שגיאת אימות", "Wrong admin recovery password. Please check the password and try again." : "סיסמת המנהל לשחזור שגוייה. יש לבדוק את הסיסמא ולנסות שוב.", + "Backend doesn't support password change, but the user's encryption key was updated." : "המנגנון אינו תומך בשינוי ססמה אך מפתח ההצפנה של המשתמש עודכן.", "installing and updating apps via the app store or Federated Cloud Sharing" : "התקנה ועדכון היישום דרך חנות היישומים או ענן שיתוף מאוגד", "Federated Cloud Sharing" : "ענן שיתוף מאוגד", "cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL משתמש בגרסה %s ישנה (%s). יש לעדכן את מערכת ההפעלה או שתכונות כדוגמת %s לא יעבדו באופן מהימן.", @@ -193,12 +197,24 @@ "Group already exists." : "קבוצה כבר קיימת.", "Unable to add group." : "לא ניתן להוסיף קבוצה.", "Unable to delete group." : "לא ניתן למחוק קבוצה.", + "Invalid SMTP password." : "ססמת ה־SMTP שגויה.", + "Well done, %s!" : "עבודה יפה, %s!", + "If you received this email, the email configuration seems to be correct." : "אם קיבלת את הדוא״ל הזה, כנראה שתצורת הדוא״ל נכונה.", + "Email setting test" : "בדיקת הגדרת דוא״ל", + "Email could not be sent. Check your mail server log" : "לא ניתן לשלוח דוא״ל. נא לבדוק את רישומי שרת הדוא״ל שלך.", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "בעיה אירעה בשליחת הדואר האלקטרוני. יש לשנות את ההגדרות שלך. (שגיאה: %s)", "You need to set your user email before being able to send test emails." : "יש להגדיר כתובת דואר אלקטרוני לפני שניתן יהיה לשלוח דואר אלקטרוני לבדיקה.", "Invalid mail address" : "כתובת דואר אלקטרוני לא חוקית", + "No valid group selected" : "לא נבחרה קבוצה תקנית", "A user with that name already exists." : "משתמש בשם זה כבר קיים.", + "To send a password link to the user an email address is required." : "כדי לשלוח קישור ססמה נדרשת כתובת דוא״ל.", "Unable to create user." : "לא ניתן ליצור משתמש.", "Unable to delete user." : "לא ניתן למחוק משתמש.", + "Error while enabling user." : "שגיאה בעת הפעלת המשתמש.", + "Error while disabling user." : "שגיאה בעת השבתת המשתמש.", + "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "כדי לאמת את חשבון הטוויטר שלך, עליך לפרסם את הציוץ הבא בטוויטר (נא לוודא שהוא יפורסם ללא ירידות שורה):", + "In order to verify your Website, store the following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "כדי לאמת את האר של, עליך לאחסן את התוכן הבא בשורש האתר שלך תחת ‚.well-known/CloudIdVerificationCode.txt’ (עליך לוודא שכל הטקסט הזה מופיע בשורה אחת):", + "Settings saved" : "הגדרות נשמרו", "Unable to change full name" : "לא ניתן לשנות שם מלא", "Unable to change email address" : "לא ניתן לשנות את כתובת הדוא״ל", "Your full name has been changed." : "השם המלא שלך הוחלף", @@ -206,11 +222,21 @@ "Invalid user" : "שם משתמש לא חוקי", "Unable to change mail address" : "לא ניתן לשנות כתובת דואר אלקטרוני", "Email saved" : "הדואר האלקטרוני נשמר", + "%1$s changed your password on %2$s." : "ססמת ב־%2$s הוחלפה על ידי %1$s.", "Your password on %s was changed." : "הססמה שלך ב־%s הוחלפה.", + "Your password on %s was reset by an administrator." : "ססמתך ב־%s אופסה על ידי נציגות מההנהלה.", "Password changed for %s" : "הוחלפה הססמה של %s", "If you did not request this, please contact an administrator." : "אם לא ביקשת זאת, נא ליצור קשר עם מנהל המערכת.", + "Password for %1$s changed on %2$s" : "הססמה עבור %1$s הוחלפה ב־%2$s", + "%1$s changed your email address on %2$s." : "הכתובת שלך ב־%2$s הוחלפה על ידי %1$s.", + "Your email address on %s was changed." : "כתובת הדוא״ל שלך ב־%s הוחלפה", + "Your email address on %s was changed by an administrator." : "כתובת הדוא״ל שלך ב־%s הוחלפה על ידי נציגות ההנהלה.", + "Email address changed for %s" : "כתובת הדוא״ל של %s הוחלפה", + "The new email address is %s" : "כתובת הדוא״ל החדשה היא %s", + "Email address for %1$s changed on %2$s" : "כתובת הדוא״ל עבור %1$s הוחלפה ב־%2$s", "Welcome aboard" : "ברוך בואך", "Welcome aboard %s" : "ברוך בואך %s", + "Welcome to your %s account, you can add, protect, and share your data." : "ברוך בואך לחשבונך ב־%s, יש לך את האפשרות להוסיף, להגן ולשתף את הנתונים שלך.", "Your username is: %s" : "שם המשתמש שלך הוא: %s", "Set your password" : "הגדרת הססמה שלך", "Go to %s" : "מעבר אל %s", @@ -229,6 +255,7 @@ "All" : "הכל", "Update to %s" : "עדכון ל- %s", "No apps found for your version" : "לא נמצאו יישומים לגרסה שלך", + "Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "היישומונים הרשמיים מפותחים על ידי ובתוך הקהילה. הם מציעים תכונות ליבה מסוימות והן מוכנות לשימוש יומיומי.", "Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "יישומים מאושרים מפותחים על ידי מפתחים מהימנים ועברו בדיקת הבטחה ראשונית. הם נשמרים באופן פעיל במאגר קוד פתוח והמתזקים שלהם מייעדים אותם לשימוש מזדמן ורגיל.", "This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "יישום זה לא נבדק לבעיות אבטחה והוא חדש או ידוע כלא יציב. התקנת יישום זה הנה על אחריותך בלבד.", "Disabling app …" : "יישומון מושבת…", @@ -259,10 +286,13 @@ "iPad iOS" : "iPad iOS", "iOS Client" : "לקוח iOS", "Android Client" : "לקוח Android", + "Sync client - {os}" : "לקוח סנכרון - {os}", "This session" : "הפעלה זו", "Copy" : "העתקה", "Copied!" : "הועתק!", "Not supported!" : "אין תמיכה!", + "Press ⌘-C to copy." : "יש ללחוץ על ⌘-C כדי להעתיק.", + "Press Ctrl-C to copy." : "יש ללחוץ על Ctrl-C כדי להעתיק.", "Error while loading browser sessions and device tokens" : "שגיאה בזמן טעינת שיחת דפדפן ומחרוזת התקן", "Error while creating device token" : "שגיאה בזמן יצירת מחרוזת התקן", "Error while deleting the token" : "שגיאה בזמן מחיקת המחרוזת", @@ -273,6 +303,7 @@ "Only visible to local users" : "גלוי למשתמשים מקומיים בלבד", "Only visible to you" : "גלוי רק לך", "Contacts" : "אנשי קשר", + "Public" : "ציבורי", "Verify" : "אימות", "Verifying …" : "מתבצע אימות…", "An error occured while changing your language. Please reload the page and try again." : "אירעה שגיאה בעת שינוי השפה שלך. נא לרענן את העמוד ולנסות שוב.", @@ -306,6 +337,29 @@ "A valid email must be provided" : "יש לספק כתובת דואר אלקטרוני תקנית", "Verifying" : "מתבצע אימות", "Personal info" : "פרטים אישיים", + "Sync clients" : "לקוחות סנכרון", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "חשוב למען האבטחה והביצועים של העותק שלך שהוא יוגדר כראוי. כדי לסייע לך בכך אנו עורכים מספר בדיקות אוטומטיות. נא לעיין בסעיף העצות והתכסיסים ובתיעוד לקבלת מידע נוסף.", + "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "מסתבר כי php לא מוגדר כראוי כדי לתשאל משתני סביבה. הבדיקה עם getenv(\"PATH\") מחזירה תשובה ריקה בלבד.", + "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "נא לעיין ב<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">תיעוד למתקינים ↖️</a> להערות בנוגע להגדרות php והגדרות ה־php לשרת שלך, במיוחד אם נעשה שימוש ב־php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "תצורת קריאה בלבד הופעלה. תצורה זו מונעת קביעת מספר הגדרות באמצעות ממשק האינטרנט. יתר על כן, יש צורך להגדיר ההרשאות כתיבה באופן ידני לכל עדכון.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "זה ככל הנראה נגרם על ידי מאיץ/מטמון כמו Zend OPcache או eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "מסד הנתונים שלך לא עובד עם רמת הפרדת פעולות של „READ COMMITTED” . מצב כזה יכול לגרום לבעיות כאשר מספר פעולות רצות במקביל.", + "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "מודול ה־PHP בשם ‚fileinfo’ חסר. אנו ממליצים בחום להפעיל את המודול הזה כדי לקבל תוצאות מיטביות בכל הנוגע לאיתור סוג MIME.", + "System locale can not be set to a one which supports UTF-8." : "הגדרות שפה לא יכולות להקבע ככאלה שתומכות ב- UTF-8.", + "This means that there might be problems with certain characters in file names." : "משמעות הדבר היא שעלולות להופיע תקלות מסוימות עם תווים כלשהם בשמות הקבצים.", + "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "נא לעיין היטב ב<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">מדריכי ההתקנה ↖️</a> ולחפש אם מופיעות שגיאות או אזהרות ב<a href=\"%s\">רישום</a>.", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php רשום בשירות בwebcron לקרוא ל־cron.php כל רבע שעה דרך http.", + "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "כדי להריץ זאת יש צורך בהרחבת posix ל־PHP. נא לעיין ב{linkstart}תיעוד של PHP{linkend} לפרטים נוספים.", + "Tips & tricks" : "עצות ותחבולות", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite הוא מנגנון מסד הנתונים נכון לעכשיו. במערכות גדולות מוטב להחליף למנגנון מסד נתונים אחר.", + "This is particularly recommended when using the desktop client for file synchronisation." : "מצב זה מומלץ במיוחד כאשר מריצים את לקוח שולחן העבודה לסנכרון קבצים.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "כדי להגר למסד נתונים אחר יש להשתמש בכלי שורת הפקודה: ‚occ db:convert-type’, או לעיין ב<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">תיעוד ↖️</a>.", + "How to do backups" : "איך לבצע גיבויים", + "Performance tuning" : "כוונון ביצועים", + "Improving the config.php" : "שיפור קובץ config.php", + "Theming" : "ערכת נושא", + "Check the security of your Nextcloud over our security scan" : "בדיקת האבטחה של ה־Nextcloud שלך באמצעות סריקת האבטחה שלנו", + "Hardening and security guidance" : "הדרכת הקשחה ואבטחה", "View in store" : "הצגה באחסון", "Limit to groups" : "הגבלה לקבוצות", "This app has an update available." : "ליישום זה קיים עדכון זמין.", @@ -316,10 +370,15 @@ "Report a bug" : "דיווח על באג", "Show description …" : "הצגת תיאור ...", "Hide description …" : "הסתרת תיאור ...", + "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "ליישומון זה לא מוקצית גרסת Nextcloud מרבית. מצב כזה עשוי להוביל לשגיאה בעתיד.", "Enable only for specific groups" : "אפשר רק לקבוצות מסויימות", "You are using <strong>%s</strong> of <strong>%s</strong>" : "הנך משתמש ב- <strong>%s</strong> מתוך <strong>%s</strong>", + "Get the apps to sync your files" : "קבלת היישומונים לסנכרון הקבצים שלך", + "Desktop client" : "לקוח לשולחן העבודה", "Android app" : "יישומון ל־Android", "iOS app" : "יישומון ל־iOS", + "If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "לתמיכה במיזם ניתן {contributeopen}להצטרף לפיתוח{linkclose} או {contributeopen}להפיץ לכולם{linkclose}!", + "Show First Run Wizard again" : "הצגת אשף ההפעלה הראשונית שוב", "App passwords" : "ססמאות יישומון", "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "כאן ניתן לייצר ססמאות פרטניות ליישומונים כדי שלא יהיה עליך למסור את הססמה שלך. ניתן שם לשלול אותן באופן פרטני.", "Follow us on Google+!" : "לעקוב אחרינו ב־Google+!", @@ -332,6 +391,7 @@ "Show last login" : "הצגת כניסה אחרונה", "Show email address" : "הצגת כתובת דואר אלקטרוני", "Send email to new user" : "שליחת דואר אלקטרוני למשתמש חדש", + "When the password of a new user is left empty, an activation email with a link to set the password is sent." : "כאשר הססמה של משתמש חדש נשארת ריקה, נשלחת הודעת הפעלה בדוא״ל עם קישור להגדרת הססמה.", "E-Mail" : "דואר אלקטרוני", "Create" : "יצירה", "Admin Recovery Password" : "סיסמת השחזור של המנהל", @@ -351,6 +411,17 @@ "Updating …" : "מתבצע עדכון…", "Could not update app" : "לא ניתן לעדכן יישומון", "Could not remove app" : "לא ניתן להסיר יישומון", - "{size} used" : "{size} בשימוש" + "{size} used" : "{size} בשימוש", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "חשוב למען האבטחה והביצועים של העותק שלך שהוא יוגדר כראוי. כדי לסייע לך בכך אנו עורכים מספר בדיקות אוטומטיות. נא לעיין בסעיף העצות והתכסיסים ובתיעוד לקבלת מידע נוסף.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "מסתבר כי PHP לא מוגדר כראוי כדי לתשאל משתני סביבה. הבדיקה עם getenv(\"PATH\") מחזירה תשובה ריקה בלבד.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "נא לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">תיעוד למתקינים ↖️</a> להערות בנוגע להגדרות PHP והגדרות ה־PHP לשרת שלך, במיוחד אם נעשה שימוש ב־php-fpm.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "ההתקנה של %1$s היא בגרסה מתחת ל־%2$s, מטעמי יציבות וביצועים מומלץ לעדכן לגרסה עדכנית יותר של %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "מודול ה־PHP בשם ‚fileinfo’ חסר. מומלץ בחום להפעיל את המודול הזה כדי לקבל את התוצאות הטובות ביותר בזיהוי סוג MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "נעילת קבצים מושבתת בזמן פעילות, מצב כזה יכול לגרום לתקלות במקרים של תחרות על משאב. יש להפעיל את ‚filelocking.enabled’ ב־config.php כדי להתעלם מתקלות שכאלה. יש לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">תיעוד ↖️</a> לקבלת מידע נוסף.", + "This means that there might be problems with certain characters in filenames." : "משמעות הדבר היא שעשויות להופיע תקלות עם תווים מסוימים בשמות קבצים.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : " מומלץ בחום להתקין את החבילות הנדרשות במערכת שלך כדי לתמוך באחת מהגדרות השפה הבאות: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "אם המערכת שלך אינה מותקנת בשורש שם המתחם ומשתמשת ב־Cron של המערכת, עשויות לצוץ תקלות עם יצירת כתובות. כדי להימנע מהתקלות האלו, נא להגדיר את האפשרות „overwrite.cli.url” בקובץ ה־config.php של נתיב שורש ההתקנה שלך (הצעה: „%s”)", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "אירעה תקלה בהפעלת משימת ה־cron דרך שורת פקודה. השגיאות הטכניות הבאות התרחשו:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "כדי להגר למסד נתונים אחר יש להשתמש בכלי שורת הפקודה: ‚occ db:convert-type’, או לעיין ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">תיעוד ↖️</a>." },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" }
\ No newline at end of file diff --git a/settings/l10n/hr.js b/settings/l10n/hr.js index 683bd711c08..cfedb73ecb0 100644 --- a/settings/l10n/hr.js +++ b/settings/l10n/hr.js @@ -30,8 +30,6 @@ OC.L10N.register( "SMTP Password" : "Lozinka SMPT", "Test email settings" : "Postavke za testnu e-poštu", "Send email" : "Pošaljite e-poštu", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemoriranja kao što je Zend OPcache ilieAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Regionalnu shemu sustava nemoguće je postaviti na neku koja podržava UTF-8.", "Version" : "Verzija", "Execute one task with each page loaded" : "Izvršite jedan zadatak sa svakom učitanom stranicom", "Sharing" : "Dijeljenje zajedničkih resursa", @@ -93,6 +91,8 @@ OC.L10N.register( "deleted {userName}" : "izbrisano {userName}", "A valid username must be provided" : "Nužno je navesti valjano korisničko ime", "A valid password must be provided" : "Nužno je navesti valjanu lozinku", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemoriranja kao što je Zend OPcache ilieAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Regionalnu shemu sustava nemoguće je postaviti na neku koja podržava UTF-8.", "Documentation:" : "Dokumentacija:", "Enable only for specific groups" : "Omogućite samo za specifične grupe", "Show storage location" : "Prikaži mjesto pohrane", diff --git a/settings/l10n/hr.json b/settings/l10n/hr.json index d1d36d27029..baea5119a74 100644 --- a/settings/l10n/hr.json +++ b/settings/l10n/hr.json @@ -28,8 +28,6 @@ "SMTP Password" : "Lozinka SMPT", "Test email settings" : "Postavke za testnu e-poštu", "Send email" : "Pošaljite e-poštu", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemoriranja kao što je Zend OPcache ilieAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Regionalnu shemu sustava nemoguće je postaviti na neku koja podržava UTF-8.", "Version" : "Verzija", "Execute one task with each page loaded" : "Izvršite jedan zadatak sa svakom učitanom stranicom", "Sharing" : "Dijeljenje zajedničkih resursa", @@ -91,6 +89,8 @@ "deleted {userName}" : "izbrisano {userName}", "A valid username must be provided" : "Nužno je navesti valjano korisničko ime", "A valid password must be provided" : "Nužno je navesti valjanu lozinku", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemoriranja kao što je Zend OPcache ilieAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Regionalnu shemu sustava nemoguće je postaviti na neku koja podržava UTF-8.", "Documentation:" : "Dokumentacija:", "Enable only for specific groups" : "Omogućite samo za specifične grupe", "Show storage location" : "Prikaži mjesto pohrane", diff --git a/settings/l10n/hu.js b/settings/l10n/hu.js index 851aa8cd999..781bd6b191b 100644 --- a/settings/l10n/hu.js +++ b/settings/l10n/hu.js @@ -78,21 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba.", "Start migration" : "Migrálás indítása", "Security & setup warnings" : "Biztonsági és telepítési figyelmeztetések", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "A telepítésed biztonságához és megfelelő teljesítményéhez fontos, hogy minden beállítás helyes legyen. Ennek érdekében segítünk pár automatikus ellenőrzéssel. Kérlek tekintsd meg a tippek&trükkök részt a dokumentációban több információért.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Úgy tűnik, hogy a PHP nem tudja olvasni a rendszer környezeti változóit. A getenv(\"PATH\") teszt visszatérési értéke üres.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Kérlek ellenőrizd a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">telepítési dokumentációt ↗</a> a PHP beállításokhoz és a szervered beállításaidat főleg a php-fpm-el kapcsolatban.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Csak olvasható beállítófájl engedélyezve. Ez meggátolja a beállítások módosítását a webes felületről. Továbbá, a fájlt kézzel kell írhatóvá tenni minden frissítés alkalmával.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Úgy tűnik, hogy a PHP úgy van beállítva, hogy eltávolítja programok belsejében elhelyezett szövegblokkokat. Emiatt a rendszer több alapvető fontosságú eleme működésképtelen lesz.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ezt valószínűleg egy gyorsítótár ill. kódgyorsító, mint pl, a Zend, OPcache vagy eAccelererator okozza.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Az adatbázis nem tud \"READ COMMITTED\" tranzakció elkülönítési szinttel futni. Ez problémákat okozhat több egyidejű esemény végrehajtásakor.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s %2$s verziója van telepítve, de a stabilitási és teljesítményi okok miatt javasoljuk az újabb, %1$s verzióra való frissítést.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "A 'fileinfo' PHP modul nincs meg. Erősen javasoljuk használatát, hogy a MIME típus felismerés megfelelően működjön.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "A tranzakcionális fájlzárolás ki van kapcsova, ami problémákhoz vezethet verszenyhelyzetek esetén. Kapcsold be a 'filelocking.enabled' paramétert a config.php-ben ezek elkerülésére. Lásd a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentációt ↗</a> további információkért.", - "System locale can not be set to a one which supports UTF-8." : "A rendszer lokalizációs fájljai között nem sikerült olyat beállítani, ami támogatja az UTF-8-at.", - "This means that there might be problems with certain characters in filenames." : "Ez azt jelenti probléma lehet bizonyos karakterekkel a fájlnevekben.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Erősen javasolt a szükséges csomagok telepítése a rendszeredre a következőhöz: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ha a telepítése nem a webkiszolgáló gyökerében van, és a rendszer cron szolgáltatását használja, akkor problémák lehetnek az URL-ek képzésével. Ezek elkerülése érdekében állítsa be a config.php-ban az \"overwrite.cli.url\" paramétert a telepítés által használt webútvonalra. (Javasolt beállítás: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nem lehetett CLI módban futtatni a cron feladatot. A következő technikai hibák léptek fel:", "All checks passed." : "Minden ellenőrzés sikeres.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Kérlek ismét ellenőrizd a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">telepítési dokumentációt ↗</a>, és keress hibákat és figyelmeztetéseket a <a href=\"%s\">naplóban</a>.", "Version" : "Verzió", @@ -126,17 +111,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Nyilatkozat szövegének megjelenítése a nyilvános feltöltési oldalon. (Csak akkor jelenik meg, ha fájl lista rejtett.)", "This text will be shown on the public link upload page when the file list is hidden." : "Ez a szöveg jelenik meg a nyilvános feltöltési oldalon, amikor a fájl lista el van rejtve.", "Default share permissions" : "Alapértelmezett megosztási beállítások", - "Tips & tricks" : "Tippek és trükkök", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Rengeteg szolgáltatás és kapcsoló van a telepítés személyreszabásához. Íme pár iránymutatás a további információkra.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Jelenleg SQLite van használva háttér adatbázisként. Nagyobb telepítéshez más háttér adatbázist javaslunk.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Ez különösen asztali kliens szinkronizáció használata esetén javasolt.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Más adatbázisra való migráláshoz használd a parancssori eszközt: 'occ db:convert-type', vagy nézd meg a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentációt ↗</a>.", - "How to do backups" : "Hogyan csináljunk biztonsági mentéseket", - "Performance tuning" : "Teljesítmény hangolás", - "Improving the config.php" : "config.php javítása", - "Theming" : "Témázás", - "Check the security of your Nextcloud over our security scan" : "Ellenőrizze a Nextcloud biztonságát a biztonsági ellenőrzőnkkel ", - "Hardening and security guidance" : "Megerősítési és biztonsági útmutató", "Personal" : "Személyes", "Administration" : "Adminisztrátor", "Profile picture" : "Profilkép", @@ -358,10 +332,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "A telepítésed biztonságához és megfelelő teljesítményéhez fontos, hogy minden beállítás helyes legyen. Ennek érdekében segítünk pár automatikus ellenőrzéssel. Kérlek tekintsd meg a tippek&trükkök részt a dokumentációban több információért.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Úgy tűnik, hogy a PHP nem tudja olvasni a rendszer környezeti változóit. A getenv(\"PATH\") teszt visszatérési értéke üres.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Kérjük, ellenőrizze a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">telepítési dokumentációt ↗</a> a PHP konfigurációs beállításaival kapcsolatban, főleg ha PHP-FPM-et használ.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Csak olvasható beállítófájl engedélyezve. Ez meggátolja a beállítások módosítását a webes felületről. Továbbá, a fájlt kézzel kell írhatóvá tenni minden frissítés alkalmával.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Úgy tűnik, hogy a PHP úgy van beállítva, hogy eltávolítja programok belsejében elhelyezett szövegblokkokat. Emiatt a rendszer több alapvető fontosságú eleme működésképtelen lesz.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ezt valószínűleg egy gyorsítótár ill. kódgyorsító, mint pl, a Zend, OPcache vagy eAccelererator okozza.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Az adatbázis nem tud \"READ COMMITTED\" tranzakció elkülönítési szinttel futni. Ez problémákat okozhat több egyidejű esemény végrehajtásakor.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s %2$s verziója van telepítve, de a stabilitási és teljesítményi okok miatt javasoljuk az újabb, %1$s verzióra való frissítést.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "A 'fileinfo' PHP modul nincs meg. Erősen javasoljuk használatát, hogy a MIME típus felismerés megfelelően működjön.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Tranzakcionális fájl lezárás tiltva van, ez problémákat okozhat versenyhelyzetben. Engedélyezd a 'filelocking.enabled' beállítást a config.php -ben, hogy elkerüld ezeket a problémákat. Nézd meg a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentációt ↗</a> bővebb információért.", + "System locale can not be set to a one which supports UTF-8." : "A rendszer lokalizációs fájljai között nem sikerült olyat beállítani, ami támogatja az UTF-8-at.", "This means that there might be problems with certain characters in file names." : "Ez azt jelenti, hogy probléma lehet bizonyos karakterekkel a fájlnevekben.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Feltétlenül javasoljuk, hogy telepítse a szükséges csomagokat ahhoz, hogy a rendszere támogassa a következő lokalizációk valamelyikét: %s", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ha a telepítése nem a webkiszolgáló gyökerében van, és a rendszer cron szolgáltatását használja, akkor problémák lehetnek az URL-ek képzésével. Ezek elkerülése érdekében állítsa be a config.php-ban az \"overwrite.cli.url\" paramétert a telepítés által használt webútvonalra. (Javasolt beállítás: \"%s\")", @@ -369,7 +347,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Kérjük, ellenőrizd a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">telepítési dokumentációt ↗</a> és a <a href=\"%s\">naplót</a>, hogy tartalmaz-e bármilyen hibát vagy figyelmeztetést.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "A cron.php webcron szolgáltatásként van regisztrálva, hogy 15 percenként egyszer lefuttassa a cron.php-t.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Ennek a futtatásához szükség van a PHP posix kiterjesztésre. További információkért nézd meg a {linkstart}PHP dokumentációt{linkend}.", + "Tips & tricks" : "Tippek és trükkök", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Rengeteg szolgáltatás és kapcsoló van a telepítés személyreszabásához. Íme pár iránymutatás a további információkra.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Jelenleg SQLite van használva háttér adatbázisként. Nagyobb telepítéshez más háttér adatbázist javaslunk.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Ez különösen asztali kliens szinkronizáció használata esetén javasolt.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Más adatbázisról való áttéréshez használja a parancssort: 'occ db:convert-type', vagy keresse fel a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentációt ↗</a>.", + "How to do backups" : "Hogyan csináljunk biztonsági mentéseket", + "Performance tuning" : "Teljesítmény hangolás", + "Improving the config.php" : "config.php javítása", + "Theming" : "Témázás", + "Check the security of your Nextcloud over our security scan" : "Ellenőrizze a Nextcloud biztonságát a biztonsági ellenőrzőnkkel ", + "Hardening and security guidance" : "Megerősítési és biztonsági útmutató", "View in store" : "Megtekintés a tárban", "Limit to groups" : "Csoportokra korlátozás", "This app has an update available." : "Frissítés érhető el az alkalmazáshoz.", @@ -422,6 +410,18 @@ OC.L10N.register( "Updating …" : "Frissítés …", "Could not update app" : "Nem sikerült frissíteni az alkalmazás", "Could not remove app" : "Nem lehet eltávolítani az alkalmazást", - "{size} used" : "{size} felhasználva" + "{size} used" : "{size} felhasználva", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "A telepítésed biztonságához és megfelelő teljesítményéhez fontos, hogy minden beállítás helyes legyen. Ennek érdekében segítünk pár automatikus ellenőrzéssel. Kérlek tekintsd meg a tippek&trükkök részt a dokumentációban több információért.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Úgy tűnik, hogy a PHP nem tudja olvasni a rendszer környezeti változóit. A getenv(\"PATH\") teszt visszatérési értéke üres.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Kérlek ellenőrizd a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">telepítési dokumentációt ↗</a> a PHP beállításokhoz és a szervered beállításaidat főleg a php-fpm-el kapcsolatban.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Úgy tűnik, hogy a PHP úgy van beállítva, hogy eltávolítja programok belsejében elhelyezett szövegblokkokat. Emiatt a rendszer több alapvető fontosságú eleme működésképtelen lesz.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s %2$s verziója van telepítve, de a stabilitási és teljesítményi okok miatt javasoljuk az újabb, %1$s verzióra való frissítést.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "A 'fileinfo' PHP modul nincs meg. Erősen javasoljuk használatát, hogy a MIME típus felismerés megfelelően működjön.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "A tranzakcionális fájlzárolás ki van kapcsova, ami problémákhoz vezethet verszenyhelyzetek esetén. Kapcsold be a 'filelocking.enabled' paramétert a config.php-ben ezek elkerülésére. Lásd a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentációt ↗</a> további információkért.", + "This means that there might be problems with certain characters in filenames." : "Ez azt jelenti probléma lehet bizonyos karakterekkel a fájlnevekben.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Erősen javasolt a szükséges csomagok telepítése a rendszeredre a következőhöz: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ha a telepítése nem a webkiszolgáló gyökerében van, és a rendszer cron szolgáltatását használja, akkor problémák lehetnek az URL-ek képzésével. Ezek elkerülése érdekében állítsa be a config.php-ban az \"overwrite.cli.url\" paramétert a telepítés által használt webútvonalra. (Javasolt beállítás: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nem lehetett CLI módban futtatni a cron feladatot. A következő technikai hibák léptek fel:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Más adatbázisra való migráláshoz használd a parancssori eszközt: 'occ db:convert-type', vagy nézd meg a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentációt ↗</a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/hu.json b/settings/l10n/hu.json index 84ee66ab483..a405e9e5621 100644 --- a/settings/l10n/hu.json +++ b/settings/l10n/hu.json @@ -76,21 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba.", "Start migration" : "Migrálás indítása", "Security & setup warnings" : "Biztonsági és telepítési figyelmeztetések", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "A telepítésed biztonságához és megfelelő teljesítményéhez fontos, hogy minden beállítás helyes legyen. Ennek érdekében segítünk pár automatikus ellenőrzéssel. Kérlek tekintsd meg a tippek&trükkök részt a dokumentációban több információért.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Úgy tűnik, hogy a PHP nem tudja olvasni a rendszer környezeti változóit. A getenv(\"PATH\") teszt visszatérési értéke üres.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Kérlek ellenőrizd a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">telepítési dokumentációt ↗</a> a PHP beállításokhoz és a szervered beállításaidat főleg a php-fpm-el kapcsolatban.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Csak olvasható beállítófájl engedélyezve. Ez meggátolja a beállítások módosítását a webes felületről. Továbbá, a fájlt kézzel kell írhatóvá tenni minden frissítés alkalmával.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Úgy tűnik, hogy a PHP úgy van beállítva, hogy eltávolítja programok belsejében elhelyezett szövegblokkokat. Emiatt a rendszer több alapvető fontosságú eleme működésképtelen lesz.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ezt valószínűleg egy gyorsítótár ill. kódgyorsító, mint pl, a Zend, OPcache vagy eAccelererator okozza.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Az adatbázis nem tud \"READ COMMITTED\" tranzakció elkülönítési szinttel futni. Ez problémákat okozhat több egyidejű esemény végrehajtásakor.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s %2$s verziója van telepítve, de a stabilitási és teljesítményi okok miatt javasoljuk az újabb, %1$s verzióra való frissítést.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "A 'fileinfo' PHP modul nincs meg. Erősen javasoljuk használatát, hogy a MIME típus felismerés megfelelően működjön.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "A tranzakcionális fájlzárolás ki van kapcsova, ami problémákhoz vezethet verszenyhelyzetek esetén. Kapcsold be a 'filelocking.enabled' paramétert a config.php-ben ezek elkerülésére. Lásd a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentációt ↗</a> további információkért.", - "System locale can not be set to a one which supports UTF-8." : "A rendszer lokalizációs fájljai között nem sikerült olyat beállítani, ami támogatja az UTF-8-at.", - "This means that there might be problems with certain characters in filenames." : "Ez azt jelenti probléma lehet bizonyos karakterekkel a fájlnevekben.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Erősen javasolt a szükséges csomagok telepítése a rendszeredre a következőhöz: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ha a telepítése nem a webkiszolgáló gyökerében van, és a rendszer cron szolgáltatását használja, akkor problémák lehetnek az URL-ek képzésével. Ezek elkerülése érdekében állítsa be a config.php-ban az \"overwrite.cli.url\" paramétert a telepítés által használt webútvonalra. (Javasolt beállítás: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nem lehetett CLI módban futtatni a cron feladatot. A következő technikai hibák léptek fel:", "All checks passed." : "Minden ellenőrzés sikeres.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Kérlek ismét ellenőrizd a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">telepítési dokumentációt ↗</a>, és keress hibákat és figyelmeztetéseket a <a href=\"%s\">naplóban</a>.", "Version" : "Verzió", @@ -124,17 +109,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Nyilatkozat szövegének megjelenítése a nyilvános feltöltési oldalon. (Csak akkor jelenik meg, ha fájl lista rejtett.)", "This text will be shown on the public link upload page when the file list is hidden." : "Ez a szöveg jelenik meg a nyilvános feltöltési oldalon, amikor a fájl lista el van rejtve.", "Default share permissions" : "Alapértelmezett megosztási beállítások", - "Tips & tricks" : "Tippek és trükkök", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Rengeteg szolgáltatás és kapcsoló van a telepítés személyreszabásához. Íme pár iránymutatás a további információkra.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Jelenleg SQLite van használva háttér adatbázisként. Nagyobb telepítéshez más háttér adatbázist javaslunk.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Ez különösen asztali kliens szinkronizáció használata esetén javasolt.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Más adatbázisra való migráláshoz használd a parancssori eszközt: 'occ db:convert-type', vagy nézd meg a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentációt ↗</a>.", - "How to do backups" : "Hogyan csináljunk biztonsági mentéseket", - "Performance tuning" : "Teljesítmény hangolás", - "Improving the config.php" : "config.php javítása", - "Theming" : "Témázás", - "Check the security of your Nextcloud over our security scan" : "Ellenőrizze a Nextcloud biztonságát a biztonsági ellenőrzőnkkel ", - "Hardening and security guidance" : "Megerősítési és biztonsági útmutató", "Personal" : "Személyes", "Administration" : "Adminisztrátor", "Profile picture" : "Profilkép", @@ -356,10 +330,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "A telepítésed biztonságához és megfelelő teljesítményéhez fontos, hogy minden beállítás helyes legyen. Ennek érdekében segítünk pár automatikus ellenőrzéssel. Kérlek tekintsd meg a tippek&trükkök részt a dokumentációban több információért.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Úgy tűnik, hogy a PHP nem tudja olvasni a rendszer környezeti változóit. A getenv(\"PATH\") teszt visszatérési értéke üres.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Kérjük, ellenőrizze a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">telepítési dokumentációt ↗</a> a PHP konfigurációs beállításaival kapcsolatban, főleg ha PHP-FPM-et használ.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Csak olvasható beállítófájl engedélyezve. Ez meggátolja a beállítások módosítását a webes felületről. Továbbá, a fájlt kézzel kell írhatóvá tenni minden frissítés alkalmával.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Úgy tűnik, hogy a PHP úgy van beállítva, hogy eltávolítja programok belsejében elhelyezett szövegblokkokat. Emiatt a rendszer több alapvető fontosságú eleme működésképtelen lesz.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ezt valószínűleg egy gyorsítótár ill. kódgyorsító, mint pl, a Zend, OPcache vagy eAccelererator okozza.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Az adatbázis nem tud \"READ COMMITTED\" tranzakció elkülönítési szinttel futni. Ez problémákat okozhat több egyidejű esemény végrehajtásakor.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s %2$s verziója van telepítve, de a stabilitási és teljesítményi okok miatt javasoljuk az újabb, %1$s verzióra való frissítést.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "A 'fileinfo' PHP modul nincs meg. Erősen javasoljuk használatát, hogy a MIME típus felismerés megfelelően működjön.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Tranzakcionális fájl lezárás tiltva van, ez problémákat okozhat versenyhelyzetben. Engedélyezd a 'filelocking.enabled' beállítást a config.php -ben, hogy elkerüld ezeket a problémákat. Nézd meg a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentációt ↗</a> bővebb információért.", + "System locale can not be set to a one which supports UTF-8." : "A rendszer lokalizációs fájljai között nem sikerült olyat beállítani, ami támogatja az UTF-8-at.", "This means that there might be problems with certain characters in file names." : "Ez azt jelenti, hogy probléma lehet bizonyos karakterekkel a fájlnevekben.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Feltétlenül javasoljuk, hogy telepítse a szükséges csomagokat ahhoz, hogy a rendszere támogassa a következő lokalizációk valamelyikét: %s", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ha a telepítése nem a webkiszolgáló gyökerében van, és a rendszer cron szolgáltatását használja, akkor problémák lehetnek az URL-ek képzésével. Ezek elkerülése érdekében állítsa be a config.php-ban az \"overwrite.cli.url\" paramétert a telepítés által használt webútvonalra. (Javasolt beállítás: \"%s\")", @@ -367,7 +345,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Kérjük, ellenőrizd a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">telepítési dokumentációt ↗</a> és a <a href=\"%s\">naplót</a>, hogy tartalmaz-e bármilyen hibát vagy figyelmeztetést.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "A cron.php webcron szolgáltatásként van regisztrálva, hogy 15 percenként egyszer lefuttassa a cron.php-t.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Ennek a futtatásához szükség van a PHP posix kiterjesztésre. További információkért nézd meg a {linkstart}PHP dokumentációt{linkend}.", + "Tips & tricks" : "Tippek és trükkök", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Rengeteg szolgáltatás és kapcsoló van a telepítés személyreszabásához. Íme pár iránymutatás a további információkra.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Jelenleg SQLite van használva háttér adatbázisként. Nagyobb telepítéshez más háttér adatbázist javaslunk.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Ez különösen asztali kliens szinkronizáció használata esetén javasolt.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Más adatbázisról való áttéréshez használja a parancssort: 'occ db:convert-type', vagy keresse fel a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentációt ↗</a>.", + "How to do backups" : "Hogyan csináljunk biztonsági mentéseket", + "Performance tuning" : "Teljesítmény hangolás", + "Improving the config.php" : "config.php javítása", + "Theming" : "Témázás", + "Check the security of your Nextcloud over our security scan" : "Ellenőrizze a Nextcloud biztonságát a biztonsági ellenőrzőnkkel ", + "Hardening and security guidance" : "Megerősítési és biztonsági útmutató", "View in store" : "Megtekintés a tárban", "Limit to groups" : "Csoportokra korlátozás", "This app has an update available." : "Frissítés érhető el az alkalmazáshoz.", @@ -420,6 +408,18 @@ "Updating …" : "Frissítés …", "Could not update app" : "Nem sikerült frissíteni az alkalmazás", "Could not remove app" : "Nem lehet eltávolítani az alkalmazást", - "{size} used" : "{size} felhasználva" + "{size} used" : "{size} felhasználva", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "A telepítésed biztonságához és megfelelő teljesítményéhez fontos, hogy minden beállítás helyes legyen. Ennek érdekében segítünk pár automatikus ellenőrzéssel. Kérlek tekintsd meg a tippek&trükkök részt a dokumentációban több információért.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Úgy tűnik, hogy a PHP nem tudja olvasni a rendszer környezeti változóit. A getenv(\"PATH\") teszt visszatérési értéke üres.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Kérlek ellenőrizd a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">telepítési dokumentációt ↗</a> a PHP beállításokhoz és a szervered beállításaidat főleg a php-fpm-el kapcsolatban.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Úgy tűnik, hogy a PHP úgy van beállítva, hogy eltávolítja programok belsejében elhelyezett szövegblokkokat. Emiatt a rendszer több alapvető fontosságú eleme működésképtelen lesz.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s %2$s verziója van telepítve, de a stabilitási és teljesítményi okok miatt javasoljuk az újabb, %1$s verzióra való frissítést.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "A 'fileinfo' PHP modul nincs meg. Erősen javasoljuk használatát, hogy a MIME típus felismerés megfelelően működjön.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "A tranzakcionális fájlzárolás ki van kapcsova, ami problémákhoz vezethet verszenyhelyzetek esetén. Kapcsold be a 'filelocking.enabled' paramétert a config.php-ben ezek elkerülésére. Lásd a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentációt ↗</a> további információkért.", + "This means that there might be problems with certain characters in filenames." : "Ez azt jelenti probléma lehet bizonyos karakterekkel a fájlnevekben.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Erősen javasolt a szükséges csomagok telepítése a rendszeredre a következőhöz: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ha a telepítése nem a webkiszolgáló gyökerében van, és a rendszer cron szolgáltatását használja, akkor problémák lehetnek az URL-ek képzésével. Ezek elkerülése érdekében állítsa be a config.php-ban az \"overwrite.cli.url\" paramétert a telepítés által használt webútvonalra. (Javasolt beállítás: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nem lehetett CLI módban futtatni a cron feladatot. A következő technikai hibák léptek fel:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Más adatbázisra való migráláshoz használd a parancssori eszközt: 'occ db:convert-type', vagy nézd meg a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentációt ↗</a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/ia.js b/settings/l10n/ia.js index 02090dcbf5a..d24112f91d0 100644 --- a/settings/l10n/ia.js +++ b/settings/l10n/ia.js @@ -55,10 +55,6 @@ OC.L10N.register( "Expire after " : "Expirar post", "days" : "dies", "Enforce expiration date" : "Exiger data de expiration", - "Tips & tricks" : "Consilios e maneos", - "How to do backups" : "Como facer retrocopias", - "Improving the config.php" : "Meliorante config.php", - "Theming" : "Personalisante themas", "Profile picture" : "Pictura de profilo", "Upload new" : "Incargar nove", "Select from Files" : "Selectionar de Files", @@ -195,6 +191,10 @@ OC.L10N.register( "Error creating user: {message}" : "Error durante creation de usator: {message}", "A valid password must be provided" : "Un contrasigno valide debe esser providite", "A valid email must be provided" : "Un adresse de e-posta valide debe esser providite", + "Tips & tricks" : "Consilios e maneos", + "How to do backups" : "Como facer retrocopias", + "Improving the config.php" : "Meliorante config.php", + "Theming" : "Personalisante themas", "This app has an update available." : "Iste application ha un actualisation disponibile", "by %s" : "per %s", "%s-licensed" : "Licentiate como %s", diff --git a/settings/l10n/ia.json b/settings/l10n/ia.json index ca9be926b5c..6726fda0ab2 100644 --- a/settings/l10n/ia.json +++ b/settings/l10n/ia.json @@ -53,10 +53,6 @@ "Expire after " : "Expirar post", "days" : "dies", "Enforce expiration date" : "Exiger data de expiration", - "Tips & tricks" : "Consilios e maneos", - "How to do backups" : "Como facer retrocopias", - "Improving the config.php" : "Meliorante config.php", - "Theming" : "Personalisante themas", "Profile picture" : "Pictura de profilo", "Upload new" : "Incargar nove", "Select from Files" : "Selectionar de Files", @@ -193,6 +189,10 @@ "Error creating user: {message}" : "Error durante creation de usator: {message}", "A valid password must be provided" : "Un contrasigno valide debe esser providite", "A valid email must be provided" : "Un adresse de e-posta valide debe esser providite", + "Tips & tricks" : "Consilios e maneos", + "How to do backups" : "Como facer retrocopias", + "Improving the config.php" : "Meliorante config.php", + "Theming" : "Personalisante themas", "This app has an update available." : "Iste application ha un actualisation disponibile", "by %s" : "per %s", "%s-licensed" : "Licentiate como %s", diff --git a/settings/l10n/id.js b/settings/l10n/id.js index 268bce4ec22..07e8ac54ee8 100644 --- a/settings/l10n/id.js +++ b/settings/l10n/id.js @@ -68,10 +68,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Anda perlu untuk mengubah kunci enkripsi dari enkripsi lama (ownCloud <= 8.0) ke yang baru.", "Start migration" : "Mulai migrasi", "Security & setup warnings" : "Peringatan Keamanan & Pengaturan", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfig Hanya-Baca telah diaktifkan. Ini akan mencegah setelan beberapa konfigurasi melalui antarmuka-web. Selanjutnya, berkas perlu dibuat dapat-dibaca secara manual untuk setiap pembaruan.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hal ini kemungkinan disebabkan oleh cache/akselerator seperti Zend OPcache atau eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Database Anda tidak dijalankan dengan isolasi transaksi level \"READ COMMITED\". Ini dapat menyebabkan masalah saat banyak tindakan dilakukan secara paralel.", - "System locale can not be set to a one which supports UTF-8." : "Sistem lokal tidak dapat diatur untuk satu yang mendukung UTF-8.", "All checks passed." : "Semua pemeriksaan lulus.", "Version" : "Versi", "Execute one task with each page loaded" : "Jalankan tugas setiap kali halaman dimuat", @@ -89,12 +85,6 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "Batasi pengguna untuk hanya membagikan dengan pengguna didalam grup mereka", "Exclude groups from sharing" : "Tidak termasuk grup untuk berbagi", "These groups will still be able to receive shares, but not to initiate them." : "Grup ini akan tetap dapat menerima berbagi, tatapi tidak dapat membagikan.", - "Tips & tricks" : "Tips & trik", - "How to do backups" : "Bagaimana cara membuat cadangan", - "Performance tuning" : "Pemeliharaan performa", - "Improving the config.php" : "Memperbaiki config.php", - "Theming" : "Tema", - "Hardening and security guidance" : "Panduan Keselamatan dan Keamanan", "Profile picture" : "Foto profil", "Upload new" : "Unggah baru", "Select from Files" : "Pilih dari berkas", @@ -239,6 +229,16 @@ OC.L10N.register( "Error creating user: {message}" : "Gagal membuat pengguna: {message}", "A valid password must be provided" : "Harus memberikan kata sandi yang benar", "A valid email must be provided" : "Surel yang benar harus diberikan", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfig Hanya-Baca telah diaktifkan. Ini akan mencegah setelan beberapa konfigurasi melalui antarmuka-web. Selanjutnya, berkas perlu dibuat dapat-dibaca secara manual untuk setiap pembaruan.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hal ini kemungkinan disebabkan oleh cache/akselerator seperti Zend OPcache atau eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Database Anda tidak dijalankan dengan isolasi transaksi level \"READ COMMITED\". Ini dapat menyebabkan masalah saat banyak tindakan dilakukan secara paralel.", + "System locale can not be set to a one which supports UTF-8." : "Sistem lokal tidak dapat diatur untuk satu yang mendukung UTF-8.", + "Tips & tricks" : "Tips & trik", + "How to do backups" : "Bagaimana cara membuat cadangan", + "Performance tuning" : "Pemeliharaan performa", + "Improving the config.php" : "Memperbaiki config.php", + "Theming" : "Tema", + "Hardening and security guidance" : "Panduan Keselamatan dan Keamanan", "This app has an update available." : "Aplikasi ini dapat diperbarui.", "by %s" : "oleh %s", "%s-licensed" : "dilisensikan %s", diff --git a/settings/l10n/id.json b/settings/l10n/id.json index 5980757d778..6930f7f465a 100644 --- a/settings/l10n/id.json +++ b/settings/l10n/id.json @@ -66,10 +66,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Anda perlu untuk mengubah kunci enkripsi dari enkripsi lama (ownCloud <= 8.0) ke yang baru.", "Start migration" : "Mulai migrasi", "Security & setup warnings" : "Peringatan Keamanan & Pengaturan", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfig Hanya-Baca telah diaktifkan. Ini akan mencegah setelan beberapa konfigurasi melalui antarmuka-web. Selanjutnya, berkas perlu dibuat dapat-dibaca secara manual untuk setiap pembaruan.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hal ini kemungkinan disebabkan oleh cache/akselerator seperti Zend OPcache atau eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Database Anda tidak dijalankan dengan isolasi transaksi level \"READ COMMITED\". Ini dapat menyebabkan masalah saat banyak tindakan dilakukan secara paralel.", - "System locale can not be set to a one which supports UTF-8." : "Sistem lokal tidak dapat diatur untuk satu yang mendukung UTF-8.", "All checks passed." : "Semua pemeriksaan lulus.", "Version" : "Versi", "Execute one task with each page loaded" : "Jalankan tugas setiap kali halaman dimuat", @@ -87,12 +83,6 @@ "Restrict users to only share with users in their groups" : "Batasi pengguna untuk hanya membagikan dengan pengguna didalam grup mereka", "Exclude groups from sharing" : "Tidak termasuk grup untuk berbagi", "These groups will still be able to receive shares, but not to initiate them." : "Grup ini akan tetap dapat menerima berbagi, tatapi tidak dapat membagikan.", - "Tips & tricks" : "Tips & trik", - "How to do backups" : "Bagaimana cara membuat cadangan", - "Performance tuning" : "Pemeliharaan performa", - "Improving the config.php" : "Memperbaiki config.php", - "Theming" : "Tema", - "Hardening and security guidance" : "Panduan Keselamatan dan Keamanan", "Profile picture" : "Foto profil", "Upload new" : "Unggah baru", "Select from Files" : "Pilih dari berkas", @@ -237,6 +227,16 @@ "Error creating user: {message}" : "Gagal membuat pengguna: {message}", "A valid password must be provided" : "Harus memberikan kata sandi yang benar", "A valid email must be provided" : "Surel yang benar harus diberikan", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfig Hanya-Baca telah diaktifkan. Ini akan mencegah setelan beberapa konfigurasi melalui antarmuka-web. Selanjutnya, berkas perlu dibuat dapat-dibaca secara manual untuk setiap pembaruan.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hal ini kemungkinan disebabkan oleh cache/akselerator seperti Zend OPcache atau eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Database Anda tidak dijalankan dengan isolasi transaksi level \"READ COMMITED\". Ini dapat menyebabkan masalah saat banyak tindakan dilakukan secara paralel.", + "System locale can not be set to a one which supports UTF-8." : "Sistem lokal tidak dapat diatur untuk satu yang mendukung UTF-8.", + "Tips & tricks" : "Tips & trik", + "How to do backups" : "Bagaimana cara membuat cadangan", + "Performance tuning" : "Pemeliharaan performa", + "Improving the config.php" : "Memperbaiki config.php", + "Theming" : "Tema", + "Hardening and security guidance" : "Panduan Keselamatan dan Keamanan", "This app has an update available." : "Aplikasi ini dapat diperbarui.", "by %s" : "oleh %s", "%s-licensed" : "dilisensikan %s", diff --git a/settings/l10n/is.js b/settings/l10n/is.js index a59a86b7d35..506427f563d 100644 --- a/settings/l10n/is.js +++ b/settings/l10n/is.js @@ -91,22 +91,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju.", "Start migration" : "Hefja yfirfærslu", "Security & setup warnings" : "Öryggi og aðvaranir vegna uppsetningar", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Það er mikilvægt fyrir öryggi og afköst uppsetningarinnar þinnar að allt sé rétt stillt. Til að hjálpa við að svo sé, eru gerðar ýmsar sjálfvirkar prófanir. Skoðaðu 'Ábendingar og góð ráð' (Tips & Tricks) og hjálparskjölin til að sjá ítarlegar upplýsingar.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Það lítur út eins og að PHP sé ekki rétt sett upp varðandi fyrirspurnir um umhverfisbreytur. Prófun með getenv(\"PATH\") skilar auðu svari.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Endilega skoðaðu <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjöl uppsetningarinnar ↗</a> varðandi athugasemdir vegna uppsetningar PHP og sjálfa uppsetningu PHP-þjónsins, Sérstaklega ef þú notar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Skrifvarða stillingaskráin hefur verið virkjuð. Þetta kemur í veg fyrir að hægt sé að sýsla með sumar stillingar í gegnum vefviðmótið. Að auki þarf þessi skrá að vera skrifanleg við hverja uppfærslu.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP virðist vera sett upp to fjarlægja innantextablokkir (inline doc blocks). Þetta mun gera ýmis kjarnaforrit óaðgengileg.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Þessu veldur væntanlega biðminni/hraðall á borð við Zend OPcache eða eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Gagnagrunnurinn keyrir ekki með \"READ COMMITTED\" færsluaðgreiningarstiginu. Þetta getur valdið vandamálum þegar margar aðgerðir eru keyrðar í einu.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s eldra en útgáfa %2$s er uppsett, en vegna stöðugleika og afkasta mælum við með að útgáfa %1$s verði sett upp.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-eininguna 'fileinfo' vantar. Við mælum eindregið með notkun þessarar einingar til að fá bestu útkomu við greiningu á MIME-skráagerðum.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Færslulæsing skráa (transactional file locking) er óvirk, þetta gæti leitt til vandamála út frá forgangsskilyrðum (race conditions). Virkjaðu 'filelocking.enabled' í config.php til að forðast slík vandamál. Skoðaðu <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjölin ↗</a> til að sjá nánari upplýsingar.", - "System locale can not be set to a one which supports UTF-8." : "Ekki var hægt að setja staðfærslu kerfisins á neina sem styður UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Þetta þýðir að það geta komið upp vandamál við að birta ákveðna stafi í skráaheitum.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Við mælum eindregið með því að þessir nauðsynlegu pakkar séu á kerfinu til stuðnings einnar af eftirfarandi staðfærslum: %s", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ef uppsetningin þín er ekki á rót lénsins og þú notar cron stýrikerfisins, þá geta komið upp vandamál við gerð URL-slóða. Til að forðast slík vandamál, skaltu stilla \"overwrite.cli.url\" valkostinn í config.php skránni þinni á slóð vefrótarinnar (webroot) í uppsetningunni (tillaga: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Ekki var hægt að keyra cron-verkið á skipanalínu. Eftirfarandi tæknilegar villur komu upp:", - "Check the background job settings" : "Athugaðu stillingar bakgrunnsvinnslunnar", "All checks passed." : "Stóðst allar prófanir.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Yfirfarðu vandlega <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">uppsetningarleiðbeiningarnar ↗</a>, og athugaðu hvort nokkrar villumeldingar eða aðvaranir séu í <a href=\"%s\">annálnum</a>.", "Version" : "Útgáfa", @@ -140,17 +124,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Birta fyrirvara á opinberu upphleðslusíðunni. (Birtist einungis þegar listi yfir skrár er falinn).", "This text will be shown on the public link upload page when the file list is hidden." : "Þessi texti birtist á opinberu upphleðslusíðunni þegar listi yfir skrár er falinn.", "Default share permissions" : "Sjálfgefnar aðgangsheimildir fyrir deilingu", - "Tips & tricks" : "Ábendingar og góð ráð", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Það eru margir eiginleikar og stillingarofar í boði til að sérsníða og besta notkun þessarar uppsetningar. Hér eru nokkrar ábendingar um frekari upplýsingar.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Núna er stuðst við SQLite sem bakenda fyrir gagnagrunn. Fyrir stærri uppsetningar mælum við með að skipta yfir í annan gagnagrunnsbakenda.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Mælt er sérstaklega með þessu þegar skjáborðsforritið er notað til að samstilla skrár.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Til að yfirfæra í annan gagnagrunn skaltu nota skipanalínutólið: 'occ db:convert-type', eða lesa <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjölin ↗</a>.", - "How to do backups" : "Hvernig á að taka öryggisafrit", - "Performance tuning" : "Fínstilling afkasta", - "Improving the config.php" : "Bæting á config.php skránni", - "Theming" : "Þemu", - "Check the security of your Nextcloud over our security scan" : "Athugaðu öryggi Nextcloud-skýsins með öryggisskönnun okkar", - "Hardening and security guidance" : "Brynjun og öryggisleiðbeiningar", "Personal" : "Einka", "Administration" : "Stjórnun", "Profile picture" : "Einkennismynd", @@ -375,10 +348,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Það er mikilvægt fyrir öryggi og afköst uppsetningarinnar þinnar að allt sé rétt stillt. Til að hjálpa við að svo sé, eru gerðar ýmsar sjálfvirkar prófanir. Skoðaðu 'Ábendingar og góð ráð' (Tips & Tricks) og hjálparskjölin til að sjá ítarlegar upplýsingar.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Það lítur út eins og að PHP sé ekki rétt sett upp varðandi fyrirspurnir um umhverfisbreytur. Prófun með getenv(\"PATH\") skilar auðu svari.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Endilega skoðaðu <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">hjálparskjöl uppsetningarinnar ↗</a> varðandi athugasemdir vegna uppsetningar PHP og sjálfa uppsetningu PHP-þjónsins, Sérstaklega ef þú notar php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Skrifvarða stillingaskráin hefur verið virkjuð. Þetta kemur í veg fyrir að hægt sé að sýsla með sumar stillingar í gegnum vefviðmótið. Að auki þarf þessi skrá að vera skrifanleg við hverja uppfærslu.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP virðist vera sett upp to fjarlægja innantextablokkir (inline doc blocks). Þetta mun gera ýmis kjarnaforrit óaðgengileg.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Þessu veldur væntanlega biðminni/hraðall á borð við Zend OPcache eða eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Gagnagrunnurinn keyrir ekki með \"READ COMMITTED\" færsluaðgreiningarstiginu. Þetta getur valdið vandamálum þegar margar aðgerðir eru keyrðar í einu.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s eldra en útgáfa %2$s er uppsett, en vegna stöðugleika og afkasta mælum við með að útgáfa %1$s verði sett upp.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP-eininguna 'fileinfo' vantar. Við mælum eindregið með notkun þessarar einingar til að fá bestu útkomu við greiningu á MIME-skráagerðum.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Færslulæsing skráa (transactional file locking) er óvirk, þetta gæti leitt til vandamála út frá forgangsskilyrðum (race conditions). Virkjaðu 'filelocking.enabled' í config.php til að forðast slík vandamál. Skoðaðu <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">hjálparskjölin ↗</a> til að sjá nánari upplýsingar.", + "System locale can not be set to a one which supports UTF-8." : "Ekki var hægt að setja staðfærslu kerfisins á neina sem styður UTF-8.", "This means that there might be problems with certain characters in file names." : "Þetta þýðir að það geta komið upp vandamál við að birta ákveðna stafi í skráaheitum.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Við mælum eindregið með því að þessir nauðsynlegu pakkar séu á kerfinu til stuðnings einnar af eftirfarandi staðfærslum: %s", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ef uppsetningin þín er ekki á rót lénsins og þú notar cron stýrikerfisins, þá geta komið upp vandamál við gerð URL-slóða. Til að forðast slík vandamál, skaltu stilla \"overwrite.cli.url\" valkostinn í config.php skránni þinni á slóð vefrótarinnar (webroot) í uppsetningunni (tillaga: \"%s\")", @@ -386,7 +363,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Yfirfarðu vandlega <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">uppsetningarleiðbeiningarnar ↗</a>, og athugaðu hvort nokkrar villumeldingar eða aðvaranir séu í <a href=\"%s\">annálnum</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er skráð á webcron-þjónustu til að kalla á cron.php á 15 mínútna fresti yfir http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Til að keyra þetta þarftu að hafa PHP posix viðvótina (extension). Skoðaðu {linkstart}PHP hjálparskjölin{linkend} fyrir nánari útlistun.", + "Tips & tricks" : "Ábendingar og góð ráð", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Það eru margir eiginleikar og stillingarofar í boði til að sérsníða og besta notkun þessarar uppsetningar. Hér eru nokkrar ábendingar um frekari upplýsingar.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Núna er stuðst við SQLite sem bakenda fyrir gagnagrunn. Fyrir stærri uppsetningar mælum við með að skipta yfir í annan gagnagrunnsbakenda.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Mælt er sérstaklega með þessu þegar skjáborðsforritið er notað til að samstilla skrár.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Til að yfirfæra í annan gagnagrunn skaltu nota skipanalínutólið: 'occ db:convert-type', eða lesa <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">hjálparskjölin ↗</a>.", + "How to do backups" : "Hvernig á að taka öryggisafrit", + "Performance tuning" : "Fínstilling afkasta", + "Improving the config.php" : "Bæting á config.php skránni", + "Theming" : "Þemu", + "Check the security of your Nextcloud over our security scan" : "Athugaðu öryggi Nextcloud-skýsins með öryggisskönnun okkar", + "Hardening and security guidance" : "Brynjun og öryggisleiðbeiningar", "View in store" : "Skoða í hugbúnaðarsafni", "Limit to groups" : "Takmarka við hópa", "This app has an update available." : "Uppfærsla er tiltæk fyrir þetta forrit.", @@ -439,6 +426,18 @@ OC.L10N.register( "Updating …" : "Uppfæri …", "Could not update app" : "Gat ekki uppfært forrit", "Could not remove app" : "Gat ekki fjarlægt forrit", - "{size} used" : "{size} notað" + "{size} used" : "{size} notað", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Það er mikilvægt fyrir öryggi og afköst uppsetningarinnar þinnar að allt sé rétt stillt. Til að hjálpa við að svo sé, eru gerðar ýmsar sjálfvirkar prófanir. Skoðaðu 'Ábendingar og góð ráð' (Tips & Tricks) og hjálparskjölin til að sjá ítarlegar upplýsingar.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Það lítur út eins og að PHP sé ekki rétt sett upp varðandi fyrirspurnir um umhverfisbreytur. Prófun með getenv(\"PATH\") skilar auðu svari.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Endilega skoðaðu <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjöl uppsetningarinnar ↗</a> varðandi athugasemdir vegna uppsetningar PHP og sjálfa uppsetningu PHP-þjónsins, Sérstaklega ef þú notar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP virðist vera sett upp to fjarlægja innantextablokkir (inline doc blocks). Þetta mun gera ýmis kjarnaforrit óaðgengileg.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s eldra en útgáfa %2$s er uppsett, en vegna stöðugleika og afkasta mælum við með að útgáfa %1$s verði sett upp.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-eininguna 'fileinfo' vantar. Við mælum eindregið með notkun þessarar einingar til að fá bestu útkomu við greiningu á MIME-skráagerðum.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Færslulæsing skráa (transactional file locking) er óvirk, þetta gæti leitt til vandamála út frá forgangsskilyrðum (race conditions). Virkjaðu 'filelocking.enabled' í config.php til að forðast slík vandamál. Skoðaðu <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjölin ↗</a> til að sjá nánari upplýsingar.", + "This means that there might be problems with certain characters in filenames." : "Þetta þýðir að það geta komið upp vandamál við að birta ákveðna stafi í skráaheitum.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Við mælum eindregið með því að þessir nauðsynlegu pakkar séu á kerfinu til stuðnings einnar af eftirfarandi staðfærslum: %s", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ef uppsetningin þín er ekki á rót lénsins og þú notar cron stýrikerfisins, þá geta komið upp vandamál við gerð URL-slóða. Til að forðast slík vandamál, skaltu stilla \"overwrite.cli.url\" valkostinn í config.php skránni þinni á slóð vefrótarinnar (webroot) í uppsetningunni (tillaga: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Ekki var hægt að keyra cron-verkið á skipanalínu. Eftirfarandi tæknilegar villur komu upp:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Til að yfirfæra í annan gagnagrunn skaltu nota skipanalínutólið: 'occ db:convert-type', eða lesa <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjölin ↗</a>." }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/settings/l10n/is.json b/settings/l10n/is.json index 64f0ae1f412..67a52a2d662 100644 --- a/settings/l10n/is.json +++ b/settings/l10n/is.json @@ -89,22 +89,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju.", "Start migration" : "Hefja yfirfærslu", "Security & setup warnings" : "Öryggi og aðvaranir vegna uppsetningar", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Það er mikilvægt fyrir öryggi og afköst uppsetningarinnar þinnar að allt sé rétt stillt. Til að hjálpa við að svo sé, eru gerðar ýmsar sjálfvirkar prófanir. Skoðaðu 'Ábendingar og góð ráð' (Tips & Tricks) og hjálparskjölin til að sjá ítarlegar upplýsingar.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Það lítur út eins og að PHP sé ekki rétt sett upp varðandi fyrirspurnir um umhverfisbreytur. Prófun með getenv(\"PATH\") skilar auðu svari.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Endilega skoðaðu <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjöl uppsetningarinnar ↗</a> varðandi athugasemdir vegna uppsetningar PHP og sjálfa uppsetningu PHP-þjónsins, Sérstaklega ef þú notar php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Skrifvarða stillingaskráin hefur verið virkjuð. Þetta kemur í veg fyrir að hægt sé að sýsla með sumar stillingar í gegnum vefviðmótið. Að auki þarf þessi skrá að vera skrifanleg við hverja uppfærslu.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP virðist vera sett upp to fjarlægja innantextablokkir (inline doc blocks). Þetta mun gera ýmis kjarnaforrit óaðgengileg.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Þessu veldur væntanlega biðminni/hraðall á borð við Zend OPcache eða eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Gagnagrunnurinn keyrir ekki með \"READ COMMITTED\" færsluaðgreiningarstiginu. Þetta getur valdið vandamálum þegar margar aðgerðir eru keyrðar í einu.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s eldra en útgáfa %2$s er uppsett, en vegna stöðugleika og afkasta mælum við með að útgáfa %1$s verði sett upp.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-eininguna 'fileinfo' vantar. Við mælum eindregið með notkun þessarar einingar til að fá bestu útkomu við greiningu á MIME-skráagerðum.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Færslulæsing skráa (transactional file locking) er óvirk, þetta gæti leitt til vandamála út frá forgangsskilyrðum (race conditions). Virkjaðu 'filelocking.enabled' í config.php til að forðast slík vandamál. Skoðaðu <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjölin ↗</a> til að sjá nánari upplýsingar.", - "System locale can not be set to a one which supports UTF-8." : "Ekki var hægt að setja staðfærslu kerfisins á neina sem styður UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Þetta þýðir að það geta komið upp vandamál við að birta ákveðna stafi í skráaheitum.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Við mælum eindregið með því að þessir nauðsynlegu pakkar séu á kerfinu til stuðnings einnar af eftirfarandi staðfærslum: %s", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ef uppsetningin þín er ekki á rót lénsins og þú notar cron stýrikerfisins, þá geta komið upp vandamál við gerð URL-slóða. Til að forðast slík vandamál, skaltu stilla \"overwrite.cli.url\" valkostinn í config.php skránni þinni á slóð vefrótarinnar (webroot) í uppsetningunni (tillaga: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Ekki var hægt að keyra cron-verkið á skipanalínu. Eftirfarandi tæknilegar villur komu upp:", - "Check the background job settings" : "Athugaðu stillingar bakgrunnsvinnslunnar", "All checks passed." : "Stóðst allar prófanir.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Yfirfarðu vandlega <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">uppsetningarleiðbeiningarnar ↗</a>, og athugaðu hvort nokkrar villumeldingar eða aðvaranir séu í <a href=\"%s\">annálnum</a>.", "Version" : "Útgáfa", @@ -138,17 +122,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Birta fyrirvara á opinberu upphleðslusíðunni. (Birtist einungis þegar listi yfir skrár er falinn).", "This text will be shown on the public link upload page when the file list is hidden." : "Þessi texti birtist á opinberu upphleðslusíðunni þegar listi yfir skrár er falinn.", "Default share permissions" : "Sjálfgefnar aðgangsheimildir fyrir deilingu", - "Tips & tricks" : "Ábendingar og góð ráð", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Það eru margir eiginleikar og stillingarofar í boði til að sérsníða og besta notkun þessarar uppsetningar. Hér eru nokkrar ábendingar um frekari upplýsingar.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Núna er stuðst við SQLite sem bakenda fyrir gagnagrunn. Fyrir stærri uppsetningar mælum við með að skipta yfir í annan gagnagrunnsbakenda.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Mælt er sérstaklega með þessu þegar skjáborðsforritið er notað til að samstilla skrár.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Til að yfirfæra í annan gagnagrunn skaltu nota skipanalínutólið: 'occ db:convert-type', eða lesa <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjölin ↗</a>.", - "How to do backups" : "Hvernig á að taka öryggisafrit", - "Performance tuning" : "Fínstilling afkasta", - "Improving the config.php" : "Bæting á config.php skránni", - "Theming" : "Þemu", - "Check the security of your Nextcloud over our security scan" : "Athugaðu öryggi Nextcloud-skýsins með öryggisskönnun okkar", - "Hardening and security guidance" : "Brynjun og öryggisleiðbeiningar", "Personal" : "Einka", "Administration" : "Stjórnun", "Profile picture" : "Einkennismynd", @@ -373,10 +346,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Það er mikilvægt fyrir öryggi og afköst uppsetningarinnar þinnar að allt sé rétt stillt. Til að hjálpa við að svo sé, eru gerðar ýmsar sjálfvirkar prófanir. Skoðaðu 'Ábendingar og góð ráð' (Tips & Tricks) og hjálparskjölin til að sjá ítarlegar upplýsingar.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Það lítur út eins og að PHP sé ekki rétt sett upp varðandi fyrirspurnir um umhverfisbreytur. Prófun með getenv(\"PATH\") skilar auðu svari.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Endilega skoðaðu <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">hjálparskjöl uppsetningarinnar ↗</a> varðandi athugasemdir vegna uppsetningar PHP og sjálfa uppsetningu PHP-þjónsins, Sérstaklega ef þú notar php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Skrifvarða stillingaskráin hefur verið virkjuð. Þetta kemur í veg fyrir að hægt sé að sýsla með sumar stillingar í gegnum vefviðmótið. Að auki þarf þessi skrá að vera skrifanleg við hverja uppfærslu.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP virðist vera sett upp to fjarlægja innantextablokkir (inline doc blocks). Þetta mun gera ýmis kjarnaforrit óaðgengileg.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Þessu veldur væntanlega biðminni/hraðall á borð við Zend OPcache eða eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Gagnagrunnurinn keyrir ekki með \"READ COMMITTED\" færsluaðgreiningarstiginu. Þetta getur valdið vandamálum þegar margar aðgerðir eru keyrðar í einu.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s eldra en útgáfa %2$s er uppsett, en vegna stöðugleika og afkasta mælum við með að útgáfa %1$s verði sett upp.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP-eininguna 'fileinfo' vantar. Við mælum eindregið með notkun þessarar einingar til að fá bestu útkomu við greiningu á MIME-skráagerðum.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Færslulæsing skráa (transactional file locking) er óvirk, þetta gæti leitt til vandamála út frá forgangsskilyrðum (race conditions). Virkjaðu 'filelocking.enabled' í config.php til að forðast slík vandamál. Skoðaðu <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">hjálparskjölin ↗</a> til að sjá nánari upplýsingar.", + "System locale can not be set to a one which supports UTF-8." : "Ekki var hægt að setja staðfærslu kerfisins á neina sem styður UTF-8.", "This means that there might be problems with certain characters in file names." : "Þetta þýðir að það geta komið upp vandamál við að birta ákveðna stafi í skráaheitum.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Við mælum eindregið með því að þessir nauðsynlegu pakkar séu á kerfinu til stuðnings einnar af eftirfarandi staðfærslum: %s", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ef uppsetningin þín er ekki á rót lénsins og þú notar cron stýrikerfisins, þá geta komið upp vandamál við gerð URL-slóða. Til að forðast slík vandamál, skaltu stilla \"overwrite.cli.url\" valkostinn í config.php skránni þinni á slóð vefrótarinnar (webroot) í uppsetningunni (tillaga: \"%s\")", @@ -384,7 +361,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Yfirfarðu vandlega <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">uppsetningarleiðbeiningarnar ↗</a>, og athugaðu hvort nokkrar villumeldingar eða aðvaranir séu í <a href=\"%s\">annálnum</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er skráð á webcron-þjónustu til að kalla á cron.php á 15 mínútna fresti yfir http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Til að keyra þetta þarftu að hafa PHP posix viðvótina (extension). Skoðaðu {linkstart}PHP hjálparskjölin{linkend} fyrir nánari útlistun.", + "Tips & tricks" : "Ábendingar og góð ráð", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Það eru margir eiginleikar og stillingarofar í boði til að sérsníða og besta notkun þessarar uppsetningar. Hér eru nokkrar ábendingar um frekari upplýsingar.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Núna er stuðst við SQLite sem bakenda fyrir gagnagrunn. Fyrir stærri uppsetningar mælum við með að skipta yfir í annan gagnagrunnsbakenda.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Mælt er sérstaklega með þessu þegar skjáborðsforritið er notað til að samstilla skrár.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Til að yfirfæra í annan gagnagrunn skaltu nota skipanalínutólið: 'occ db:convert-type', eða lesa <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">hjálparskjölin ↗</a>.", + "How to do backups" : "Hvernig á að taka öryggisafrit", + "Performance tuning" : "Fínstilling afkasta", + "Improving the config.php" : "Bæting á config.php skránni", + "Theming" : "Þemu", + "Check the security of your Nextcloud over our security scan" : "Athugaðu öryggi Nextcloud-skýsins með öryggisskönnun okkar", + "Hardening and security guidance" : "Brynjun og öryggisleiðbeiningar", "View in store" : "Skoða í hugbúnaðarsafni", "Limit to groups" : "Takmarka við hópa", "This app has an update available." : "Uppfærsla er tiltæk fyrir þetta forrit.", @@ -437,6 +424,18 @@ "Updating …" : "Uppfæri …", "Could not update app" : "Gat ekki uppfært forrit", "Could not remove app" : "Gat ekki fjarlægt forrit", - "{size} used" : "{size} notað" + "{size} used" : "{size} notað", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Það er mikilvægt fyrir öryggi og afköst uppsetningarinnar þinnar að allt sé rétt stillt. Til að hjálpa við að svo sé, eru gerðar ýmsar sjálfvirkar prófanir. Skoðaðu 'Ábendingar og góð ráð' (Tips & Tricks) og hjálparskjölin til að sjá ítarlegar upplýsingar.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Það lítur út eins og að PHP sé ekki rétt sett upp varðandi fyrirspurnir um umhverfisbreytur. Prófun með getenv(\"PATH\") skilar auðu svari.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Endilega skoðaðu <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjöl uppsetningarinnar ↗</a> varðandi athugasemdir vegna uppsetningar PHP og sjálfa uppsetningu PHP-þjónsins, Sérstaklega ef þú notar php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP virðist vera sett upp to fjarlægja innantextablokkir (inline doc blocks). Þetta mun gera ýmis kjarnaforrit óaðgengileg.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s eldra en útgáfa %2$s er uppsett, en vegna stöðugleika og afkasta mælum við með að útgáfa %1$s verði sett upp.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-eininguna 'fileinfo' vantar. Við mælum eindregið með notkun þessarar einingar til að fá bestu útkomu við greiningu á MIME-skráagerðum.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Færslulæsing skráa (transactional file locking) er óvirk, þetta gæti leitt til vandamála út frá forgangsskilyrðum (race conditions). Virkjaðu 'filelocking.enabled' í config.php til að forðast slík vandamál. Skoðaðu <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjölin ↗</a> til að sjá nánari upplýsingar.", + "This means that there might be problems with certain characters in filenames." : "Þetta þýðir að það geta komið upp vandamál við að birta ákveðna stafi í skráaheitum.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Við mælum eindregið með því að þessir nauðsynlegu pakkar séu á kerfinu til stuðnings einnar af eftirfarandi staðfærslum: %s", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ef uppsetningin þín er ekki á rót lénsins og þú notar cron stýrikerfisins, þá geta komið upp vandamál við gerð URL-slóða. Til að forðast slík vandamál, skaltu stilla \"overwrite.cli.url\" valkostinn í config.php skránni þinni á slóð vefrótarinnar (webroot) í uppsetningunni (tillaga: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Ekki var hægt að keyra cron-verkið á skipanalínu. Eftirfarandi tæknilegar villur komu upp:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Til að yfirfæra í annan gagnagrunn skaltu nota skipanalínutólið: 'occ db:convert-type', eða lesa <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjölin ↗</a>." },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" }
\ No newline at end of file diff --git a/settings/l10n/it.js b/settings/l10n/it.js index 5ef2b9c1139..3ebb3f09807 100644 --- a/settings/l10n/it.js +++ b/settings/l10n/it.js @@ -101,28 +101,13 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova.", "Start migration" : "Avvia migrazione", "Security & setup warnings" : "Avvisi di sicurezza e di configurazione", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "È importante per la sicurezza e le prestazioni della tua istanza che tutto sia configurato correttamente. Per aiutarti in questo senso, stiamo eseguendo qualche controllo automatico. Vedi la sezione Suggerimenti e trucchi e la documentazione per ulteriori informazioni.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controlla la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione di installazione ↗</a> per le note di configurazione di PHP e la configurazione PHP del tuo server, in particolare quando utilizzi php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configurazione di sola lettura è stata abilitata. Ciò impedisce l'impostazione di alcune configurazioni tramite l'interfaccia web. Inoltre, i file devono essere resi scrivibili manualmente per ogni aggiornamento.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Sembra che PHP sia configurato per rimuovere i blocchi di documentazione in linea. Ciò renderà inaccessibili diverse applicazioni principali.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ciò è causato probabilmente da una cache/acceleratore come Zend OPcache o eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Il tuo database non è in esecuzione con il livello di isolamento delle transazioni \"READ COMMITTED\". Ciò può causare problemi quando diverse azioni sono eseguite in parallelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "La versione di %1$s installata è anteriore alla %2$s, per motivi di stabilità e prestazioni, consigliamo di aggiornare a una versione di %1$s più recente.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Il modulo PHP 'fileinfo' non è presente. Consigliamo vivamente di abilitare questo modulo per ottenere risultati migliori con il rilevamento dei tipi MIME.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Il blocco del file transazionale è disabilitato, ciò potrebbe comportare problemi di race condition. Abilita 'filelocking.enabled' nel config-php per evitare questi problemi. Vedi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione ↗</a> per ulteriori informazioni.", - "System locale can not be set to a one which supports UTF-8." : "La localizzazione di sistema non può essere impostata a una che supporta UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Ciò vuol dire che ci potrebbero esserci problemi con certi caratteri nei nomi dei file.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "È vivamente consigliata l'installazione dei pacchetti richiesti sul tuo sistema per supportare una delle seguenti localizzazioni: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwrite.cli.url\" nel file config.php al percorso della radice del sito della tua installazione (Consigliato: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:", - "Last background job execution ran %s. Something seems wrong." : "L'ultima esecuzione dell'operazione in background è stata eseguita il%s. Potrebbe esserci un problema.", - "Check the background job settings" : "Controlla le impostazioni dell'operazione in background", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "È importante per la sicurezza e le prestazioni della tua istanza che tutto sia configurato correttamente. Per aiutarti in questo senso, stiamo eseguendo alcuni controlli automatici. Vedi la documentazione collegata per ulteriori informazioni.", "All checks passed." : "Tutti i controlli passati.", "There are some errors regarding your setup." : "Sono presenti degli errori relativi alla tua configurazione.", "There are some warnings regarding your setup." : "Sono presenti degli avvisi relativi alla tua configurazione.", "Checking for system and security issues." : "Verifica di problemi di sistema e sicurezza.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Leggi attentamente le <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guide d'installazione ↗</a>, e controlla gli errori o gli avvisi nel <a href=\"%s\">log</a>.", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Controlla la sicurezza del tuo Nextcloud con la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nostra scansione di sicurezza ↗</a>", "Version" : "Versione", "Background jobs" : "Operazioni in background", "Last job ran %s." : "Ultima esecuzione di cron: %s.", @@ -154,17 +139,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostra il testo di liberatoria sulla pagina di caricamento del collegamento pubblico. (Mostrato solo quando l'elenco dei file nascosto)", "This text will be shown on the public link upload page when the file list is hidden." : "Questo testo sarà mostrato sulla pagina di caricamento del collegamento pubblico quando l'elenco dei file è nascosto.", "Default share permissions" : "Permessi predefiniti di condivisione", - "Tips & tricks" : "Suggerimenti e trucchi", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Sono disponibili molte funzionalità e parametri di configurazione per personalizzare e utilizzare in modo ottimale questa istanza. Qui troverai alcuni riferimenti per ulteriori informazioni.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite è utilizzato attualmente come database. Per installazioni più grandi consigliamo di passare a un motore di database diverso.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Consigliato particolarmente quando si utilizza il client desktop per la sincronizzazione dei file.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Per migrare a un altro database, usa lo strumento da riga di comando: 'occ db:convert-type', o leggi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione ↗</a>.", - "How to do backups" : "Come creare delle copie di sicurezza", - "Performance tuning" : "Ottimizzazione delle prestazioni", - "Improving the config.php" : "Ottimizzare il config.php", - "Theming" : "Temi", - "Check the security of your Nextcloud over our security scan" : "Controlla la sicurezza del tuo Nextcloud con la nostra scansione di sicurezza", - "Hardening and security guidance" : "Guida alla messa in sicurezza", "Personal" : "Personale", "Administration" : "Amministrazione", "Profile picture" : "Immagine del profilo", @@ -389,10 +363,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "È importante per la sicurezza e le prestazioni della tua istanza che tutto sia configurato correttamente. Per aiutarti in questo senso, stiamo eseguendo qualche controllo automatico. Vedi la sezione Suggerimenti e trucchi e la documentazione per ulteriori informazioni.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Controlla la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentazione di installazione↗</a> per le note di configurazione di php e la configurazione del tuo server, in particolare quando utilizzi php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configurazione di sola lettura è stata abilitata. Ciò impedisce l'impostazione di alcune configurazioni tramite l'interfaccia web. Inoltre, i file devono essere resi scrivibili manualmente per ogni aggiornamento.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Sembra che PHP sia configurato per rimuovere i blocchi di documentazione in linea. Ciò renderà inaccessibili diverse applicazioni principali.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ciò è causato probabilmente da una cache/acceleratore come Zend OPcache o eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Il tuo database non è in esecuzione con il livello di isolamento delle transazioni \"READ COMMITTED\". Ciò può causare problemi quando diverse azioni sono eseguite in parallelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "La versione di %1$s installata è anteriore alla %2$s, per motivi di stabilità e prestazioni, consigliamo di aggiornare a una versione di %1$s più recente.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Il modulo PHP 'fileinfo' non è presente. Consigliamo vivamente di abilitare questo modulo per ottenere risultati migliori con il rilevamento dei tipi MIME.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Il blocco del file transazionale è disabilitato, ciò potrebbe comportare problemi di race condition. Abilita 'filelocking.enabled' nel config-php per evitare questi problemi. Vedi la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentazione ↗</a> per ulteriori informazioni.", + "System locale can not be set to a one which supports UTF-8." : "La localizzazione di sistema non può essere impostata a una che supporta UTF-8.", "This means that there might be problems with certain characters in file names." : "Ciò significa che potrebbero esserci problemi con alcuni caratteri nei nomi dei file.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Consigliamo vivamente di installare i pacchetti richiesti sul tuo sistema per supportare una delle localizzazioni seguenti: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwrite.cli.url\" nel file config.php al percorso della radice del sito della tua installazione (Consigliato: \"%s\")", @@ -400,7 +378,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Leggi attentamente le <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guide d'installazione ↗</a>, e controlla gli errori o gli avvisi nel <a href=\"%s\">log</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 15 minuti su http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Per eseguirlo, hai bisogno dell'estensione posix di PHP. Vedi la {linkstart}documentazione di PHP{linkend} per ulteriori dettagli.", + "Tips & tricks" : "Suggerimenti e trucchi", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Sono disponibili molte funzionalità e parametri di configurazione per personalizzare e utilizzare in modo ottimale questa istanza. Qui troverai alcuni riferimenti per ulteriori informazioni.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite è utilizzato attualmente come database. Per installazioni più grandi consigliamo di passare a un motore di database diverso.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Consigliato particolarmente quando si utilizza il client desktop per la sincronizzazione dei file.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Per migrare a un altro database, usa lo strumento da riga di comando: 'occ db:convert-type', o leggi la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentazione ↗</a>.", + "How to do backups" : "Come creare delle copie di sicurezza", + "Performance tuning" : "Ottimizzazione delle prestazioni", + "Improving the config.php" : "Ottimizzare il config.php", + "Theming" : "Temi", + "Check the security of your Nextcloud over our security scan" : "Controlla la sicurezza del tuo Nextcloud con la nostra scansione di sicurezza", + "Hardening and security guidance" : "Guida alla messa in sicurezza", "View in store" : "Visualizza nell'archivio", "Limit to groups" : "Limita a gruppi", "This app has an update available." : "Un aggiornamento di questa applicazione è disponibile.", @@ -453,6 +441,18 @@ OC.L10N.register( "Updating …" : "Aggiornamento in corso...", "Could not update app" : "Impossibile aggiornare l'applicazione", "Could not remove app" : "Impossibile rimuovere l'applicazione", - "{size} used" : "{size} utilizzati" + "{size} used" : "{size} utilizzati", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "È importante per la sicurezza e le prestazioni della tua istanza che tutto sia configurato correttamente. Per aiutarti in questo senso, stiamo eseguendo qualche controllo automatico. Vedi la sezione Suggerimenti e trucchi e la documentazione per ulteriori informazioni.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controlla la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione di installazione ↗</a> per le note di configurazione di PHP e la configurazione PHP del tuo server, in particolare quando utilizzi php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Sembra che PHP sia configurato per rimuovere i blocchi di documentazione in linea. Ciò renderà inaccessibili diverse applicazioni principali.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "La versione di %1$s installata è anteriore alla %2$s, per motivi di stabilità e prestazioni, consigliamo di aggiornare a una versione di %1$s più recente.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Il modulo PHP 'fileinfo' non è presente. Consigliamo vivamente di abilitare questo modulo per ottenere risultati migliori con il rilevamento dei tipi MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Il blocco del file transazionale è disabilitato, ciò potrebbe comportare problemi di race condition. Abilita 'filelocking.enabled' nel config-php per evitare questi problemi. Vedi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione ↗</a> per ulteriori informazioni.", + "This means that there might be problems with certain characters in filenames." : "Ciò vuol dire che ci potrebbero esserci problemi con certi caratteri nei nomi dei file.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "È vivamente consigliata l'installazione dei pacchetti richiesti sul tuo sistema per supportare una delle seguenti localizzazioni: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwrite.cli.url\" nel file config.php al percorso della radice del sito della tua installazione (Consigliato: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Per migrare a un altro database, usa lo strumento da riga di comando: 'occ db:convert-type', o leggi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione ↗</a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/it.json b/settings/l10n/it.json index 81553cd8fcc..e75c4395e09 100644 --- a/settings/l10n/it.json +++ b/settings/l10n/it.json @@ -99,28 +99,13 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova.", "Start migration" : "Avvia migrazione", "Security & setup warnings" : "Avvisi di sicurezza e di configurazione", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "È importante per la sicurezza e le prestazioni della tua istanza che tutto sia configurato correttamente. Per aiutarti in questo senso, stiamo eseguendo qualche controllo automatico. Vedi la sezione Suggerimenti e trucchi e la documentazione per ulteriori informazioni.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controlla la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione di installazione ↗</a> per le note di configurazione di PHP e la configurazione PHP del tuo server, in particolare quando utilizzi php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configurazione di sola lettura è stata abilitata. Ciò impedisce l'impostazione di alcune configurazioni tramite l'interfaccia web. Inoltre, i file devono essere resi scrivibili manualmente per ogni aggiornamento.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Sembra che PHP sia configurato per rimuovere i blocchi di documentazione in linea. Ciò renderà inaccessibili diverse applicazioni principali.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ciò è causato probabilmente da una cache/acceleratore come Zend OPcache o eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Il tuo database non è in esecuzione con il livello di isolamento delle transazioni \"READ COMMITTED\". Ciò può causare problemi quando diverse azioni sono eseguite in parallelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "La versione di %1$s installata è anteriore alla %2$s, per motivi di stabilità e prestazioni, consigliamo di aggiornare a una versione di %1$s più recente.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Il modulo PHP 'fileinfo' non è presente. Consigliamo vivamente di abilitare questo modulo per ottenere risultati migliori con il rilevamento dei tipi MIME.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Il blocco del file transazionale è disabilitato, ciò potrebbe comportare problemi di race condition. Abilita 'filelocking.enabled' nel config-php per evitare questi problemi. Vedi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione ↗</a> per ulteriori informazioni.", - "System locale can not be set to a one which supports UTF-8." : "La localizzazione di sistema non può essere impostata a una che supporta UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Ciò vuol dire che ci potrebbero esserci problemi con certi caratteri nei nomi dei file.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "È vivamente consigliata l'installazione dei pacchetti richiesti sul tuo sistema per supportare una delle seguenti localizzazioni: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwrite.cli.url\" nel file config.php al percorso della radice del sito della tua installazione (Consigliato: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:", - "Last background job execution ran %s. Something seems wrong." : "L'ultima esecuzione dell'operazione in background è stata eseguita il%s. Potrebbe esserci un problema.", - "Check the background job settings" : "Controlla le impostazioni dell'operazione in background", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "È importante per la sicurezza e le prestazioni della tua istanza che tutto sia configurato correttamente. Per aiutarti in questo senso, stiamo eseguendo alcuni controlli automatici. Vedi la documentazione collegata per ulteriori informazioni.", "All checks passed." : "Tutti i controlli passati.", "There are some errors regarding your setup." : "Sono presenti degli errori relativi alla tua configurazione.", "There are some warnings regarding your setup." : "Sono presenti degli avvisi relativi alla tua configurazione.", "Checking for system and security issues." : "Verifica di problemi di sistema e sicurezza.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Leggi attentamente le <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guide d'installazione ↗</a>, e controlla gli errori o gli avvisi nel <a href=\"%s\">log</a>.", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Controlla la sicurezza del tuo Nextcloud con la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nostra scansione di sicurezza ↗</a>", "Version" : "Versione", "Background jobs" : "Operazioni in background", "Last job ran %s." : "Ultima esecuzione di cron: %s.", @@ -152,17 +137,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostra il testo di liberatoria sulla pagina di caricamento del collegamento pubblico. (Mostrato solo quando l'elenco dei file nascosto)", "This text will be shown on the public link upload page when the file list is hidden." : "Questo testo sarà mostrato sulla pagina di caricamento del collegamento pubblico quando l'elenco dei file è nascosto.", "Default share permissions" : "Permessi predefiniti di condivisione", - "Tips & tricks" : "Suggerimenti e trucchi", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Sono disponibili molte funzionalità e parametri di configurazione per personalizzare e utilizzare in modo ottimale questa istanza. Qui troverai alcuni riferimenti per ulteriori informazioni.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite è utilizzato attualmente come database. Per installazioni più grandi consigliamo di passare a un motore di database diverso.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Consigliato particolarmente quando si utilizza il client desktop per la sincronizzazione dei file.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Per migrare a un altro database, usa lo strumento da riga di comando: 'occ db:convert-type', o leggi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione ↗</a>.", - "How to do backups" : "Come creare delle copie di sicurezza", - "Performance tuning" : "Ottimizzazione delle prestazioni", - "Improving the config.php" : "Ottimizzare il config.php", - "Theming" : "Temi", - "Check the security of your Nextcloud over our security scan" : "Controlla la sicurezza del tuo Nextcloud con la nostra scansione di sicurezza", - "Hardening and security guidance" : "Guida alla messa in sicurezza", "Personal" : "Personale", "Administration" : "Amministrazione", "Profile picture" : "Immagine del profilo", @@ -387,10 +361,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "È importante per la sicurezza e le prestazioni della tua istanza che tutto sia configurato correttamente. Per aiutarti in questo senso, stiamo eseguendo qualche controllo automatico. Vedi la sezione Suggerimenti e trucchi e la documentazione per ulteriori informazioni.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Controlla la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentazione di installazione↗</a> per le note di configurazione di php e la configurazione del tuo server, in particolare quando utilizzi php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configurazione di sola lettura è stata abilitata. Ciò impedisce l'impostazione di alcune configurazioni tramite l'interfaccia web. Inoltre, i file devono essere resi scrivibili manualmente per ogni aggiornamento.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Sembra che PHP sia configurato per rimuovere i blocchi di documentazione in linea. Ciò renderà inaccessibili diverse applicazioni principali.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ciò è causato probabilmente da una cache/acceleratore come Zend OPcache o eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Il tuo database non è in esecuzione con il livello di isolamento delle transazioni \"READ COMMITTED\". Ciò può causare problemi quando diverse azioni sono eseguite in parallelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "La versione di %1$s installata è anteriore alla %2$s, per motivi di stabilità e prestazioni, consigliamo di aggiornare a una versione di %1$s più recente.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Il modulo PHP 'fileinfo' non è presente. Consigliamo vivamente di abilitare questo modulo per ottenere risultati migliori con il rilevamento dei tipi MIME.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Il blocco del file transazionale è disabilitato, ciò potrebbe comportare problemi di race condition. Abilita 'filelocking.enabled' nel config-php per evitare questi problemi. Vedi la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentazione ↗</a> per ulteriori informazioni.", + "System locale can not be set to a one which supports UTF-8." : "La localizzazione di sistema non può essere impostata a una che supporta UTF-8.", "This means that there might be problems with certain characters in file names." : "Ciò significa che potrebbero esserci problemi con alcuni caratteri nei nomi dei file.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Consigliamo vivamente di installare i pacchetti richiesti sul tuo sistema per supportare una delle localizzazioni seguenti: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwrite.cli.url\" nel file config.php al percorso della radice del sito della tua installazione (Consigliato: \"%s\")", @@ -398,7 +376,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Leggi attentamente le <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guide d'installazione ↗</a>, e controlla gli errori o gli avvisi nel <a href=\"%s\">log</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 15 minuti su http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Per eseguirlo, hai bisogno dell'estensione posix di PHP. Vedi la {linkstart}documentazione di PHP{linkend} per ulteriori dettagli.", + "Tips & tricks" : "Suggerimenti e trucchi", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Sono disponibili molte funzionalità e parametri di configurazione per personalizzare e utilizzare in modo ottimale questa istanza. Qui troverai alcuni riferimenti per ulteriori informazioni.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite è utilizzato attualmente come database. Per installazioni più grandi consigliamo di passare a un motore di database diverso.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Consigliato particolarmente quando si utilizza il client desktop per la sincronizzazione dei file.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Per migrare a un altro database, usa lo strumento da riga di comando: 'occ db:convert-type', o leggi la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentazione ↗</a>.", + "How to do backups" : "Come creare delle copie di sicurezza", + "Performance tuning" : "Ottimizzazione delle prestazioni", + "Improving the config.php" : "Ottimizzare il config.php", + "Theming" : "Temi", + "Check the security of your Nextcloud over our security scan" : "Controlla la sicurezza del tuo Nextcloud con la nostra scansione di sicurezza", + "Hardening and security guidance" : "Guida alla messa in sicurezza", "View in store" : "Visualizza nell'archivio", "Limit to groups" : "Limita a gruppi", "This app has an update available." : "Un aggiornamento di questa applicazione è disponibile.", @@ -451,6 +439,18 @@ "Updating …" : "Aggiornamento in corso...", "Could not update app" : "Impossibile aggiornare l'applicazione", "Could not remove app" : "Impossibile rimuovere l'applicazione", - "{size} used" : "{size} utilizzati" + "{size} used" : "{size} utilizzati", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "È importante per la sicurezza e le prestazioni della tua istanza che tutto sia configurato correttamente. Per aiutarti in questo senso, stiamo eseguendo qualche controllo automatico. Vedi la sezione Suggerimenti e trucchi e la documentazione per ulteriori informazioni.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controlla la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione di installazione ↗</a> per le note di configurazione di PHP e la configurazione PHP del tuo server, in particolare quando utilizzi php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Sembra che PHP sia configurato per rimuovere i blocchi di documentazione in linea. Ciò renderà inaccessibili diverse applicazioni principali.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "La versione di %1$s installata è anteriore alla %2$s, per motivi di stabilità e prestazioni, consigliamo di aggiornare a una versione di %1$s più recente.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Il modulo PHP 'fileinfo' non è presente. Consigliamo vivamente di abilitare questo modulo per ottenere risultati migliori con il rilevamento dei tipi MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Il blocco del file transazionale è disabilitato, ciò potrebbe comportare problemi di race condition. Abilita 'filelocking.enabled' nel config-php per evitare questi problemi. Vedi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione ↗</a> per ulteriori informazioni.", + "This means that there might be problems with certain characters in filenames." : "Ciò vuol dire che ci potrebbero esserci problemi con certi caratteri nei nomi dei file.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "È vivamente consigliata l'installazione dei pacchetti richiesti sul tuo sistema per supportare una delle seguenti localizzazioni: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwrite.cli.url\" nel file config.php al percorso della radice del sito della tua installazione (Consigliato: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Per migrare a un altro database, usa lo strumento da riga di comando: 'occ db:convert-type', o leggi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione ↗</a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/ja.js b/settings/l10n/ja.js index 9a240e64e00..85cfadcde3c 100644 --- a/settings/l10n/ja.js +++ b/settings/l10n/ja.js @@ -16,13 +16,15 @@ OC.L10N.register( "Group admin for" : "グループの管理者", "User backend" : "ユーザーバックエンド", "Unlimited" : "無制限", - "Default quota" : "デフォルトのクオータ", + "Default quota" : "デフォルトのクォータ", "Error: This app can not be enabled because it makes the server unstable" : "エラー:このアプリは、サーバーを不安定にするため、有効にすることができません。", "Error while enabling app" : "アプリを有効にする際にエラーが発生", "Your apps" : "あなたのアプリ", "Disabled apps" : "無効なアプリ", "App bundles" : "アプリバンドル", + "Default quota :" : "デフォルトのクォータ :", "Admins" : "管理者", + "Disabled users" : "無効なユーザー", "Everyone" : "すべてのユーザー", "SSL Root Certificates" : "SSLルート証明書", "Common Name" : "コモンネーム", @@ -74,28 +76,18 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "古い暗号化(ownCloud <= 8.0) から新しいものに暗号化キーを移行する必要があります。", "Start migration" : "移行を開始", "Security & setup warnings" : "セキュリティ&セットアップ警告", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHPのシステム環境変数が正しく設定されていないようです。getenv(\"PATH\") コマンドでテストして何も値を返さないことを確認してください。", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "\"config\"は読み取り専用になってます。そのためにWEBインターフェースで設定できません可能性があります。さらに、更新時に\"config\"ファイルを書き込み権限を与えることが必要", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHPでインラインドキュメントブロックを取り除く設定になっています。これによりコアアプリで利用できないものがいくつかあります。", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "これは、Zend OPcacheやeAccelerator 等のキャッシュ/アクセラレーターが原因かもしれません。", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "あなたのデータベースは \"READ COMMITED\" トランザクション分離レベルで動作していません。このことにより複数のアクションが平行して実行される場合に問題が起こる可能性があります。", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%2$s よりも古いバージョンの %1$s がインストールされています。安定した稼働とパフォーマンスの観点から、新しいバージョンの %1$s にアップデートすることをお勧めします。", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP のモジュール 'fileinfo' が見つかりません。mimeタイプの検出を精度良く行うために、このモジュールを有効にすることを強くお勧めします。", - "System locale can not be set to a one which supports UTF-8." : "システムロケールを UTF-8 をサポートするロケールに設定できません。", - "This means that there might be problems with certain characters in filenames." : "これは、ファイル名の特定の文字に問題があることを意味しています。", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "次のロケールをサポートするには、システムに必要なパッケージをインストールすることを強くおすすめします: %s。", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "URLがドメインのルート(/)で終わっていない場合で、システムのcronを利用している場合は、URLの生成に問題が発生します。その場合は、config.php ファイルの中の \"overwrite.cli.url\" オプションをインストールしたwebrootのパスに設定してください。( 推奨: \"%s\" ) ", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "CLI から cronジョブを実行することができませんでした。次の技術的なエラーが発生しています:", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "あなたのサーバのセキュリティとパフォーマンスのためには、すべてが正確に設定されていることが重要です。あなたの力になるよう、Nextcloudでは一部の自動チェックを行っています。詳細な情報は、リンクされたドキュメントを参照してください。", "All checks passed." : "すべてのチェックに合格しました。", "Version" : "バージョン", "Background jobs" : "バックグラウンドジョブ", "Last job ran %s." : "最終ジョブ実行: %s", "Last job execution ran %s. Something seems wrong." : "最終ジョブ実行は %s です。何か問題が発生しています。", "Background job didn’t run yet!" : "バックグラウンドジョブは実行されていません", + "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "最適なパフォーマンスにするには、バックグラウンドジョブを正確に設定することが重要です。大規模なインスタンスでは、'Cron'がお薦めの設定です。詳細な情報は、ドキュメントを参照してください。", "Execute one task with each page loaded" : "各ページの読み込み時にタスクを実行します。", "cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP." : "cron.phpは、HTTP経由で15分ごとにcron.phpを実行するようwebcronサービスに登録されます。", "Use system cron service to call the cron.php file every 15 minutes." : "システムのcronサービスを利用して、15分間隔でcron.phpファイルを実行します。", - "The cron.php needs to be executed by the system user \"%s\"." : "cron.php はシステムユーザ \"%s\" で実行しなければなりません。", + "The cron.php needs to be executed by the system user \"%s\"." : "cron.php はシステムユーザー \"%s\" で実行する必要があります。", "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "これを実行するにはPHPのposix拡張が必要です。詳細については、{linkstart} PHPドキュメント{linkend}を参照してください。", "Sharing" : "共有", "Allow apps to use the Share API" : "アプリからの共有APIの利用を許可する", @@ -112,26 +104,20 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "グループ内のユーザーでのみ共有するように制限する", "Exclude groups from sharing" : "共有可能なグループから除外する", "These groups will still be able to receive shares, but not to initiate them." : "このグループでは、フォルダー共有を開始することはできませんが、共有されたフォルダーを参照することはできます。", + "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "共有ダイアログ中でユーザー名の自動補完を許可します。この設定が無効の場合、完全なユーザー名またはメールアドレスを入力する必要があります。", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "公開リンクのアップロードページに免責事項のテキストを表示します。 (ファイルリストが非表示のときのみ表示されます)", "This text will be shown on the public link upload page when the file list is hidden." : "このテキストは、ファイルリストが非表示になっているときに公開リンクのアップロードページに表示されます。", - "Tips & tricks" : "ヒントとコツ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLiteがデータベースとして使用されています。大規模な運用では別のデータベースに切り替えることをお勧めします。", - "This is particularly recommended when using the desktop client for file synchronisation." : "これは、ファイル同期にデスクトップクライアントを使用する場合に特に推奨されます。", - "How to do backups" : "バックアップ方法", - "Performance tuning" : "パフォーマンスチューニング", - "Improving the config.php" : "config.phpの改善", - "Theming" : "テーマ", - "Check the security of your Nextcloud over our security scan" : "私たちのセキュリティスキャンで、お使いの Nextcloud のセキュリティをチェックしてください", - "Hardening and security guidance" : "堅牢化とセキュリティガイダンス", + "Personal" : "個人", + "Administration" : "管理", "Profile picture" : "プロフィール画像", "Upload new" : "新たにアップロード", "Select from Files" : "ファイルから選択", "Remove image" : "画像を削除", - "png or jpg, max. 20 MB" : "png もしくは jpg, 最大20MB", + "png or jpg, max. 20 MB" : "pngまたはjpg。最大20MB", "Picture provided by original account" : "オリジナルのアカウントで提供されている写真", "Cancel" : "キャンセル", "Choose as profile picture" : "プロファイル画像として選択", - "You are member of the following groups:" : "以下のグループのメンバーです:", + "You are member of the following groups:" : "次のグループのメンバー:", "You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "<strong>%s</strong> / <strong>%s</strong> (<strong>%s %%</strong>) 使用中", "No display name set" : "表示名が未設定", "Your email address" : "あなたのメールアドレス", @@ -142,7 +128,7 @@ OC.L10N.register( "Address" : "住所", "Your postal address" : "あなたの住所", "Website" : "ウェブサイト", - "Link https://…" : "https://... をリンク", + "Link https://…" : "リンク https://...", "Twitter" : "Twitter", "Twitter handle @…" : "あなたのTwitter ID @...", "Language" : "言語", @@ -155,7 +141,7 @@ OC.L10N.register( "Device" : "デバイス", "Last activity" : "最後の活動", "App name" : "アプリ名", - "Create new app password" : "新規アプリパスワードを作成", + "Create new app password" : "新しいアプリパスワードを作成", "Use the credentials below to configure your app or device." : "アプリや端末を設定するのに以下の認証情報を使用する。", "For security reasons this password will only be shown once." : "セキュリティ上の理由から、このパスワードは一度しか表示されません。", "Username" : "ユーザーID", @@ -169,8 +155,8 @@ OC.L10N.register( "{actor} changed your password" : "{actor} がパスワードを変更", "You changed your password" : "パスワードを変更", "Your password was reset by an administrator" : "管理者がパスワードをリセットしました", - "{actor} changed your email address" : "{actor} がメールアドレスを変更", - "You changed your email address" : "メールアドレスを変更", + "{actor} changed your email address" : "{actor} がメールアドレスを変更しました", + "You changed your email address" : "メールアドレスを変更しました", "Your email address was changed by an administrator" : "管理者がメールアドレスを変更しました", "Security" : "セキュリティ", "You successfully logged in using two-factor authentication (%1$s)" : "2要素認証を使用して正常にログインしました (%1$s)", @@ -185,7 +171,7 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "リカバリ用の管理者パスワードを入力してください。そうしないと、全ユーザーのデータが失われます。", "Wrong admin recovery password. Please check the password and try again." : "リカバリ用の管理者パスワードが間違っています。パスワードを確認して再度実行してください。", "Backend doesn't support password change, but the user's encryption key was updated." : "バックエンドはパスワードの変更をサポートしていませんが、ユーザーの暗号化キーは正常に更新されました。", - "installing and updating apps via the app store or Federated Cloud Sharing" : "アプリストア または クラウド連携共有からアプリをインストール もしくはアップデート", + "installing and updating apps via the app store or Federated Cloud Sharing" : "アプリストアまたはクラウド連携共有から、アプリをインストールならびにアップデート", "Federated Cloud Sharing" : "統合されたクラウド共有", "cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "%s バージョン (%s) の古い cURL を使っています。OSを更新するか、この機能 %s が正しく動くアプリに更新してください。", "A problem occurred, please check your log files (Error: %s)" : "問題が発生しました。ログファイルを確認してください。(Error: %s)", @@ -283,17 +269,17 @@ OC.L10N.register( "Not supported!" : "サポートされていません!", "Press ⌘-C to copy." : "⌘+Cを押してコピーします。", "Press Ctrl-C to copy." : "Ctrl+Cを押してコピーします。", - "Error while loading browser sessions and device tokens" : "ブラウザセッションとデバイストークンの読み込みにおけるエラー", + "Error while loading browser sessions and device tokens" : "ブラウザーセッションとデバイストークンの読み込みにおけるエラー", "Error while creating device token" : "デバイストークンの作成におけるエラー", "Error while deleting the token" : "トークンの削除におけるエラー", "An error occurred. Please upload an ASCII-encoded PEM certificate." : "エラーが発生しました。ASCIIコードのPEM証明書をアップロードしてください。", "Valid until {date}" : "{date} まで有効", "Local" : "ローカル", "Private" : "非公開", - "Only visible to local users" : "ローカルユーザーのみが見ることができます", - "Only visible to you" : "あなたにしか見えません", + "Only visible to local users" : "ローカルユーザーのみ見れます", + "Only visible to you" : "あなたのみから見れます", "Contacts" : "アドレス帳", - "Visible to local users and to trusted servers" : "ローカルユーザーと信頼できるサーバーに表示", + "Visible to local users and to trusted servers" : "ローカルユーザーと信頼できるサーバーから見れます", "Public" : "公開", "Will be synced to a global and public address book" : "グローバルなアドレス帳と公開アドレス帳に同期されます", "Verify" : "検証", @@ -317,16 +303,30 @@ OC.L10N.register( "Unable to add user to group {group}" : "ユーザーを {group} グループに追加できません", "Unable to remove user from group {group}" : "ユーザーを {group} グループから削除できません", "Add group" : "グループを追加する", - "Invalid quota value \"{val}\"" : "クオータ値 \"{val}\" は不正な値です。", + "Invalid quota value \"{val}\"" : "クォータ値 \"{val}\" が無効です", "no group" : "グループなし", "Password successfully changed" : "パスワードは変更されました", "Changing the password will result in data loss, because data recovery is not available for this user" : "このユーザーのデータ復旧が無効になっていますので、パスワードを変更するとユーザーはデータに二度とアクセスできません。", - "Could not change the users email" : "ユーザーの電子メールを変更できませんでした", + "Could not change the users email" : "ユーザーのメールを変更できませんでした", "Error while changing status of {user}" : "{user} のステータスを変更する際にエラーが発生", "A valid username must be provided" : "有効なユーザー名を指定する必要があります", - "Error creating user: {message}" : "ユーザ作成エラー {message}", + "Error creating user: {message}" : "ユーザー作成エラー {message}", "A valid password must be provided" : "有効なパスワードを指定する必要があります", "A valid email must be provided" : "有効なメールアドレスを指定する必要があります", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "あなたのサーバのセキュリティとパフォーマンスのためには、すべてが正確に設定されていることが重要です。あなたの力になるよう、Nextcloudでは一部の自動チェックを行っています。Tips & Tricksセクションや、詳細な情報はドキュメントを参照してください。", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "\"config\"は読み取り専用になってます。そのためにWEBインターフェースで設定できません可能性があります。さらに、更新時に\"config\"ファイルを書き込み権限を与えることが必要", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "これは、Zend OPcacheやeAccelerator 等のキャッシュ/アクセラレーターが原因かもしれません。", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "あなたのデータベースは \"READ COMMITED\" トランザクション分離レベルで動作していません。このことにより複数のアクションが平行して実行される場合に問題が起こる可能性があります。", + "System locale can not be set to a one which supports UTF-8." : "システムロケールを UTF-8 をサポートするロケールに設定できません。", + "Tips & tricks" : "ヒントとコツ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLiteがデータベースとして使用されています。大規模な運用では別のデータベースに切り替えることをお勧めします。", + "This is particularly recommended when using the desktop client for file synchronisation." : "これは、ファイル同期にデスクトップクライアントを使用する場合に特に推奨されます。", + "How to do backups" : "バックアップ方法", + "Performance tuning" : "パフォーマンスチューニング", + "Improving the config.php" : "config.phpの改善", + "Theming" : "テーマ", + "Check the security of your Nextcloud over our security scan" : "私たちのセキュリティスキャンで、お使いの Nextcloud のセキュリティをチェックしてください", + "Hardening and security guidance" : "堅牢化とセキュリティガイダンス", "View in store" : "ストア内で表示", "Limit to groups" : "次のグループに制限", "This app has an update available." : "このアプリでアップデートが利用できます.", @@ -339,7 +339,7 @@ OC.L10N.register( "Hide description …" : "説明を隠す ...", "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "このアプリは Nextcloud バージョンの上限が指定されていません.将来、エラーが発生する可能性があります.", "Enable only for specific groups" : "特定のグループのみ有効に", - "You are using <strong>%s</strong> of <strong>%s</strong>" : "<strong>%s</strong> / <strong>%s</strong> が現在使用中です", + "You are using <strong>%s</strong> of <strong>%s</strong>" : "<strong>%s</strong> / <strong>%s</strong> を現在使用中です", "Show storage location" : "データの保存場所を表示", "Show user backend" : "ユーザーバックエンドを表示", "Show last login" : "最終ログインを表示", @@ -350,16 +350,25 @@ OC.L10N.register( "Create" : "作成", "Admin Recovery Password" : "管理者リカバリパスワード", "Enter the recovery password in order to recover the users files during password change" : "パスワード変更時のユーザーのファイルを回復するため、リカバリパスワードを入力してください", - "Disabled" : "無効", + "Disabled" : "無効なユーザー", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "ストレージのクォータを入力してください (例: \"512MB\" や \"12 GB\")", "Other" : "その他", - "Quota" : "クオータ", + "Quota" : "クォータ", "Storage location" : "データの保存場所", "Last login" : "最終ログイン", "change full name" : "名前を変更", "set new password" : "新しいパスワードを設定", "change email address" : "メールアドレスを変更", "Default" : "デフォルト", - "{size} used" : "{size} を使用中" + "{size} used" : "{size} を使用中", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "あなたのサーバのセキュリティとパフォーマンスのためには、すべてが正確に設定されていることが重要です。あなたの力になるよう、Nextcloudでは一部の自動チェックを行っています。Tips & Tricksセクションや、詳細な情報はドキュメントを参照してください。", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHPのシステム環境変数が正しく設定されていないようです。getenv(\"PATH\") コマンドでテストして何も値を返さないことを確認してください。", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHPでインラインドキュメントブロックを取り除く設定になっています。これによりコアアプリで利用できないものがいくつかあります。", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%2$s よりも古いバージョンの %1$s がインストールされています。安定した稼働とパフォーマンスの観点から、新しいバージョンの %1$s にアップデートすることをお勧めします。", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP のモジュール 'fileinfo' が見つかりません。mimeタイプの検出を精度良く行うために、このモジュールを有効にすることを強くお勧めします。", + "This means that there might be problems with certain characters in filenames." : "これは、ファイル名の特定の文字に問題があることを意味しています。", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "次のロケールをサポートするには、システムに必要なパッケージをインストールすることを強くおすすめします: %s。", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "URLがドメインのルート(/)で終わっていない場合で、システムのcronを利用している場合は、URLの生成に問題が発生します。その場合は、config.php ファイルの中の \"overwrite.cli.url\" オプションをインストールしたwebrootのパスに設定してください。( 推奨: \"%s\" ) ", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "CLI から cronジョブを実行することができませんでした。次の技術的なエラーが発生しています:" }, "nplurals=1; plural=0;"); diff --git a/settings/l10n/ja.json b/settings/l10n/ja.json index 8e28e1ef482..cb5611e8cd0 100644 --- a/settings/l10n/ja.json +++ b/settings/l10n/ja.json @@ -14,13 +14,15 @@ "Group admin for" : "グループの管理者", "User backend" : "ユーザーバックエンド", "Unlimited" : "無制限", - "Default quota" : "デフォルトのクオータ", + "Default quota" : "デフォルトのクォータ", "Error: This app can not be enabled because it makes the server unstable" : "エラー:このアプリは、サーバーを不安定にするため、有効にすることができません。", "Error while enabling app" : "アプリを有効にする際にエラーが発生", "Your apps" : "あなたのアプリ", "Disabled apps" : "無効なアプリ", "App bundles" : "アプリバンドル", + "Default quota :" : "デフォルトのクォータ :", "Admins" : "管理者", + "Disabled users" : "無効なユーザー", "Everyone" : "すべてのユーザー", "SSL Root Certificates" : "SSLルート証明書", "Common Name" : "コモンネーム", @@ -72,28 +74,18 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "古い暗号化(ownCloud <= 8.0) から新しいものに暗号化キーを移行する必要があります。", "Start migration" : "移行を開始", "Security & setup warnings" : "セキュリティ&セットアップ警告", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHPのシステム環境変数が正しく設定されていないようです。getenv(\"PATH\") コマンドでテストして何も値を返さないことを確認してください。", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "\"config\"は読み取り専用になってます。そのためにWEBインターフェースで設定できません可能性があります。さらに、更新時に\"config\"ファイルを書き込み権限を与えることが必要", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHPでインラインドキュメントブロックを取り除く設定になっています。これによりコアアプリで利用できないものがいくつかあります。", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "これは、Zend OPcacheやeAccelerator 等のキャッシュ/アクセラレーターが原因かもしれません。", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "あなたのデータベースは \"READ COMMITED\" トランザクション分離レベルで動作していません。このことにより複数のアクションが平行して実行される場合に問題が起こる可能性があります。", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%2$s よりも古いバージョンの %1$s がインストールされています。安定した稼働とパフォーマンスの観点から、新しいバージョンの %1$s にアップデートすることをお勧めします。", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP のモジュール 'fileinfo' が見つかりません。mimeタイプの検出を精度良く行うために、このモジュールを有効にすることを強くお勧めします。", - "System locale can not be set to a one which supports UTF-8." : "システムロケールを UTF-8 をサポートするロケールに設定できません。", - "This means that there might be problems with certain characters in filenames." : "これは、ファイル名の特定の文字に問題があることを意味しています。", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "次のロケールをサポートするには、システムに必要なパッケージをインストールすることを強くおすすめします: %s。", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "URLがドメインのルート(/)で終わっていない場合で、システムのcronを利用している場合は、URLの生成に問題が発生します。その場合は、config.php ファイルの中の \"overwrite.cli.url\" オプションをインストールしたwebrootのパスに設定してください。( 推奨: \"%s\" ) ", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "CLI から cronジョブを実行することができませんでした。次の技術的なエラーが発生しています:", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "あなたのサーバのセキュリティとパフォーマンスのためには、すべてが正確に設定されていることが重要です。あなたの力になるよう、Nextcloudでは一部の自動チェックを行っています。詳細な情報は、リンクされたドキュメントを参照してください。", "All checks passed." : "すべてのチェックに合格しました。", "Version" : "バージョン", "Background jobs" : "バックグラウンドジョブ", "Last job ran %s." : "最終ジョブ実行: %s", "Last job execution ran %s. Something seems wrong." : "最終ジョブ実行は %s です。何か問題が発生しています。", "Background job didn’t run yet!" : "バックグラウンドジョブは実行されていません", + "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "最適なパフォーマンスにするには、バックグラウンドジョブを正確に設定することが重要です。大規模なインスタンスでは、'Cron'がお薦めの設定です。詳細な情報は、ドキュメントを参照してください。", "Execute one task with each page loaded" : "各ページの読み込み時にタスクを実行します。", "cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP." : "cron.phpは、HTTP経由で15分ごとにcron.phpを実行するようwebcronサービスに登録されます。", "Use system cron service to call the cron.php file every 15 minutes." : "システムのcronサービスを利用して、15分間隔でcron.phpファイルを実行します。", - "The cron.php needs to be executed by the system user \"%s\"." : "cron.php はシステムユーザ \"%s\" で実行しなければなりません。", + "The cron.php needs to be executed by the system user \"%s\"." : "cron.php はシステムユーザー \"%s\" で実行する必要があります。", "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "これを実行するにはPHPのposix拡張が必要です。詳細については、{linkstart} PHPドキュメント{linkend}を参照してください。", "Sharing" : "共有", "Allow apps to use the Share API" : "アプリからの共有APIの利用を許可する", @@ -110,26 +102,20 @@ "Restrict users to only share with users in their groups" : "グループ内のユーザーでのみ共有するように制限する", "Exclude groups from sharing" : "共有可能なグループから除外する", "These groups will still be able to receive shares, but not to initiate them." : "このグループでは、フォルダー共有を開始することはできませんが、共有されたフォルダーを参照することはできます。", + "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "共有ダイアログ中でユーザー名の自動補完を許可します。この設定が無効の場合、完全なユーザー名またはメールアドレスを入力する必要があります。", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "公開リンクのアップロードページに免責事項のテキストを表示します。 (ファイルリストが非表示のときのみ表示されます)", "This text will be shown on the public link upload page when the file list is hidden." : "このテキストは、ファイルリストが非表示になっているときに公開リンクのアップロードページに表示されます。", - "Tips & tricks" : "ヒントとコツ", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLiteがデータベースとして使用されています。大規模な運用では別のデータベースに切り替えることをお勧めします。", - "This is particularly recommended when using the desktop client for file synchronisation." : "これは、ファイル同期にデスクトップクライアントを使用する場合に特に推奨されます。", - "How to do backups" : "バックアップ方法", - "Performance tuning" : "パフォーマンスチューニング", - "Improving the config.php" : "config.phpの改善", - "Theming" : "テーマ", - "Check the security of your Nextcloud over our security scan" : "私たちのセキュリティスキャンで、お使いの Nextcloud のセキュリティをチェックしてください", - "Hardening and security guidance" : "堅牢化とセキュリティガイダンス", + "Personal" : "個人", + "Administration" : "管理", "Profile picture" : "プロフィール画像", "Upload new" : "新たにアップロード", "Select from Files" : "ファイルから選択", "Remove image" : "画像を削除", - "png or jpg, max. 20 MB" : "png もしくは jpg, 最大20MB", + "png or jpg, max. 20 MB" : "pngまたはjpg。最大20MB", "Picture provided by original account" : "オリジナルのアカウントで提供されている写真", "Cancel" : "キャンセル", "Choose as profile picture" : "プロファイル画像として選択", - "You are member of the following groups:" : "以下のグループのメンバーです:", + "You are member of the following groups:" : "次のグループのメンバー:", "You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "<strong>%s</strong> / <strong>%s</strong> (<strong>%s %%</strong>) 使用中", "No display name set" : "表示名が未設定", "Your email address" : "あなたのメールアドレス", @@ -140,7 +126,7 @@ "Address" : "住所", "Your postal address" : "あなたの住所", "Website" : "ウェブサイト", - "Link https://…" : "https://... をリンク", + "Link https://…" : "リンク https://...", "Twitter" : "Twitter", "Twitter handle @…" : "あなたのTwitter ID @...", "Language" : "言語", @@ -153,7 +139,7 @@ "Device" : "デバイス", "Last activity" : "最後の活動", "App name" : "アプリ名", - "Create new app password" : "新規アプリパスワードを作成", + "Create new app password" : "新しいアプリパスワードを作成", "Use the credentials below to configure your app or device." : "アプリや端末を設定するのに以下の認証情報を使用する。", "For security reasons this password will only be shown once." : "セキュリティ上の理由から、このパスワードは一度しか表示されません。", "Username" : "ユーザーID", @@ -167,8 +153,8 @@ "{actor} changed your password" : "{actor} がパスワードを変更", "You changed your password" : "パスワードを変更", "Your password was reset by an administrator" : "管理者がパスワードをリセットしました", - "{actor} changed your email address" : "{actor} がメールアドレスを変更", - "You changed your email address" : "メールアドレスを変更", + "{actor} changed your email address" : "{actor} がメールアドレスを変更しました", + "You changed your email address" : "メールアドレスを変更しました", "Your email address was changed by an administrator" : "管理者がメールアドレスを変更しました", "Security" : "セキュリティ", "You successfully logged in using two-factor authentication (%1$s)" : "2要素認証を使用して正常にログインしました (%1$s)", @@ -183,7 +169,7 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "リカバリ用の管理者パスワードを入力してください。そうしないと、全ユーザーのデータが失われます。", "Wrong admin recovery password. Please check the password and try again." : "リカバリ用の管理者パスワードが間違っています。パスワードを確認して再度実行してください。", "Backend doesn't support password change, but the user's encryption key was updated." : "バックエンドはパスワードの変更をサポートしていませんが、ユーザーの暗号化キーは正常に更新されました。", - "installing and updating apps via the app store or Federated Cloud Sharing" : "アプリストア または クラウド連携共有からアプリをインストール もしくはアップデート", + "installing and updating apps via the app store or Federated Cloud Sharing" : "アプリストアまたはクラウド連携共有から、アプリをインストールならびにアップデート", "Federated Cloud Sharing" : "統合されたクラウド共有", "cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "%s バージョン (%s) の古い cURL を使っています。OSを更新するか、この機能 %s が正しく動くアプリに更新してください。", "A problem occurred, please check your log files (Error: %s)" : "問題が発生しました。ログファイルを確認してください。(Error: %s)", @@ -281,17 +267,17 @@ "Not supported!" : "サポートされていません!", "Press ⌘-C to copy." : "⌘+Cを押してコピーします。", "Press Ctrl-C to copy." : "Ctrl+Cを押してコピーします。", - "Error while loading browser sessions and device tokens" : "ブラウザセッションとデバイストークンの読み込みにおけるエラー", + "Error while loading browser sessions and device tokens" : "ブラウザーセッションとデバイストークンの読み込みにおけるエラー", "Error while creating device token" : "デバイストークンの作成におけるエラー", "Error while deleting the token" : "トークンの削除におけるエラー", "An error occurred. Please upload an ASCII-encoded PEM certificate." : "エラーが発生しました。ASCIIコードのPEM証明書をアップロードしてください。", "Valid until {date}" : "{date} まで有効", "Local" : "ローカル", "Private" : "非公開", - "Only visible to local users" : "ローカルユーザーのみが見ることができます", - "Only visible to you" : "あなたにしか見えません", + "Only visible to local users" : "ローカルユーザーのみ見れます", + "Only visible to you" : "あなたのみから見れます", "Contacts" : "アドレス帳", - "Visible to local users and to trusted servers" : "ローカルユーザーと信頼できるサーバーに表示", + "Visible to local users and to trusted servers" : "ローカルユーザーと信頼できるサーバーから見れます", "Public" : "公開", "Will be synced to a global and public address book" : "グローバルなアドレス帳と公開アドレス帳に同期されます", "Verify" : "検証", @@ -315,16 +301,30 @@ "Unable to add user to group {group}" : "ユーザーを {group} グループに追加できません", "Unable to remove user from group {group}" : "ユーザーを {group} グループから削除できません", "Add group" : "グループを追加する", - "Invalid quota value \"{val}\"" : "クオータ値 \"{val}\" は不正な値です。", + "Invalid quota value \"{val}\"" : "クォータ値 \"{val}\" が無効です", "no group" : "グループなし", "Password successfully changed" : "パスワードは変更されました", "Changing the password will result in data loss, because data recovery is not available for this user" : "このユーザーのデータ復旧が無効になっていますので、パスワードを変更するとユーザーはデータに二度とアクセスできません。", - "Could not change the users email" : "ユーザーの電子メールを変更できませんでした", + "Could not change the users email" : "ユーザーのメールを変更できませんでした", "Error while changing status of {user}" : "{user} のステータスを変更する際にエラーが発生", "A valid username must be provided" : "有効なユーザー名を指定する必要があります", - "Error creating user: {message}" : "ユーザ作成エラー {message}", + "Error creating user: {message}" : "ユーザー作成エラー {message}", "A valid password must be provided" : "有効なパスワードを指定する必要があります", "A valid email must be provided" : "有効なメールアドレスを指定する必要があります", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "あなたのサーバのセキュリティとパフォーマンスのためには、すべてが正確に設定されていることが重要です。あなたの力になるよう、Nextcloudでは一部の自動チェックを行っています。Tips & Tricksセクションや、詳細な情報はドキュメントを参照してください。", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "\"config\"は読み取り専用になってます。そのためにWEBインターフェースで設定できません可能性があります。さらに、更新時に\"config\"ファイルを書き込み権限を与えることが必要", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "これは、Zend OPcacheやeAccelerator 等のキャッシュ/アクセラレーターが原因かもしれません。", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "あなたのデータベースは \"READ COMMITED\" トランザクション分離レベルで動作していません。このことにより複数のアクションが平行して実行される場合に問題が起こる可能性があります。", + "System locale can not be set to a one which supports UTF-8." : "システムロケールを UTF-8 をサポートするロケールに設定できません。", + "Tips & tricks" : "ヒントとコツ", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLiteがデータベースとして使用されています。大規模な運用では別のデータベースに切り替えることをお勧めします。", + "This is particularly recommended when using the desktop client for file synchronisation." : "これは、ファイル同期にデスクトップクライアントを使用する場合に特に推奨されます。", + "How to do backups" : "バックアップ方法", + "Performance tuning" : "パフォーマンスチューニング", + "Improving the config.php" : "config.phpの改善", + "Theming" : "テーマ", + "Check the security of your Nextcloud over our security scan" : "私たちのセキュリティスキャンで、お使いの Nextcloud のセキュリティをチェックしてください", + "Hardening and security guidance" : "堅牢化とセキュリティガイダンス", "View in store" : "ストア内で表示", "Limit to groups" : "次のグループに制限", "This app has an update available." : "このアプリでアップデートが利用できます.", @@ -337,7 +337,7 @@ "Hide description …" : "説明を隠す ...", "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "このアプリは Nextcloud バージョンの上限が指定されていません.将来、エラーが発生する可能性があります.", "Enable only for specific groups" : "特定のグループのみ有効に", - "You are using <strong>%s</strong> of <strong>%s</strong>" : "<strong>%s</strong> / <strong>%s</strong> が現在使用中です", + "You are using <strong>%s</strong> of <strong>%s</strong>" : "<strong>%s</strong> / <strong>%s</strong> を現在使用中です", "Show storage location" : "データの保存場所を表示", "Show user backend" : "ユーザーバックエンドを表示", "Show last login" : "最終ログインを表示", @@ -348,16 +348,25 @@ "Create" : "作成", "Admin Recovery Password" : "管理者リカバリパスワード", "Enter the recovery password in order to recover the users files during password change" : "パスワード変更時のユーザーのファイルを回復するため、リカバリパスワードを入力してください", - "Disabled" : "無効", + "Disabled" : "無効なユーザー", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "ストレージのクォータを入力してください (例: \"512MB\" や \"12 GB\")", "Other" : "その他", - "Quota" : "クオータ", + "Quota" : "クォータ", "Storage location" : "データの保存場所", "Last login" : "最終ログイン", "change full name" : "名前を変更", "set new password" : "新しいパスワードを設定", "change email address" : "メールアドレスを変更", "Default" : "デフォルト", - "{size} used" : "{size} を使用中" + "{size} used" : "{size} を使用中", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "あなたのサーバのセキュリティとパフォーマンスのためには、すべてが正確に設定されていることが重要です。あなたの力になるよう、Nextcloudでは一部の自動チェックを行っています。Tips & Tricksセクションや、詳細な情報はドキュメントを参照してください。", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHPのシステム環境変数が正しく設定されていないようです。getenv(\"PATH\") コマンドでテストして何も値を返さないことを確認してください。", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHPでインラインドキュメントブロックを取り除く設定になっています。これによりコアアプリで利用できないものがいくつかあります。", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%2$s よりも古いバージョンの %1$s がインストールされています。安定した稼働とパフォーマンスの観点から、新しいバージョンの %1$s にアップデートすることをお勧めします。", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP のモジュール 'fileinfo' が見つかりません。mimeタイプの検出を精度良く行うために、このモジュールを有効にすることを強くお勧めします。", + "This means that there might be problems with certain characters in filenames." : "これは、ファイル名の特定の文字に問題があることを意味しています。", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "次のロケールをサポートするには、システムに必要なパッケージをインストールすることを強くおすすめします: %s。", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "URLがドメインのルート(/)で終わっていない場合で、システムのcronを利用している場合は、URLの生成に問題が発生します。その場合は、config.php ファイルの中の \"overwrite.cli.url\" オプションをインストールしたwebrootのパスに設定してください。( 推奨: \"%s\" ) ", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "CLI から cronジョブを実行することができませんでした。次の技術的なエラーが発生しています:" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/settings/l10n/ka_GE.js b/settings/l10n/ka_GE.js index 0715720f513..d75631b71ed 100644 --- a/settings/l10n/ka_GE.js +++ b/settings/l10n/ka_GE.js @@ -78,21 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "საჭიროა შიფრაციის ძველი გასაღებების მიგრაცია (ownCloud <= 8.0) ახალებზე.", "Start migration" : "მიგრაციის დაწყება", "Security & setup warnings" : "უსაფრთხოების და მოწყობის გაფრთხილებები", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "თქვენი ინსტანციის უსაფრთხოებისა და გამართული მოქმედებისთვის მნიშვნელოვანია ყველაფერი სწორად იყოს კონფიგურირებული. თქვენს დასახმარებლად ვატარებთ გარკვეულ ავტომატიზირებულ შემოწმებს. გთხოვთ იხილოთ რჩევებისა და ხრიკების სექცია და მეტი ინფორმაციისთვის გადახედოთ დოკუმენტაციას.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "როგორც ჩანს PHP სისტემის გარემოს ცვლადების მიღებისთვის არაა სწორად მოწყობილი. ეს ტესტი getenv(\"PATH\")-ით აბრუნებს მხოლოდ ცარიელ პასუხს.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "გთხოვთ PHP-ის კონფიგურაციის ჩანაწერებისთვის და მისი სერვერზე კონფიგურაციისთვის გადახედოთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">დაყენების დოკუემნტაციას ↗</a>. ეს განსაკუთრებით საჭიროა როდესაც იყენებთ php-fpm-ს.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "ამოქმედდა მხოლოდ-კითხვადი კონფიუგაცია. ეს აჩერებს ვებ-ინტერფეისის მეშვეობით გარკვეული კონფიგურაციების შეცვლას. ამასთან ერთად ფაილი განახლების ყოველ ეტაპზე მოითხოვს გახდეს წერადი.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "როგორც ჩანს PHP დაყენებულია ისე, რომ შიდა დოკუმენტური ბლოკები წაშალოს. ეს რამდენიმე მთავარ აპლიკაციას გახდის მიუწვდომელს.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "ეს შესაძლოა გამოწვეული იყოს ისეთი კეშით/აქსელერატორით როგორიცაა Zend OPcache ან eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "თქვენი მონაცემთა ბაზა არ მოქმედებს \"READ COMMITTED\" ტრანზაქციის იზოლაციის დონით. ამან შეიძლება გამოიწვიოს პრობლემა, როდესაც მრავალი ქმედება შესრულდება პარალელურად.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s დაყენებულია %2$s-ზე დაბალი ვერსიით, სტაბილურობისთვის და ხარისხიანი მოქმედების მიზნებისთვის რეკომენდირებულია განაახლოთ ახალ %1$s ვერსიამდე.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP მოდული 'fileinfo' არ არსებობს. MIME ტიპის აღმოჩენისას კარგი შედეგების მისაღებად გირჩევთ, აუცილებლად ჩართოთ ეს მოდული.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "ტრაზაქციული ფაილის ჩაკეტვა გათიშულია, ამან შეიძლება გამოიწვიოს გარკვეული პრობლემები. პრობლემებისგან თავის ასარიდებლად აამოქმედეთ 'filelocking.enabled' config.php-ში. დამატებითი ინფორმაციისთვის იხილეთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">დოუმენტაცია ↗</a>.", - "System locale can not be set to a one which supports UTF-8." : "სისტემური ლოკალიზაცია ვერ ყენდება ერთ-ერთ ისეთზე, რომელიც მხარს უჭერს UTF-8-ს.", - "This means that there might be problems with certain characters in filenames." : "ეს განაპირობებს ფაილის სახელში ზოგ ნიშანთან პრობლემის გამოჩენას.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "ერთ-ერთი შემდეგ ლოკალიზაციათაგანის მხარდასაჭერად გთავაზობთ თქვნს სისტემაზე დააყენოთ აუცილებელი პაკეტები: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "თუ თქვენი სისტემა იყენებს კრონს და ინსტალაცია არაა დაყენებული დომენის დასაწყისში, შესაძლოა გამოჩნდეს პრობლემები URL გენერაციასთან. ამ პრობლემებისგან თავის ასარიდებლად, \"overwrite.cli.url\" პარამეტრის თქვენს config.php ფაილში მიანიჭეთ ინსტალაციის მისამართი (რეკომენდირებულია: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "CLI-ით კრონ საქმის ეგზეკუცია ვერ მოხერხდა. წარმოიშვა შემდეგი ტექნიკური შეცდომები:", "All checks passed." : "ყველა შემოწმებამ ჩაიარა დადებითად.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "გთხოვთ გადაამოწმოთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">ინსტალაციის სახელმძღვენელოები ↗</a>, და ნახოთ თუ აღმოაჩენთ რაიმე შეცდომას ან გაფრთხილებას <a href=\"%s\">ლოგში</a>.", "Version" : "ვერსია", @@ -126,17 +111,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "პასუხისმგებლობის შეზღუდვის ტექსტის ჩვენება ღია ბმულის ატვირთვის გვერდზე. (ჩანს მხოლოდ მაშინ, როდესაც ფაილების სია დამალულია.)", "This text will be shown on the public link upload page when the file list is hidden." : "ეს ტექსტი გამოჩნდება ღია ბმულის ატვირთვის გვერდზე, როდესაც ფაილების სია დამალულია.", "Default share permissions" : "საწყისი გაზიარების პარამეტრები", - "Tips & tricks" : "რჩევები და ხრიკები", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "ამ ინსტანციას ოპტიმიზირებულად მოწყობისა და გამოყენებისთვის მრავალი ფუნქცია და კონფიგურაციის პარამეტრია ხელმისაწვდომი. აქ რამდენიმე კურსორია მეტი ინფორმაციისთვის.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "ამჟამად ბექენდზე მონაცემთა ბაზად მოიხმარება SQLite. უფრო დიდი ინსტალაციებისთვის რეკომენდაციას გიწევთ აირჩიოთ სხვა მონაცემთა ბაზა.", - "This is particularly recommended when using the desktop client for file synchronisation." : "ეს კერძოდ რეკომედირებულია განსაკუთრებით მაშინ, როდესაც ფაილების სინქრონიზაციისთვის იყენებთ დესკტოპ-კლიენტს.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "სხვა მონაცემთა ბაზის მიგრაციისთვის გამოიყენეთ command line ხელსაწყო: 'occ db:convert-type', ან იხილეთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">დოუმენტაცია ↗</a>.", - "How to do backups" : "როგორ შევქმნათ რეზერვები", - "Performance tuning" : "მოქმედების რეგულირება", - "Improving the config.php" : "config.php-ს გაუმჯობესება", - "Theming" : "ვიზუალური თემები", - "Check the security of your Nextcloud over our security scan" : "შეამოწმეთ თქვენი Nextcloud ჩვენი უსფრთხოების შემოწმებით", - "Hardening and security guidance" : "განმტკიცებისა და უსაფრთხოების სახელმძღვანელო", "Personal" : "პირადი", "Administration" : "ადმინისტრაცია", "Profile picture" : "პროფილის სურათი", @@ -358,10 +332,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "თქვენი ინსტანციის უსაფრთხოებისა და გამართული მოქმედებისთვის მნიშვნელოვანია ყველაფერი სწორად იყოს კონფიგურირებული. თქვენს დასახმარებლად ვატარებთ გარკვეულ ავტომატიზირებულ შემოწმებეს. გთხოვთ იხილოთ რჩევებისა და ხრიკების სექცია და მეტი ინფორმაციისთვის გადახედოთ დოკუმენტაციას.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "როგორც ჩანს, PHP სისტემის გარემოს ცვლადების მიღებისთვის არაა სწორად მოწყობილი. ეს ტესტი getenv(\"PATH\")-ით აბრუნებს მხოლოდ ცარიელ პასუხს.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "გთხოვთ php-ს კონფიგურაციის ჩანაწერებისთვის და მისი სერვერზე კონფიგურაციისთვის გადახედოთ <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">დაყენების დოკუმენტაციას ↗</a>. ეს განსაკუთრებით საჭიროა როდესაც იყენებთ php-fpm-ს.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "ამოქმედდა მხოლოდ-კითხვადი კონფიუგაცია. ეს აჩერებს ვებ-ინტერფეისის მეშვეობით გარკვეული კონფიგურაციების შეცვლას. ამასთან ერთად ფაილი განახლების ყოველ ეტაპზე მოითხოვს გახდეს წერადი.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "როგორც ჩანს, PHP დაყენებულია ისე, რომ შიდა დოკუმენტური ბლოკები წაშალოს. ეს რამდენიმე მთავარ აპლიკაციას გახდის მიუწვდომელს.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "ეს შესაძლოა გამოწვეული იყოს ისეთი კეშით/აქსელერატორით როგორიცაა Zend OPcache ან eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "თქვენი მონაცემთა ბაზა არ მოქმედებს \"READ COMMITTED\" ტრანზაქციის იზოლაციის დონით. ამან შეიძლება გამოიწვიოს პრობლემა, როდესაც მრავალი ქმედება შესრულდება პარალელურად.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s დაყენებულია %2$s-ზე დაბალი ვერსიით, სტაბილურობისთვის და ხარისხიანი მოქმედების მიზნებისთვის რეკომენდირებულია განაახლოთ ახალ %1$s ვერსიამდე.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP მოდული 'fileinfo' არ არსებობს. mime ტიპის აღმოჩენისას კარგი შედეგების მისაღებად გირჩევთ, აუცილებლად ჩართოთ ეს მოდული.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "ტრაზაქციული ფაილის ჩაკეტვა გათიშულია, ამან შეიძლება გამოიწვიოს გარკვეული პრობლემები. პრობლემებისგან თავის ასარიდებლად აამოქმედეთ 'filelocking.enabled' config.php-ში. დამატებითი ინფორმაციისთვის იხილეთ <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">დოკუმენტაცია ↗</a>.", + "System locale can not be set to a one which supports UTF-8." : "სისტემური ლოკალიზაცია ვერ ყენდება ერთ-ერთ ისეთზე, რომელიც მხარს უჭერს UTF-8-ს.", "This means that there might be problems with certain characters in file names." : "ეს განაპირობებს ფაილის სახელში ზოგიერთ ნიშანთან პრობლემის გამოჩენას.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "ერთ-ერთი შემდეგ ლოკალიზაციათაგანის მხარდასაჭერად გთავაზობთ თქვნს სისტემაზე დააყენოთ აუცილებელი პაკეტები: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "თუ თქვენი სისტემა იყენებს კრონს და ინსტალაცია არაა დაყენებული დომენის დასაწყისში, შესაძლოა გამოჩნდეს პრობლემები URL გენერაციასთან. ამ პრობლემებისგან თავის ასარიდებლად, \"overwrite.cli.url\" პარამეტრის თქვენს config.php ფაილში მიანიჭეთ ინსტალაციის მისამართი (რეკომენდირებულია: \"%s\")", @@ -369,7 +347,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "გთხოვთ გადაამოწმოთ <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">ინსტალაციის სახელმძღვენელოები ↗</a> და ნახოთ თუ აღმოაჩენთ რაიმე შეცდომას ან გაფრთხილებას <a href=\"%s\">ლოგში</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php რეგისტრირებულია ვებკრონის სერვისით, 15 წუთში ერთხელ გაიშვას http მეშვეობით.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "ამის გასაშვებად საჭიროა გქონდეთ PHP posix გაფართოება. მეტი დეტალებისთვის იხილეთ {linkstart}PHP დოკუმენტაცია{linkend}. ", + "Tips & tricks" : "რჩევები და ხრიკები", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "ამ ინსტანციას ოპტიმიზირებულად მოწყობისა და გამოყენებისთვის მრავალი ფუნქცია და კონფიგურაციის პარამეტრია ხელმისაწვდომი. აქ რამდენიმე კურსორია მეტი ინფორმაციისთვის.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "ამჟამად ბექენდზე მონაცემთა ბაზად მოიხმარება SQLite. უფრო დიდი ინსტალაციებისთვის რეკომენდაციას გიწევთ აირჩიოთ სხვა მონაცემთა ბაზა.", + "This is particularly recommended when using the desktop client for file synchronisation." : "ეს კერძოდ რეკომედირებულია განსაკუთრებით მაშინ, როდესაც ფაილების სინქრონიზაციისთვის იყენებთ დესკტოპ-კლიენტს.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "სხვა მონაცემთა ბაზის მიგრაციისთვის გამოიყენეთ command line ხელსაწყო: 'occ db:convert-type', ან იხილეთ <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">დოუმენტაცია ↗</a>.", + "How to do backups" : "როგორ შევქმნათ რეზერვები", + "Performance tuning" : "მოქმედების რეგულირება", + "Improving the config.php" : "config.php-ს გაუმჯობესება", + "Theming" : "ვიზუალური თემები", + "Check the security of your Nextcloud over our security scan" : "შეამოწმეთ თქვენი Nextcloud ჩვენი უსფრთხოების შემოწმებით", + "Hardening and security guidance" : "განმტკიცებისა და უსაფრთხოების სახელმძღვანელო", "View in store" : "იხილეთ store-ში", "Limit to groups" : "ლიმიტი ჯგუფებზე", "This app has an update available." : "აპლიკაციას გააჩნია ხელმისაწვდომი განახლება.", @@ -420,6 +408,18 @@ OC.L10N.register( "Default" : "საწყისი პარამეტრები", "App up to date" : "აპლიკაცია ახალია", "Could not remove app" : "აპლიკაცია ვერ გაუქმდა", - "{size} used" : "მოხმარებულია {size}" + "{size} used" : "მოხმარებულია {size}", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "თქვენი ინსტანციის უსაფრთხოებისა და გამართული მოქმედებისთვის მნიშვნელოვანია ყველაფერი სწორად იყოს კონფიგურირებული. თქვენს დასახმარებლად ვატარებთ გარკვეულ ავტომატიზირებულ შემოწმებს. გთხოვთ იხილოთ რჩევებისა და ხრიკების სექცია და მეტი ინფორმაციისთვის გადახედოთ დოკუმენტაციას.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "როგორც ჩანს PHP სისტემის გარემოს ცვლადების მიღებისთვის არაა სწორად მოწყობილი. ეს ტესტი getenv(\"PATH\")-ით აბრუნებს მხოლოდ ცარიელ პასუხს.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "გთხოვთ PHP-ის კონფიგურაციის ჩანაწერებისთვის და მისი სერვერზე კონფიგურაციისთვის გადახედოთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">დაყენების დოკუემნტაციას ↗</a>. ეს განსაკუთრებით საჭიროა როდესაც იყენებთ php-fpm-ს.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "როგორც ჩანს PHP დაყენებულია ისე, რომ შიდა დოკუმენტური ბლოკები წაშალოს. ეს რამდენიმე მთავარ აპლიკაციას გახდის მიუწვდომელს.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s დაყენებულია %2$s-ზე დაბალი ვერსიით, სტაბილურობისთვის და ხარისხიანი მოქმედების მიზნებისთვის რეკომენდირებულია განაახლოთ ახალ %1$s ვერსიამდე.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP მოდული 'fileinfo' არ არსებობს. MIME ტიპის აღმოჩენისას კარგი შედეგების მისაღებად გირჩევთ, აუცილებლად ჩართოთ ეს მოდული.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "ტრაზაქციული ფაილის ჩაკეტვა გათიშულია, ამან შეიძლება გამოიწვიოს გარკვეული პრობლემები. პრობლემებისგან თავის ასარიდებლად აამოქმედეთ 'filelocking.enabled' config.php-ში. დამატებითი ინფორმაციისთვის იხილეთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">დოუმენტაცია ↗</a>.", + "This means that there might be problems with certain characters in filenames." : "ეს განაპირობებს ფაილის სახელში ზოგ ნიშანთან პრობლემის გამოჩენას.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "ერთ-ერთი შემდეგ ლოკალიზაციათაგანის მხარდასაჭერად გთავაზობთ თქვნს სისტემაზე დააყენოთ აუცილებელი პაკეტები: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "თუ თქვენი სისტემა იყენებს კრონს და ინსტალაცია არაა დაყენებული დომენის დასაწყისში, შესაძლოა გამოჩნდეს პრობლემები URL გენერაციასთან. ამ პრობლემებისგან თავის ასარიდებლად, \"overwrite.cli.url\" პარამეტრის თქვენს config.php ფაილში მიანიჭეთ ინსტალაციის მისამართი (რეკომენდირებულია: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "CLI-ით კრონ საქმის ეგზეკუცია ვერ მოხერხდა. წარმოიშვა შემდეგი ტექნიკური შეცდომები:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "სხვა მონაცემთა ბაზის მიგრაციისთვის გამოიყენეთ command line ხელსაწყო: 'occ db:convert-type', ან იხილეთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">დოუმენტაცია ↗</a>." }, "nplurals=2; plural=(n!=1);"); diff --git a/settings/l10n/ka_GE.json b/settings/l10n/ka_GE.json index 77b4cfd1fdf..c0d48ccd4b2 100644 --- a/settings/l10n/ka_GE.json +++ b/settings/l10n/ka_GE.json @@ -76,21 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "საჭიროა შიფრაციის ძველი გასაღებების მიგრაცია (ownCloud <= 8.0) ახალებზე.", "Start migration" : "მიგრაციის დაწყება", "Security & setup warnings" : "უსაფრთხოების და მოწყობის გაფრთხილებები", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "თქვენი ინსტანციის უსაფრთხოებისა და გამართული მოქმედებისთვის მნიშვნელოვანია ყველაფერი სწორად იყოს კონფიგურირებული. თქვენს დასახმარებლად ვატარებთ გარკვეულ ავტომატიზირებულ შემოწმებს. გთხოვთ იხილოთ რჩევებისა და ხრიკების სექცია და მეტი ინფორმაციისთვის გადახედოთ დოკუმენტაციას.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "როგორც ჩანს PHP სისტემის გარემოს ცვლადების მიღებისთვის არაა სწორად მოწყობილი. ეს ტესტი getenv(\"PATH\")-ით აბრუნებს მხოლოდ ცარიელ პასუხს.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "გთხოვთ PHP-ის კონფიგურაციის ჩანაწერებისთვის და მისი სერვერზე კონფიგურაციისთვის გადახედოთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">დაყენების დოკუემნტაციას ↗</a>. ეს განსაკუთრებით საჭიროა როდესაც იყენებთ php-fpm-ს.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "ამოქმედდა მხოლოდ-კითხვადი კონფიუგაცია. ეს აჩერებს ვებ-ინტერფეისის მეშვეობით გარკვეული კონფიგურაციების შეცვლას. ამასთან ერთად ფაილი განახლების ყოველ ეტაპზე მოითხოვს გახდეს წერადი.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "როგორც ჩანს PHP დაყენებულია ისე, რომ შიდა დოკუმენტური ბლოკები წაშალოს. ეს რამდენიმე მთავარ აპლიკაციას გახდის მიუწვდომელს.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "ეს შესაძლოა გამოწვეული იყოს ისეთი კეშით/აქსელერატორით როგორიცაა Zend OPcache ან eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "თქვენი მონაცემთა ბაზა არ მოქმედებს \"READ COMMITTED\" ტრანზაქციის იზოლაციის დონით. ამან შეიძლება გამოიწვიოს პრობლემა, როდესაც მრავალი ქმედება შესრულდება პარალელურად.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s დაყენებულია %2$s-ზე დაბალი ვერსიით, სტაბილურობისთვის და ხარისხიანი მოქმედების მიზნებისთვის რეკომენდირებულია განაახლოთ ახალ %1$s ვერსიამდე.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP მოდული 'fileinfo' არ არსებობს. MIME ტიპის აღმოჩენისას კარგი შედეგების მისაღებად გირჩევთ, აუცილებლად ჩართოთ ეს მოდული.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "ტრაზაქციული ფაილის ჩაკეტვა გათიშულია, ამან შეიძლება გამოიწვიოს გარკვეული პრობლემები. პრობლემებისგან თავის ასარიდებლად აამოქმედეთ 'filelocking.enabled' config.php-ში. დამატებითი ინფორმაციისთვის იხილეთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">დოუმენტაცია ↗</a>.", - "System locale can not be set to a one which supports UTF-8." : "სისტემური ლოკალიზაცია ვერ ყენდება ერთ-ერთ ისეთზე, რომელიც მხარს უჭერს UTF-8-ს.", - "This means that there might be problems with certain characters in filenames." : "ეს განაპირობებს ფაილის სახელში ზოგ ნიშანთან პრობლემის გამოჩენას.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "ერთ-ერთი შემდეგ ლოკალიზაციათაგანის მხარდასაჭერად გთავაზობთ თქვნს სისტემაზე დააყენოთ აუცილებელი პაკეტები: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "თუ თქვენი სისტემა იყენებს კრონს და ინსტალაცია არაა დაყენებული დომენის დასაწყისში, შესაძლოა გამოჩნდეს პრობლემები URL გენერაციასთან. ამ პრობლემებისგან თავის ასარიდებლად, \"overwrite.cli.url\" პარამეტრის თქვენს config.php ფაილში მიანიჭეთ ინსტალაციის მისამართი (რეკომენდირებულია: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "CLI-ით კრონ საქმის ეგზეკუცია ვერ მოხერხდა. წარმოიშვა შემდეგი ტექნიკური შეცდომები:", "All checks passed." : "ყველა შემოწმებამ ჩაიარა დადებითად.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "გთხოვთ გადაამოწმოთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">ინსტალაციის სახელმძღვენელოები ↗</a>, და ნახოთ თუ აღმოაჩენთ რაიმე შეცდომას ან გაფრთხილებას <a href=\"%s\">ლოგში</a>.", "Version" : "ვერსია", @@ -124,17 +109,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "პასუხისმგებლობის შეზღუდვის ტექსტის ჩვენება ღია ბმულის ატვირთვის გვერდზე. (ჩანს მხოლოდ მაშინ, როდესაც ფაილების სია დამალულია.)", "This text will be shown on the public link upload page when the file list is hidden." : "ეს ტექსტი გამოჩნდება ღია ბმულის ატვირთვის გვერდზე, როდესაც ფაილების სია დამალულია.", "Default share permissions" : "საწყისი გაზიარების პარამეტრები", - "Tips & tricks" : "რჩევები და ხრიკები", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "ამ ინსტანციას ოპტიმიზირებულად მოწყობისა და გამოყენებისთვის მრავალი ფუნქცია და კონფიგურაციის პარამეტრია ხელმისაწვდომი. აქ რამდენიმე კურსორია მეტი ინფორმაციისთვის.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "ამჟამად ბექენდზე მონაცემთა ბაზად მოიხმარება SQLite. უფრო დიდი ინსტალაციებისთვის რეკომენდაციას გიწევთ აირჩიოთ სხვა მონაცემთა ბაზა.", - "This is particularly recommended when using the desktop client for file synchronisation." : "ეს კერძოდ რეკომედირებულია განსაკუთრებით მაშინ, როდესაც ფაილების სინქრონიზაციისთვის იყენებთ დესკტოპ-კლიენტს.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "სხვა მონაცემთა ბაზის მიგრაციისთვის გამოიყენეთ command line ხელსაწყო: 'occ db:convert-type', ან იხილეთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">დოუმენტაცია ↗</a>.", - "How to do backups" : "როგორ შევქმნათ რეზერვები", - "Performance tuning" : "მოქმედების რეგულირება", - "Improving the config.php" : "config.php-ს გაუმჯობესება", - "Theming" : "ვიზუალური თემები", - "Check the security of your Nextcloud over our security scan" : "შეამოწმეთ თქვენი Nextcloud ჩვენი უსფრთხოების შემოწმებით", - "Hardening and security guidance" : "განმტკიცებისა და უსაფრთხოების სახელმძღვანელო", "Personal" : "პირადი", "Administration" : "ადმინისტრაცია", "Profile picture" : "პროფილის სურათი", @@ -356,10 +330,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "თქვენი ინსტანციის უსაფრთხოებისა და გამართული მოქმედებისთვის მნიშვნელოვანია ყველაფერი სწორად იყოს კონფიგურირებული. თქვენს დასახმარებლად ვატარებთ გარკვეულ ავტომატიზირებულ შემოწმებეს. გთხოვთ იხილოთ რჩევებისა და ხრიკების სექცია და მეტი ინფორმაციისთვის გადახედოთ დოკუმენტაციას.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "როგორც ჩანს, PHP სისტემის გარემოს ცვლადების მიღებისთვის არაა სწორად მოწყობილი. ეს ტესტი getenv(\"PATH\")-ით აბრუნებს მხოლოდ ცარიელ პასუხს.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "გთხოვთ php-ს კონფიგურაციის ჩანაწერებისთვის და მისი სერვერზე კონფიგურაციისთვის გადახედოთ <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">დაყენების დოკუმენტაციას ↗</a>. ეს განსაკუთრებით საჭიროა როდესაც იყენებთ php-fpm-ს.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "ამოქმედდა მხოლოდ-კითხვადი კონფიუგაცია. ეს აჩერებს ვებ-ინტერფეისის მეშვეობით გარკვეული კონფიგურაციების შეცვლას. ამასთან ერთად ფაილი განახლების ყოველ ეტაპზე მოითხოვს გახდეს წერადი.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "როგორც ჩანს, PHP დაყენებულია ისე, რომ შიდა დოკუმენტური ბლოკები წაშალოს. ეს რამდენიმე მთავარ აპლიკაციას გახდის მიუწვდომელს.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "ეს შესაძლოა გამოწვეული იყოს ისეთი კეშით/აქსელერატორით როგორიცაა Zend OPcache ან eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "თქვენი მონაცემთა ბაზა არ მოქმედებს \"READ COMMITTED\" ტრანზაქციის იზოლაციის დონით. ამან შეიძლება გამოიწვიოს პრობლემა, როდესაც მრავალი ქმედება შესრულდება პარალელურად.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s დაყენებულია %2$s-ზე დაბალი ვერსიით, სტაბილურობისთვის და ხარისხიანი მოქმედების მიზნებისთვის რეკომენდირებულია განაახლოთ ახალ %1$s ვერსიამდე.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP მოდული 'fileinfo' არ არსებობს. mime ტიპის აღმოჩენისას კარგი შედეგების მისაღებად გირჩევთ, აუცილებლად ჩართოთ ეს მოდული.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "ტრაზაქციული ფაილის ჩაკეტვა გათიშულია, ამან შეიძლება გამოიწვიოს გარკვეული პრობლემები. პრობლემებისგან თავის ასარიდებლად აამოქმედეთ 'filelocking.enabled' config.php-ში. დამატებითი ინფორმაციისთვის იხილეთ <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">დოკუმენტაცია ↗</a>.", + "System locale can not be set to a one which supports UTF-8." : "სისტემური ლოკალიზაცია ვერ ყენდება ერთ-ერთ ისეთზე, რომელიც მხარს უჭერს UTF-8-ს.", "This means that there might be problems with certain characters in file names." : "ეს განაპირობებს ფაილის სახელში ზოგიერთ ნიშანთან პრობლემის გამოჩენას.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "ერთ-ერთი შემდეგ ლოკალიზაციათაგანის მხარდასაჭერად გთავაზობთ თქვნს სისტემაზე დააყენოთ აუცილებელი პაკეტები: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "თუ თქვენი სისტემა იყენებს კრონს და ინსტალაცია არაა დაყენებული დომენის დასაწყისში, შესაძლოა გამოჩნდეს პრობლემები URL გენერაციასთან. ამ პრობლემებისგან თავის ასარიდებლად, \"overwrite.cli.url\" პარამეტრის თქვენს config.php ფაილში მიანიჭეთ ინსტალაციის მისამართი (რეკომენდირებულია: \"%s\")", @@ -367,7 +345,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "გთხოვთ გადაამოწმოთ <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">ინსტალაციის სახელმძღვენელოები ↗</a> და ნახოთ თუ აღმოაჩენთ რაიმე შეცდომას ან გაფრთხილებას <a href=\"%s\">ლოგში</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php რეგისტრირებულია ვებკრონის სერვისით, 15 წუთში ერთხელ გაიშვას http მეშვეობით.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "ამის გასაშვებად საჭიროა გქონდეთ PHP posix გაფართოება. მეტი დეტალებისთვის იხილეთ {linkstart}PHP დოკუმენტაცია{linkend}. ", + "Tips & tricks" : "რჩევები და ხრიკები", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "ამ ინსტანციას ოპტიმიზირებულად მოწყობისა და გამოყენებისთვის მრავალი ფუნქცია და კონფიგურაციის პარამეტრია ხელმისაწვდომი. აქ რამდენიმე კურსორია მეტი ინფორმაციისთვის.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "ამჟამად ბექენდზე მონაცემთა ბაზად მოიხმარება SQLite. უფრო დიდი ინსტალაციებისთვის რეკომენდაციას გიწევთ აირჩიოთ სხვა მონაცემთა ბაზა.", + "This is particularly recommended when using the desktop client for file synchronisation." : "ეს კერძოდ რეკომედირებულია განსაკუთრებით მაშინ, როდესაც ფაილების სინქრონიზაციისთვის იყენებთ დესკტოპ-კლიენტს.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "სხვა მონაცემთა ბაზის მიგრაციისთვის გამოიყენეთ command line ხელსაწყო: 'occ db:convert-type', ან იხილეთ <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">დოუმენტაცია ↗</a>.", + "How to do backups" : "როგორ შევქმნათ რეზერვები", + "Performance tuning" : "მოქმედების რეგულირება", + "Improving the config.php" : "config.php-ს გაუმჯობესება", + "Theming" : "ვიზუალური თემები", + "Check the security of your Nextcloud over our security scan" : "შეამოწმეთ თქვენი Nextcloud ჩვენი უსფრთხოების შემოწმებით", + "Hardening and security guidance" : "განმტკიცებისა და უსაფრთხოების სახელმძღვანელო", "View in store" : "იხილეთ store-ში", "Limit to groups" : "ლიმიტი ჯგუფებზე", "This app has an update available." : "აპლიკაციას გააჩნია ხელმისაწვდომი განახლება.", @@ -418,6 +406,18 @@ "Default" : "საწყისი პარამეტრები", "App up to date" : "აპლიკაცია ახალია", "Could not remove app" : "აპლიკაცია ვერ გაუქმდა", - "{size} used" : "მოხმარებულია {size}" + "{size} used" : "მოხმარებულია {size}", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "თქვენი ინსტანციის უსაფრთხოებისა და გამართული მოქმედებისთვის მნიშვნელოვანია ყველაფერი სწორად იყოს კონფიგურირებული. თქვენს დასახმარებლად ვატარებთ გარკვეულ ავტომატიზირებულ შემოწმებს. გთხოვთ იხილოთ რჩევებისა და ხრიკების სექცია და მეტი ინფორმაციისთვის გადახედოთ დოკუმენტაციას.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "როგორც ჩანს PHP სისტემის გარემოს ცვლადების მიღებისთვის არაა სწორად მოწყობილი. ეს ტესტი getenv(\"PATH\")-ით აბრუნებს მხოლოდ ცარიელ პასუხს.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "გთხოვთ PHP-ის კონფიგურაციის ჩანაწერებისთვის და მისი სერვერზე კონფიგურაციისთვის გადახედოთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">დაყენების დოკუემნტაციას ↗</a>. ეს განსაკუთრებით საჭიროა როდესაც იყენებთ php-fpm-ს.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "როგორც ჩანს PHP დაყენებულია ისე, რომ შიდა დოკუმენტური ბლოკები წაშალოს. ეს რამდენიმე მთავარ აპლიკაციას გახდის მიუწვდომელს.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s დაყენებულია %2$s-ზე დაბალი ვერსიით, სტაბილურობისთვის და ხარისხიანი მოქმედების მიზნებისთვის რეკომენდირებულია განაახლოთ ახალ %1$s ვერსიამდე.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP მოდული 'fileinfo' არ არსებობს. MIME ტიპის აღმოჩენისას კარგი შედეგების მისაღებად გირჩევთ, აუცილებლად ჩართოთ ეს მოდული.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "ტრაზაქციული ფაილის ჩაკეტვა გათიშულია, ამან შეიძლება გამოიწვიოს გარკვეული პრობლემები. პრობლემებისგან თავის ასარიდებლად აამოქმედეთ 'filelocking.enabled' config.php-ში. დამატებითი ინფორმაციისთვის იხილეთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">დოუმენტაცია ↗</a>.", + "This means that there might be problems with certain characters in filenames." : "ეს განაპირობებს ფაილის სახელში ზოგ ნიშანთან პრობლემის გამოჩენას.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "ერთ-ერთი შემდეგ ლოკალიზაციათაგანის მხარდასაჭერად გთავაზობთ თქვნს სისტემაზე დააყენოთ აუცილებელი პაკეტები: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "თუ თქვენი სისტემა იყენებს კრონს და ინსტალაცია არაა დაყენებული დომენის დასაწყისში, შესაძლოა გამოჩნდეს პრობლემები URL გენერაციასთან. ამ პრობლემებისგან თავის ასარიდებლად, \"overwrite.cli.url\" პარამეტრის თქვენს config.php ფაილში მიანიჭეთ ინსტალაციის მისამართი (რეკომენდირებულია: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "CLI-ით კრონ საქმის ეგზეკუცია ვერ მოხერხდა. წარმოიშვა შემდეგი ტექნიკური შეცდომები:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "სხვა მონაცემთა ბაზის მიგრაციისთვის გამოიყენეთ command line ხელსაწყო: 'occ db:convert-type', ან იხილეთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">დოუმენტაცია ↗</a>." },"pluralForm" :"nplurals=2; plural=(n!=1);" }
\ No newline at end of file diff --git a/settings/l10n/ko.js b/settings/l10n/ko.js index e63f59ba93b..08cb1ffe8be 100644 --- a/settings/l10n/ko.js +++ b/settings/l10n/ko.js @@ -78,21 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "ownCloud 8.0 이하에서 사용한 이전 암호화 키를 새 키로 이전해야 합니다.", "Start migration" : "이전 시작", "Security & setup warnings" : "보안 및 설치 경고", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "내 인스턴스가 올바르게 설정되어 있어야 시스템 보안과 성능을 보장할 수 있습니다. 설정 확인을 돕기 위해서 일부 항목을 자동으로 확인합니다. 더 많은 정보를 보려면 문서의 팁과 추가 정보 장을 참조하십시오.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP에서 시스템 환경 변수를 올바르게 조회할 수 없는 것 같습니다. getenv(\"PATH\") 시험 결과 빈 값이 반환되었습니다.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "서버 PHP 설정(특히 php-fpm 사용 시)에 관한 내용은 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">설치 가이드 ↗</a>를 참고하십시오.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "읽기 전용 설정이 활성화되었습니다. 이 상태에서는 웹 인터페이스를 통하여 일부 설정을 변경할 수 없습니다. 또한 매 업데이트마다 파일을 쓸 수 있는 상태로 변경해야 합니다.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP에서 인라인 문서 블록을 삭제하도록 설정되어 있습니다. 대부분의 코어 앱을 사용할 수 없습니다.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Zend OPcache, eAccelerator 같은 캐시/가속기 문제일 수도 있습니다.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "데이터베이스가 \"READ COMMITTED\" 트랜잭션 격리 수준에서 실행되고 있지 않습니다. 여러 작업이 동시에 실행될 때 문제가 발생할 수 있습니다.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s의 버전 %2$s 미만이 설치되어 있습니다. 안정성과 성능을 위해 %1$s의 새로운 버전으로 업데이트하는 것을 권장합니다.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP의 'fileinfo' 모듈이 없습니다. 올바른 MIME 형식 감지를 위해서 이 모듈을 활성화하는 것을 추천합니다.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "트랜잭션 파일 잠금이 비활성화되어있어 동시 접근 시 문제가 발생할 수 있습니다. config.php에서 'filelocking.enabled'를 활성화하여 이 문제를 해결할 수 있습니다. 자세한 내용은 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">사용 설명서 ↗</a>를 참고하십시오.", - "System locale can not be set to a one which supports UTF-8." : "UTF-8을 지원하는 시스템 로캘을 사용할 수 없습니다.", - "This means that there might be problems with certain characters in filenames." : "파일 이름에 특정 문자가 포함되어 있을 때 문제가 발생할 수 있습니다.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "다음 중 하나 이상의 로캘을 지원하기 위하여 필요한 패키지를 시스템에 설치하는 것을 추천합니다: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "도메인의 루트 경로에 설치되어 있지 않고 시스템 Cron을 사용한다면 URL 생성에 문제가 발생할 수도 있습니다. 이 문제를 예방하려면 config.php의 \"overwrite.cli.url\" 옵션을 설치본의 웹 루트 경로로 설정하십시오(제안: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "CLI로 cron 작업을 실행시킬 수 없었습니다. 다음 오류가 발생했습니다:", "All checks passed." : "모든 검사를 통과했습니다.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">설치 가이드 ↗</a>를 확인하고 <a href=\"%s\">로그</a>의 오류 또는 경고를 확인하십시오.", "Version" : "버전", @@ -125,17 +110,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "공유 대화 상자에서 사용자 이름을 자동으로 완성합니다. 이 설정을 사용하지 않으면 전체 사용자 이름이나 이메일 주소를 입력해야 합니다.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "공개 링크 업로드 페이지에 고지 사항 텍스트를 표시합니다.(파일 목록이 숨겨져 있는 경우에만 표시합니다.)", "This text will be shown on the public link upload page when the file list is hidden." : "파일 목록이 숨겨져 있으면 이 텍스트는 공개 링크 업로드 페이지에 표시됩니다.", - "Tips & tricks" : "팁과 추가 정보", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "이 인스턴스를 최적화하고 사용할 수 있는 여러 기능과 설정을 변경할 수 있습니다. 더 많은 정보를 보려면 여기에서 시작하십시오.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "현재 백엔드 데이터베이스로 SQLite를 사용하고 있습니다. 대규모의 파일을 관리하려고 한다면 다른 데이터베이스 백엔드로 전환할 것을 권장합니다.", - "This is particularly recommended when using the desktop client for file synchronisation." : "특히 파일 동기화를 위해 데스크톱 클라이언트를 사용할 예정인 경우 권장됩니다.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "다른 데이터베이스로 마이그레이션하려면 'occ db:convert-type' 명령행 도구를 사용하거나 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">사용 설명서 ↗</a>를 참고하십시오.", - "How to do backups" : "백업 방법", - "Performance tuning" : "성능 튜닝", - "Improving the config.php" : "config.php 개선", - "Theming" : "테마 꾸미기", - "Check the security of your Nextcloud over our security scan" : "Nextcloud의 보안 상태 검사하기", - "Hardening and security guidance" : "보안 강화 지침", "Personal" : "개인", "Administration" : "관리", "Profile picture" : "프로필 사진", @@ -357,10 +331,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "내 인스턴스가 올바르게 설정되어 있어야 시스템 보안과 성능을 보장할 수 있습니다. 설정 확인을 돕기 위해서 일부 항목을 자동으로 확인합니다. 더 많은 정보를 보려면 문서의 팁과 추가 정보 장을 참조하십시오.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php가 시스템 환경 변수를 올바르게 조회할 수 있도록 설정되지 않았습니다. getenv(\"PATH\")의 값이 비어 있습니다.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "서버 PHP 설정(특히 php-fpm 사용 시)에 관한 내용은 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">설치 가이드 ↗</a>를 참고하십시오.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "읽기 전용 설정이 활성화되었습니다. 이 상태에서는 웹 인터페이스를 통하여 일부 설정을 변경할 수 없습니다. 또한 매 업데이트마다 파일을 쓸 수 있는 상태로 변경해야 합니다.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP에서 인라인 doc 블록을 삭제하도록 설정되어 있습니다. 일부 코어 앱에 접근할 수 없을 수도 있습니다.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Zend OPcache, eAccelerator 같은 캐시/가속기 문제일 수도 있습니다.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "데이터베이스가 \"READ COMMITTED\" 트랜잭션 격리 수준에서 실행되고 있지 않습니다. 여러 작업이 동시에 실행될 때 문제가 발생할 수 있습니다.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s의 버전 %2$s 미만이 설치되어 있습니다. 안정성과 성능을 위해 %1$s의 새로운 버전으로 업데이트하는 것을 권장합니다.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP의 'fileinfo' 모듈이 없습니다. 올바른 MIME 형식 감지를 위해서 이 모듈을 활성화하는 것을 추천합니다.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "트랜잭션 파일 잠금이 비활성화되어있어 동시 접근 시 문제가 발생할 수 있습니다. config.php에서 'filelocking.enabled'를 활성화하여 이 문제를 해결할 수 있습니다. 자세한 내용은 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">사용 설명서 ↗</a>를 참고하십시오.", + "System locale can not be set to a one which supports UTF-8." : "UTF-8을 지원하는 시스템 로캘을 사용할 수 없습니다.", "This means that there might be problems with certain characters in file names." : "파일 이름의 일부 문자에 문제가 생길 수도 있습니다.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "다음 중 하나 이상의 로캘을 지원하기 위하여 필요한 패키지를 시스템에 설치하는 것을 추천합니다: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "도메인의 루트 디렉터리 아래에 설치되어 있지 않고 시스템 cron을 사용한다면 URL 생성에 문제가 발생할 수도 있습니다. 이 문제를 해결하려면 설치본의 웹 루트 경로에 있는 config.php 파일의 \"overwrite.cli.url\" 옵션을 변경하십시오(제안: \"%s\")", @@ -368,7 +346,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">설치 가이드 ↗</a>를 확인하고 <a href=\"%s\">로그</a>의 오류 또는 경고를 확인하십시오.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "15분마다 HTTP를 통해 cron.php를 실행하는 webcron 서비스에 cron.php가 등록되었습니다.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "실행하려면 PHP POSIX 확장이 필요합니다. 자세한 내용은 {linkstart}PHP 사용 설명서{linkend}를 참고하십시오.", + "Tips & tricks" : "팁과 추가 정보", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "이 인스턴스를 최적화하고 사용할 수 있는 여러 기능과 설정을 변경할 수 있습니다. 더 많은 정보를 보려면 여기에서 시작하십시오.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "현재 백엔드 데이터베이스로 SQLite를 사용하고 있습니다. 대규모의 파일을 관리하려고 한다면 다른 데이터베이스 백엔드로 전환할 것을 권장합니다.", + "This is particularly recommended when using the desktop client for file synchronisation." : "특히 파일 동기화를 위해 데스크톱 클라이언트를 사용할 예정인 경우 권장됩니다.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "다른 데이터베이스로 마이그레이션하려면 'occ db:convert-type' 명령행 도구를 사용하거나 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">사용 설명서 ↗</a>를 참고하십시오.", + "How to do backups" : "백업 방법", + "Performance tuning" : "성능 튜닝", + "Improving the config.php" : "config.php 개선", + "Theming" : "테마 꾸미기", + "Check the security of your Nextcloud over our security scan" : "Nextcloud의 보안 상태 검사하기", + "Hardening and security guidance" : "보안 강화 지침", "View in store" : "스토어에서 보기", "Limit to groups" : "그룹으로 제한", "This app has an update available." : "이 앱을 업데이트할 수 있습니다.", @@ -419,6 +407,18 @@ OC.L10N.register( "Default" : "기본값", "App up to date" : "앱이 최신 상태임", "Could not remove app" : "앱을 삭제할 수 없음", - "{size} used" : "{size} 사용됨" + "{size} used" : "{size} 사용됨", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "내 인스턴스가 올바르게 설정되어 있어야 시스템 보안과 성능을 보장할 수 있습니다. 설정 확인을 돕기 위해서 일부 항목을 자동으로 확인합니다. 더 많은 정보를 보려면 문서의 팁과 추가 정보 장을 참조하십시오.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP에서 시스템 환경 변수를 올바르게 조회할 수 없는 것 같습니다. getenv(\"PATH\") 시험 결과 빈 값이 반환되었습니다.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "서버 PHP 설정(특히 php-fpm 사용 시)에 관한 내용은 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">설치 가이드 ↗</a>를 참고하십시오.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP에서 인라인 문서 블록을 삭제하도록 설정되어 있습니다. 대부분의 코어 앱을 사용할 수 없습니다.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s의 버전 %2$s 미만이 설치되어 있습니다. 안정성과 성능을 위해 %1$s의 새로운 버전으로 업데이트하는 것을 권장합니다.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP의 'fileinfo' 모듈이 없습니다. 올바른 MIME 형식 감지를 위해서 이 모듈을 활성화하는 것을 추천합니다.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "트랜잭션 파일 잠금이 비활성화되어있어 동시 접근 시 문제가 발생할 수 있습니다. config.php에서 'filelocking.enabled'를 활성화하여 이 문제를 해결할 수 있습니다. 자세한 내용은 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">사용 설명서 ↗</a>를 참고하십시오.", + "This means that there might be problems with certain characters in filenames." : "파일 이름에 특정 문자가 포함되어 있을 때 문제가 발생할 수 있습니다.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "다음 중 하나 이상의 로캘을 지원하기 위하여 필요한 패키지를 시스템에 설치하는 것을 추천합니다: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "도메인의 루트 경로에 설치되어 있지 않고 시스템 Cron을 사용한다면 URL 생성에 문제가 발생할 수도 있습니다. 이 문제를 예방하려면 config.php의 \"overwrite.cli.url\" 옵션을 설치본의 웹 루트 경로로 설정하십시오(제안: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "CLI로 cron 작업을 실행시킬 수 없었습니다. 다음 오류가 발생했습니다:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "다른 데이터베이스로 마이그레이션하려면 'occ db:convert-type' 명령행 도구를 사용하거나 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">사용 설명서 ↗</a>를 참고하십시오." }, "nplurals=1; plural=0;"); diff --git a/settings/l10n/ko.json b/settings/l10n/ko.json index 3f57c479914..94354f903e5 100644 --- a/settings/l10n/ko.json +++ b/settings/l10n/ko.json @@ -76,21 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "ownCloud 8.0 이하에서 사용한 이전 암호화 키를 새 키로 이전해야 합니다.", "Start migration" : "이전 시작", "Security & setup warnings" : "보안 및 설치 경고", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "내 인스턴스가 올바르게 설정되어 있어야 시스템 보안과 성능을 보장할 수 있습니다. 설정 확인을 돕기 위해서 일부 항목을 자동으로 확인합니다. 더 많은 정보를 보려면 문서의 팁과 추가 정보 장을 참조하십시오.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP에서 시스템 환경 변수를 올바르게 조회할 수 없는 것 같습니다. getenv(\"PATH\") 시험 결과 빈 값이 반환되었습니다.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "서버 PHP 설정(특히 php-fpm 사용 시)에 관한 내용은 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">설치 가이드 ↗</a>를 참고하십시오.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "읽기 전용 설정이 활성화되었습니다. 이 상태에서는 웹 인터페이스를 통하여 일부 설정을 변경할 수 없습니다. 또한 매 업데이트마다 파일을 쓸 수 있는 상태로 변경해야 합니다.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP에서 인라인 문서 블록을 삭제하도록 설정되어 있습니다. 대부분의 코어 앱을 사용할 수 없습니다.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Zend OPcache, eAccelerator 같은 캐시/가속기 문제일 수도 있습니다.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "데이터베이스가 \"READ COMMITTED\" 트랜잭션 격리 수준에서 실행되고 있지 않습니다. 여러 작업이 동시에 실행될 때 문제가 발생할 수 있습니다.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s의 버전 %2$s 미만이 설치되어 있습니다. 안정성과 성능을 위해 %1$s의 새로운 버전으로 업데이트하는 것을 권장합니다.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP의 'fileinfo' 모듈이 없습니다. 올바른 MIME 형식 감지를 위해서 이 모듈을 활성화하는 것을 추천합니다.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "트랜잭션 파일 잠금이 비활성화되어있어 동시 접근 시 문제가 발생할 수 있습니다. config.php에서 'filelocking.enabled'를 활성화하여 이 문제를 해결할 수 있습니다. 자세한 내용은 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">사용 설명서 ↗</a>를 참고하십시오.", - "System locale can not be set to a one which supports UTF-8." : "UTF-8을 지원하는 시스템 로캘을 사용할 수 없습니다.", - "This means that there might be problems with certain characters in filenames." : "파일 이름에 특정 문자가 포함되어 있을 때 문제가 발생할 수 있습니다.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "다음 중 하나 이상의 로캘을 지원하기 위하여 필요한 패키지를 시스템에 설치하는 것을 추천합니다: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "도메인의 루트 경로에 설치되어 있지 않고 시스템 Cron을 사용한다면 URL 생성에 문제가 발생할 수도 있습니다. 이 문제를 예방하려면 config.php의 \"overwrite.cli.url\" 옵션을 설치본의 웹 루트 경로로 설정하십시오(제안: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "CLI로 cron 작업을 실행시킬 수 없었습니다. 다음 오류가 발생했습니다:", "All checks passed." : "모든 검사를 통과했습니다.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">설치 가이드 ↗</a>를 확인하고 <a href=\"%s\">로그</a>의 오류 또는 경고를 확인하십시오.", "Version" : "버전", @@ -123,17 +108,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "공유 대화 상자에서 사용자 이름을 자동으로 완성합니다. 이 설정을 사용하지 않으면 전체 사용자 이름이나 이메일 주소를 입력해야 합니다.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "공개 링크 업로드 페이지에 고지 사항 텍스트를 표시합니다.(파일 목록이 숨겨져 있는 경우에만 표시합니다.)", "This text will be shown on the public link upload page when the file list is hidden." : "파일 목록이 숨겨져 있으면 이 텍스트는 공개 링크 업로드 페이지에 표시됩니다.", - "Tips & tricks" : "팁과 추가 정보", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "이 인스턴스를 최적화하고 사용할 수 있는 여러 기능과 설정을 변경할 수 있습니다. 더 많은 정보를 보려면 여기에서 시작하십시오.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "현재 백엔드 데이터베이스로 SQLite를 사용하고 있습니다. 대규모의 파일을 관리하려고 한다면 다른 데이터베이스 백엔드로 전환할 것을 권장합니다.", - "This is particularly recommended when using the desktop client for file synchronisation." : "특히 파일 동기화를 위해 데스크톱 클라이언트를 사용할 예정인 경우 권장됩니다.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "다른 데이터베이스로 마이그레이션하려면 'occ db:convert-type' 명령행 도구를 사용하거나 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">사용 설명서 ↗</a>를 참고하십시오.", - "How to do backups" : "백업 방법", - "Performance tuning" : "성능 튜닝", - "Improving the config.php" : "config.php 개선", - "Theming" : "테마 꾸미기", - "Check the security of your Nextcloud over our security scan" : "Nextcloud의 보안 상태 검사하기", - "Hardening and security guidance" : "보안 강화 지침", "Personal" : "개인", "Administration" : "관리", "Profile picture" : "프로필 사진", @@ -355,10 +329,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "내 인스턴스가 올바르게 설정되어 있어야 시스템 보안과 성능을 보장할 수 있습니다. 설정 확인을 돕기 위해서 일부 항목을 자동으로 확인합니다. 더 많은 정보를 보려면 문서의 팁과 추가 정보 장을 참조하십시오.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php가 시스템 환경 변수를 올바르게 조회할 수 있도록 설정되지 않았습니다. getenv(\"PATH\")의 값이 비어 있습니다.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "서버 PHP 설정(특히 php-fpm 사용 시)에 관한 내용은 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">설치 가이드 ↗</a>를 참고하십시오.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "읽기 전용 설정이 활성화되었습니다. 이 상태에서는 웹 인터페이스를 통하여 일부 설정을 변경할 수 없습니다. 또한 매 업데이트마다 파일을 쓸 수 있는 상태로 변경해야 합니다.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP에서 인라인 doc 블록을 삭제하도록 설정되어 있습니다. 일부 코어 앱에 접근할 수 없을 수도 있습니다.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Zend OPcache, eAccelerator 같은 캐시/가속기 문제일 수도 있습니다.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "데이터베이스가 \"READ COMMITTED\" 트랜잭션 격리 수준에서 실행되고 있지 않습니다. 여러 작업이 동시에 실행될 때 문제가 발생할 수 있습니다.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s의 버전 %2$s 미만이 설치되어 있습니다. 안정성과 성능을 위해 %1$s의 새로운 버전으로 업데이트하는 것을 권장합니다.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP의 'fileinfo' 모듈이 없습니다. 올바른 MIME 형식 감지를 위해서 이 모듈을 활성화하는 것을 추천합니다.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "트랜잭션 파일 잠금이 비활성화되어있어 동시 접근 시 문제가 발생할 수 있습니다. config.php에서 'filelocking.enabled'를 활성화하여 이 문제를 해결할 수 있습니다. 자세한 내용은 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">사용 설명서 ↗</a>를 참고하십시오.", + "System locale can not be set to a one which supports UTF-8." : "UTF-8을 지원하는 시스템 로캘을 사용할 수 없습니다.", "This means that there might be problems with certain characters in file names." : "파일 이름의 일부 문자에 문제가 생길 수도 있습니다.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "다음 중 하나 이상의 로캘을 지원하기 위하여 필요한 패키지를 시스템에 설치하는 것을 추천합니다: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "도메인의 루트 디렉터리 아래에 설치되어 있지 않고 시스템 cron을 사용한다면 URL 생성에 문제가 발생할 수도 있습니다. 이 문제를 해결하려면 설치본의 웹 루트 경로에 있는 config.php 파일의 \"overwrite.cli.url\" 옵션을 변경하십시오(제안: \"%s\")", @@ -366,7 +344,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">설치 가이드 ↗</a>를 확인하고 <a href=\"%s\">로그</a>의 오류 또는 경고를 확인하십시오.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "15분마다 HTTP를 통해 cron.php를 실행하는 webcron 서비스에 cron.php가 등록되었습니다.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "실행하려면 PHP POSIX 확장이 필요합니다. 자세한 내용은 {linkstart}PHP 사용 설명서{linkend}를 참고하십시오.", + "Tips & tricks" : "팁과 추가 정보", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "이 인스턴스를 최적화하고 사용할 수 있는 여러 기능과 설정을 변경할 수 있습니다. 더 많은 정보를 보려면 여기에서 시작하십시오.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "현재 백엔드 데이터베이스로 SQLite를 사용하고 있습니다. 대규모의 파일을 관리하려고 한다면 다른 데이터베이스 백엔드로 전환할 것을 권장합니다.", + "This is particularly recommended when using the desktop client for file synchronisation." : "특히 파일 동기화를 위해 데스크톱 클라이언트를 사용할 예정인 경우 권장됩니다.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "다른 데이터베이스로 마이그레이션하려면 'occ db:convert-type' 명령행 도구를 사용하거나 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">사용 설명서 ↗</a>를 참고하십시오.", + "How to do backups" : "백업 방법", + "Performance tuning" : "성능 튜닝", + "Improving the config.php" : "config.php 개선", + "Theming" : "테마 꾸미기", + "Check the security of your Nextcloud over our security scan" : "Nextcloud의 보안 상태 검사하기", + "Hardening and security guidance" : "보안 강화 지침", "View in store" : "스토어에서 보기", "Limit to groups" : "그룹으로 제한", "This app has an update available." : "이 앱을 업데이트할 수 있습니다.", @@ -417,6 +405,18 @@ "Default" : "기본값", "App up to date" : "앱이 최신 상태임", "Could not remove app" : "앱을 삭제할 수 없음", - "{size} used" : "{size} 사용됨" + "{size} used" : "{size} 사용됨", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "내 인스턴스가 올바르게 설정되어 있어야 시스템 보안과 성능을 보장할 수 있습니다. 설정 확인을 돕기 위해서 일부 항목을 자동으로 확인합니다. 더 많은 정보를 보려면 문서의 팁과 추가 정보 장을 참조하십시오.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP에서 시스템 환경 변수를 올바르게 조회할 수 없는 것 같습니다. getenv(\"PATH\") 시험 결과 빈 값이 반환되었습니다.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "서버 PHP 설정(특히 php-fpm 사용 시)에 관한 내용은 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">설치 가이드 ↗</a>를 참고하십시오.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP에서 인라인 문서 블록을 삭제하도록 설정되어 있습니다. 대부분의 코어 앱을 사용할 수 없습니다.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s의 버전 %2$s 미만이 설치되어 있습니다. 안정성과 성능을 위해 %1$s의 새로운 버전으로 업데이트하는 것을 권장합니다.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP의 'fileinfo' 모듈이 없습니다. 올바른 MIME 형식 감지를 위해서 이 모듈을 활성화하는 것을 추천합니다.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "트랜잭션 파일 잠금이 비활성화되어있어 동시 접근 시 문제가 발생할 수 있습니다. config.php에서 'filelocking.enabled'를 활성화하여 이 문제를 해결할 수 있습니다. 자세한 내용은 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">사용 설명서 ↗</a>를 참고하십시오.", + "This means that there might be problems with certain characters in filenames." : "파일 이름에 특정 문자가 포함되어 있을 때 문제가 발생할 수 있습니다.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "다음 중 하나 이상의 로캘을 지원하기 위하여 필요한 패키지를 시스템에 설치하는 것을 추천합니다: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "도메인의 루트 경로에 설치되어 있지 않고 시스템 Cron을 사용한다면 URL 생성에 문제가 발생할 수도 있습니다. 이 문제를 예방하려면 config.php의 \"overwrite.cli.url\" 옵션을 설치본의 웹 루트 경로로 설정하십시오(제안: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "CLI로 cron 작업을 실행시킬 수 없었습니다. 다음 오류가 발생했습니다:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "다른 데이터베이스로 마이그레이션하려면 'occ db:convert-type' 명령행 도구를 사용하거나 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">사용 설명서 ↗</a>를 참고하십시오." },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/settings/l10n/lt_LT.js b/settings/l10n/lt_LT.js index 46c5ad2a90e..c06e023e1d5 100644 --- a/settings/l10n/lt_LT.js +++ b/settings/l10n/lt_LT.js @@ -50,9 +50,6 @@ OC.L10N.register( "Allow public uploads" : "Leisti viešus įkėlimus", "days" : "dienos", "Allow resharing" : "Leisti dalintis", - "Tips & tricks" : "Patarimai ir gudrybės", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Norėdami persikelti į kitą duomenų bazę, naudokite komandų eilutės įrankį: \"occ db:convert-type\" arba žiūrėkite <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentaciją ↗</a>.", - "How to do backups" : "Kaip daryti atsargines kopijas", "Profile picture" : "Profilio paveikslas", "Upload new" : "Įkelti naują", "Remove image" : "Šalinti paveikslą", @@ -200,7 +197,9 @@ OC.L10N.register( "A valid password must be provided" : "Slaptažodis turi būti tinkamas", "__language_name__" : "Lietuvių", "Personal info" : "Asmeninė informacija", + "Tips & tricks" : "Patarimai ir gudrybės", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Norėdami persikelti į kitą duomenų bazę, naudokite komandų eilutės įrankį: \"occ db:convert-type\" arba žiūrėkite <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentaciją ↗</a>.", + "How to do backups" : "Kaip daryti atsargines kopijas", "This app has an update available." : "Šiai programėlei yra prieinamas atnaujinimas.", "Documentation:" : "Dokumentacija:", "Admin documentation" : "Administratoriaus dokumentacija", @@ -230,6 +229,7 @@ OC.L10N.register( "Default" : "Numatytasis", "Updating …" : "Atnaujinama …", "Could not update app" : "Nepavyko atnaujinti programėlės", - "Could not remove app" : "Nepavyko pašalinti programėlės" + "Could not remove app" : "Nepavyko pašalinti programėlės", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Norėdami persikelti į kitą duomenų bazę, naudokite komandų eilutės įrankį: \"occ db:convert-type\" arba žiūrėkite <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentaciją ↗</a>." }, "nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/settings/l10n/lt_LT.json b/settings/l10n/lt_LT.json index b5ab098ed60..dbe1aebd766 100644 --- a/settings/l10n/lt_LT.json +++ b/settings/l10n/lt_LT.json @@ -48,9 +48,6 @@ "Allow public uploads" : "Leisti viešus įkėlimus", "days" : "dienos", "Allow resharing" : "Leisti dalintis", - "Tips & tricks" : "Patarimai ir gudrybės", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Norėdami persikelti į kitą duomenų bazę, naudokite komandų eilutės įrankį: \"occ db:convert-type\" arba žiūrėkite <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentaciją ↗</a>.", - "How to do backups" : "Kaip daryti atsargines kopijas", "Profile picture" : "Profilio paveikslas", "Upload new" : "Įkelti naują", "Remove image" : "Šalinti paveikslą", @@ -198,7 +195,9 @@ "A valid password must be provided" : "Slaptažodis turi būti tinkamas", "__language_name__" : "Lietuvių", "Personal info" : "Asmeninė informacija", + "Tips & tricks" : "Patarimai ir gudrybės", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Norėdami persikelti į kitą duomenų bazę, naudokite komandų eilutės įrankį: \"occ db:convert-type\" arba žiūrėkite <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentaciją ↗</a>.", + "How to do backups" : "Kaip daryti atsargines kopijas", "This app has an update available." : "Šiai programėlei yra prieinamas atnaujinimas.", "Documentation:" : "Dokumentacija:", "Admin documentation" : "Administratoriaus dokumentacija", @@ -228,6 +227,7 @@ "Default" : "Numatytasis", "Updating …" : "Atnaujinama …", "Could not update app" : "Nepavyko atnaujinti programėlės", - "Could not remove app" : "Nepavyko pašalinti programėlės" + "Could not remove app" : "Nepavyko pašalinti programėlės", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Norėdami persikelti į kitą duomenų bazę, naudokite komandų eilutės įrankį: \"occ db:convert-type\" arba žiūrėkite <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentaciją ↗</a>." },"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);" }
\ No newline at end of file diff --git a/settings/l10n/lv.js b/settings/l10n/lv.js index 0f4e63cf00d..5fc601331d7 100644 --- a/settings/l10n/lv.js +++ b/settings/l10n/lv.js @@ -74,13 +74,6 @@ OC.L10N.register( "Allow sharing with groups" : "Atļaut koplietošanu ar grupu", "Restrict users to only share with users in their groups" : "Ierobežot lietotājiem koplietot tikai ar lietotājiem savās grupās", "Exclude groups from sharing" : "Izslēgt grupu no koplietošanas", - "Tips & tricks" : "Padomi un ieteikumi", - "This is particularly recommended when using the desktop client for file synchronisation." : "Tas ir īpaši ieteicams, ja, izmantojot darbvirsmas klientu, lai veiktu failu sinhronizāciju.", - "How to do backups" : "Kā veikt dublēšanu", - "Performance tuning" : "Veiktspējas uzstādīšana", - "Improving the config.php" : "Uzlabot config.php", - "Theming" : "Dizains", - "Hardening and security guidance" : "Aizsardzības un drošības norādījumi", "Profile picture" : "Profila attēls", "Upload new" : "Ielādēt jaunu", "Select from Files" : "Izvēlēties no faila", @@ -215,6 +208,13 @@ OC.L10N.register( "Error creating user: {message}" : "Kļūda, veidojot lietotāju: {message}", "A valid password must be provided" : "Jānorāda derīga parole", "A valid email must be provided" : "Jānorāda derīga e-pasta adrese", + "Tips & tricks" : "Padomi un ieteikumi", + "This is particularly recommended when using the desktop client for file synchronisation." : "Tas ir īpaši ieteicams, ja, izmantojot darbvirsmas klientu, lai veiktu failu sinhronizāciju.", + "How to do backups" : "Kā veikt dublēšanu", + "Performance tuning" : "Veiktspējas uzstādīšana", + "Improving the config.php" : "Uzlabot config.php", + "Theming" : "Dizains", + "Hardening and security guidance" : "Aizsardzības un drošības norādījumi", "This app has an update available." : "Šai programmai ir pieejams jauninājums", "%s-licensed" : "%s-licencēts", "Documentation:" : "Dokumentācija:", diff --git a/settings/l10n/lv.json b/settings/l10n/lv.json index 9d636530b36..ca76e2986e5 100644 --- a/settings/l10n/lv.json +++ b/settings/l10n/lv.json @@ -72,13 +72,6 @@ "Allow sharing with groups" : "Atļaut koplietošanu ar grupu", "Restrict users to only share with users in their groups" : "Ierobežot lietotājiem koplietot tikai ar lietotājiem savās grupās", "Exclude groups from sharing" : "Izslēgt grupu no koplietošanas", - "Tips & tricks" : "Padomi un ieteikumi", - "This is particularly recommended when using the desktop client for file synchronisation." : "Tas ir īpaši ieteicams, ja, izmantojot darbvirsmas klientu, lai veiktu failu sinhronizāciju.", - "How to do backups" : "Kā veikt dublēšanu", - "Performance tuning" : "Veiktspējas uzstādīšana", - "Improving the config.php" : "Uzlabot config.php", - "Theming" : "Dizains", - "Hardening and security guidance" : "Aizsardzības un drošības norādījumi", "Profile picture" : "Profila attēls", "Upload new" : "Ielādēt jaunu", "Select from Files" : "Izvēlēties no faila", @@ -213,6 +206,13 @@ "Error creating user: {message}" : "Kļūda, veidojot lietotāju: {message}", "A valid password must be provided" : "Jānorāda derīga parole", "A valid email must be provided" : "Jānorāda derīga e-pasta adrese", + "Tips & tricks" : "Padomi un ieteikumi", + "This is particularly recommended when using the desktop client for file synchronisation." : "Tas ir īpaši ieteicams, ja, izmantojot darbvirsmas klientu, lai veiktu failu sinhronizāciju.", + "How to do backups" : "Kā veikt dublēšanu", + "Performance tuning" : "Veiktspējas uzstādīšana", + "Improving the config.php" : "Uzlabot config.php", + "Theming" : "Dizains", + "Hardening and security guidance" : "Aizsardzības un drošības norādījumi", "This app has an update available." : "Šai programmai ir pieejams jauninājums", "%s-licensed" : "%s-licencēts", "Documentation:" : "Dokumentācija:", diff --git a/settings/l10n/mk.js b/settings/l10n/mk.js index 78dc5e11d6c..d2ad69676bb 100644 --- a/settings/l10n/mk.js +++ b/settings/l10n/mk.js @@ -51,12 +51,6 @@ OC.L10N.register( "Allow sharing with groups" : "Овозможи споделување со групи", "Restrict users to only share with users in their groups" : "Ограничи корисниците да споделуваат со корисници во своите групи", "Exclude groups from sharing" : "Исклучи групи од споделување", - "Tips & tricks" : "Совети и трикови", - "How to do backups" : "Како да правам резервни копии", - "Performance tuning" : "Нагодување на перформансите", - "Improving the config.php" : "Подобруваер на config.php", - "Theming" : "Поставување на тема", - "Hardening and security guidance" : "Заштита и насоки за безбедност", "Profile picture" : "Фотографија за профил", "Upload new" : "Префрли нова", "Remove image" : "Отстрани ја фотографијата", @@ -125,6 +119,12 @@ OC.L10N.register( "Error creating user: {message}" : "Грешка при креирање на корисник: {message}", "A valid password must be provided" : "Мора да се обезбеди валидна лозинка", "A valid email must be provided" : "Мора да се обезбеди валидна електронска пошта", + "Tips & tricks" : "Совети и трикови", + "How to do backups" : "Како да правам резервни копии", + "Performance tuning" : "Нагодување на перформансите", + "Improving the config.php" : "Подобруваер на config.php", + "Theming" : "Поставување на тема", + "Hardening and security guidance" : "Заштита и насоки за безбедност", "Documentation:" : "Документација:", "Enable only for specific groups" : "Овозможи само на специфицирани групи", "Create" : "Создај", diff --git a/settings/l10n/mk.json b/settings/l10n/mk.json index daee7d11f5e..d54a16acd2c 100644 --- a/settings/l10n/mk.json +++ b/settings/l10n/mk.json @@ -49,12 +49,6 @@ "Allow sharing with groups" : "Овозможи споделување со групи", "Restrict users to only share with users in their groups" : "Ограничи корисниците да споделуваат со корисници во своите групи", "Exclude groups from sharing" : "Исклучи групи од споделување", - "Tips & tricks" : "Совети и трикови", - "How to do backups" : "Како да правам резервни копии", - "Performance tuning" : "Нагодување на перформансите", - "Improving the config.php" : "Подобруваер на config.php", - "Theming" : "Поставување на тема", - "Hardening and security guidance" : "Заштита и насоки за безбедност", "Profile picture" : "Фотографија за профил", "Upload new" : "Префрли нова", "Remove image" : "Отстрани ја фотографијата", @@ -123,6 +117,12 @@ "Error creating user: {message}" : "Грешка при креирање на корисник: {message}", "A valid password must be provided" : "Мора да се обезбеди валидна лозинка", "A valid email must be provided" : "Мора да се обезбеди валидна електронска пошта", + "Tips & tricks" : "Совети и трикови", + "How to do backups" : "Како да правам резервни копии", + "Performance tuning" : "Нагодување на перформансите", + "Improving the config.php" : "Подобруваер на config.php", + "Theming" : "Поставување на тема", + "Hardening and security guidance" : "Заштита и насоки за безбедност", "Documentation:" : "Документација:", "Enable only for specific groups" : "Овозможи само на специфицирани групи", "Create" : "Создај", diff --git a/settings/l10n/mn.js b/settings/l10n/mn.js index a53bc50323e..80557bf16ad 100644 --- a/settings/l10n/mn.js +++ b/settings/l10n/mn.js @@ -21,7 +21,6 @@ OC.L10N.register( "Enforce password protection" : "Нууц үгийн хамгаалалтыг хэрэгжүүлэх", "Expire after " : " Дуусах хугацаа", "days" : "өдрийн дараа", - "Tips & tricks" : "Заавар зөвөлгөө", "Profile picture" : "Профайл зураг", "Upload new" : "Шинийг байршуулах", "Select from Files" : "Файлуудаас сонгох", @@ -82,6 +81,7 @@ OC.L10N.register( "Groups" : "Бүлгүүд", "never" : "хэзээ ч үгүй", "Add group" : "Бүлэг нэмэх", + "Tips & tricks" : "Заавар зөвөлгөө", "Documentation:" : "Баримт бичиг:", "Admin documentation" : "Админы баримт бичиг", "Show description …" : "Тайлбарыг харуулах", diff --git a/settings/l10n/mn.json b/settings/l10n/mn.json index 3857918e875..f9bfe1b81d3 100644 --- a/settings/l10n/mn.json +++ b/settings/l10n/mn.json @@ -19,7 +19,6 @@ "Enforce password protection" : "Нууц үгийн хамгаалалтыг хэрэгжүүлэх", "Expire after " : " Дуусах хугацаа", "days" : "өдрийн дараа", - "Tips & tricks" : "Заавар зөвөлгөө", "Profile picture" : "Профайл зураг", "Upload new" : "Шинийг байршуулах", "Select from Files" : "Файлуудаас сонгох", @@ -80,6 +79,7 @@ "Groups" : "Бүлгүүд", "never" : "хэзээ ч үгүй", "Add group" : "Бүлэг нэмэх", + "Tips & tricks" : "Заавар зөвөлгөө", "Documentation:" : "Баримт бичиг:", "Admin documentation" : "Админы баримт бичиг", "Show description …" : "Тайлбарыг харуулах", diff --git a/settings/l10n/nb.js b/settings/l10n/nb.js index 2246b7cfe69..2b009a1e874 100644 --- a/settings/l10n/nb.js +++ b/settings/l10n/nb.js @@ -78,21 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye.", "Start migration" : "Start migrering", "Security & setup warnings" : "Advarsler om sikkerhet og oppsett", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Det er viktig for sikkerheten og ytelsen på din installasjon at alt er satt opp rett. For å hjelpe deg er det satt i verk noen automatiske sjekker. Se \"Tips og triks\"-delen og i dokumentasjonen for mer informasjon", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ser ikke ut til å være satt opp riktig for å lese systemets miljøvariabler. Testen med getenv(\"PATH\") returnerer bare et tomt svar.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Sjekk <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installasjonsdokumentasjonen ↗</a> for PHP-oppsettsnotater og oppsett av PHP på tjeneren din, særlig om du bruker php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Det skrivebeskyttede oppsettet er blitt aktivert. Dette forhindrer setting av visse oppsett via vev-grensesnittet. Videre må config-filen gjøres skrivbar manuelt for hver oppdatering.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut til at at PHP er satt opp til å fjerne innebygde doc-blokker. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av hurtiglager/akselerator, som f.eks. Zend OPcache eller eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Din database kjører ikke med \"READ COMMITED\" transaksjonsisolering. Dette kan lage problemer når flere handlinger kjøres i paralell.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s lavere enn versjon %2$s er installert. Det anbefales å oppgradere til en nyere %1$s-versjon for å få bedre stabilitet og ytelse.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-modulen 'fileinfo' mangler. Det anbefales at du aktiverer denne modulen for å kunne detektere MIME-typen korrekt.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transaksjonsbasert fil-låsing er deaktivert. Dette kan føre til konflikt. Aktiver \"filelocking.enabled\" i config.php for å unngå disse problemene. Les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentasjonen ↗</a> for mer informasjon.", - "System locale can not be set to a one which supports UTF-8." : "Kan ikke sette systemets nasjonale innstillinger til en som støtter UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Dette betyr at det kan forekomme problemer med visse tegn i filnavn.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Det anbefales sterkt å installere de påkrevde pakkene på systemet ditt for å støtte en av følgende lokaltilpasninger: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Hvis installasjonen din ikke er installert i roten av domenet og bruker systemets Cron, kan det bli problemer med URL-genereringen. For å unngå disse problemene, sett \"overwrite.cli.url\" i filen config.php til vev-roten for installasjonen din (Foreslått: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Det var ikke mulig å kjøre cronjobben via CLI. Følgende tekniske feil oppstod:", "All checks passed." : "Alle sjekker bestått.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Dobbeltsjekk <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installasjonsguidene ↗</a>, og se etter feil eller advarsler i <a href=\"%s\">loggen</a>.", "Version" : "Versjon", @@ -126,17 +111,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Vis ansvarsfraskrivelse på den offentlige opplastingssiden. (Vises kun nå fillisten er tom.)", "This text will be shown on the public link upload page when the file list is hidden." : "Denne teksten vises på den offentlig opplastingssiden når fillisten er tom.", "Default share permissions" : "Standard delingsrettigheter", - "Tips & tricks" : "Tips og triks", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Det er mange funksjoner og oppsettsbrytere tilgjengelig for optimal tilpasning og bruk av denne installasjonen. Her har du noen punkter med ytterligere informasjon.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite er for øyeblikket brukt som database. For større installasjoner vil vi anbefale deg å benytte en annen databasetype.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Dette er spesielt anbefalt når skrivebordsklient brukes for filsynkronisering.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "For å migrere til en annen database, bruk kommandolinjeverktøyet: 'occ db:convert-type', eller les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentasjonen ↗</a>.", - "How to do backups" : "Hvordan ta sikkerhetskopier", - "Performance tuning" : "Forbedre ytelsen", - "Improving the config.php" : "Tilpasninger i config.php", - "Theming" : "Drakter", - "Check the security of your Nextcloud over our security scan" : "Sjekk sikkerheten på din Nextcloud over vår sikkerhetsskanning", - "Hardening and security guidance" : "Herding og sikkerhetsveiledning", "Personal" : "Personlig", "Administration" : "Administrasjon", "Profile picture" : "Profilbilde", @@ -358,10 +332,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Det er viktig for sikkerheten og ytelsen på din installasjon at alt er satt opp rett. For å hjelpe deg er det satt i verk noen automatiske sjekker. Se \"Tips og triks\"-delen og i dokumentasjonen for mer informasjon", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ser ikke ut til å være satt opp riktig for å lese systemets miljøvariabler. Testen med getenv(\"PATH\") returnerer bare et tomt svar.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Sjekk <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installasjonsdokumentasjonen ↗</a> etter php-oppsettssnotater og oppsett av PHP på tjeneren din, særlig om du bruker php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Det skrivebeskyttede oppsettet er blitt aktivert. Dette forhindrer setting av visse oppsett via vev-grensesnittet. Videre må config-filen gjøres skrivbar manuelt for hver oppdatering.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc-blokker. Dette gjør at flere av kjerneprogrammene blir utilgjengelige.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av hurtiglager/akselerator, som f.eks. Zend OPcache eller eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Din database kjører ikke med \"READ COMMITED\" transaksjonsisolering. Dette kan lage problemer når flere handlinger kjøres i paralell.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s under versjon %2$s er installert. For stabilitets- og ytelsesgrunner, anbefaler vi å oppdatere til nyere %1$s versjon.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP-modulen 'fileinfo' mangler. Vi anbefaler at du aktiverer denne modulen for å kunne detektere MIME-typen korrekt.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transaksjonsbasert fil- låsing er deaktivert. Dette kan føre til konflikt. Aktivér \"filelocking.enabled\" i config.php for å unngå disse problemene. Se <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentasjonen ↗</a> for mer informasjon.", + "System locale can not be set to a one which supports UTF-8." : "Kan ikke sette systemets nasjonale innstillinger til en som støtter UTF-8.", "This means that there might be problems with certain characters in file names." : "Dette betyr at det kan forekomme problemer med visse tegn i filnavn.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Vi anbefaler på det sterkeste å installere de nødvendige pakkene på systemet ditt for å støtte en av de følgende tegnsettene: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Hvis ikke installasjonen din er installert på roten av domenet og bruker system- cron, kan det bli problemer med URL- generasjon. For å unngå disse problemene, vennligst sett \"overwrite.cli.url\"- valget i din config.php- fil til webroot- stien til din installasjon (Foreslått: \"%s\")", @@ -369,7 +347,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Vennligst dobbeltsjekk <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installasjonsmanualer</a>, og se etter feil eller advarsler i <a href=\"%s\">loggen</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registert i en webcron- tjeneste for å kalle på cron.php hvert 15. minutt over http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "For å kjøre denne trenger du «PHP posix extension». Se {linkstart}PHP dokumentasjonen{linkend} for flere detaljer.", + "Tips & tricks" : "Tips og triks", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Det er mange funksjoner og oppsettsbrytere tilgjengelig for optimal tilpasning og bruk av denne installasjonen. Her har du noen punkter med ytterligere informasjon.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite er for øyeblikket brukt som database. For større installasjoner vil vi anbefale deg å benytte en annen databasetype.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Dette er spesielt anbefalt når skrivebordsklient brukes for filsynkronisering.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "For å migrere til en annen database, bruk kommandolinjeverktøyet: 'occ db:convert-type', eller les i <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentasjonen ↗</a>.", + "How to do backups" : "Hvordan ta sikkerhetskopier", + "Performance tuning" : "Forbedre ytelsen", + "Improving the config.php" : "Tilpasninger i config.php", + "Theming" : "Drakter", + "Check the security of your Nextcloud over our security scan" : "Sjekk sikkerheten på din Nextcloud over vår sikkerhetsskanning", + "Hardening and security guidance" : "Herding og sikkerhetsveiledning", "View in store" : "Vis i butikk", "Limit to groups" : "Begrens til grupper", "This app has an update available." : "En oppdatering er tilgjengelig for dette programmet.", @@ -421,6 +409,18 @@ OC.L10N.register( "App up to date" : "Appen er oppdatert", "Updating …" : "Oppdaterer…", "Could not remove app" : "Kunne ikke fjerne program", - "{size} used" : "{size} brukt" + "{size} used" : "{size} brukt", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Det er viktig for sikkerheten og ytelsen på din installasjon at alt er satt opp rett. For å hjelpe deg er det satt i verk noen automatiske sjekker. Se \"Tips og triks\"-delen og i dokumentasjonen for mer informasjon", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ser ikke ut til å være satt opp riktig for å lese systemets miljøvariabler. Testen med getenv(\"PATH\") returnerer bare et tomt svar.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Sjekk <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installasjonsdokumentasjonen ↗</a> for PHP-oppsettsnotater og oppsett av PHP på tjeneren din, særlig om du bruker php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut til at at PHP er satt opp til å fjerne innebygde doc-blokker. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s lavere enn versjon %2$s er installert. Det anbefales å oppgradere til en nyere %1$s-versjon for å få bedre stabilitet og ytelse.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-modulen 'fileinfo' mangler. Det anbefales at du aktiverer denne modulen for å kunne detektere MIME-typen korrekt.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transaksjonsbasert fil-låsing er deaktivert. Dette kan føre til konflikt. Aktiver \"filelocking.enabled\" i config.php for å unngå disse problemene. Les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentasjonen ↗</a> for mer informasjon.", + "This means that there might be problems with certain characters in filenames." : "Dette betyr at det kan forekomme problemer med visse tegn i filnavn.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Det anbefales sterkt å installere de påkrevde pakkene på systemet ditt for å støtte en av følgende lokaltilpasninger: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Hvis installasjonen din ikke er installert i roten av domenet og bruker systemets Cron, kan det bli problemer med URL-genereringen. For å unngå disse problemene, sett \"overwrite.cli.url\" i filen config.php til vev-roten for installasjonen din (Foreslått: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Det var ikke mulig å kjøre cronjobben via CLI. Følgende tekniske feil oppstod:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "For å migrere til en annen database, bruk kommandolinjeverktøyet: 'occ db:convert-type', eller les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentasjonen ↗</a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/nb.json b/settings/l10n/nb.json index 08318c941eb..3b10ce229cd 100644 --- a/settings/l10n/nb.json +++ b/settings/l10n/nb.json @@ -76,21 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye.", "Start migration" : "Start migrering", "Security & setup warnings" : "Advarsler om sikkerhet og oppsett", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Det er viktig for sikkerheten og ytelsen på din installasjon at alt er satt opp rett. For å hjelpe deg er det satt i verk noen automatiske sjekker. Se \"Tips og triks\"-delen og i dokumentasjonen for mer informasjon", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ser ikke ut til å være satt opp riktig for å lese systemets miljøvariabler. Testen med getenv(\"PATH\") returnerer bare et tomt svar.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Sjekk <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installasjonsdokumentasjonen ↗</a> for PHP-oppsettsnotater og oppsett av PHP på tjeneren din, særlig om du bruker php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Det skrivebeskyttede oppsettet er blitt aktivert. Dette forhindrer setting av visse oppsett via vev-grensesnittet. Videre må config-filen gjøres skrivbar manuelt for hver oppdatering.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut til at at PHP er satt opp til å fjerne innebygde doc-blokker. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av hurtiglager/akselerator, som f.eks. Zend OPcache eller eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Din database kjører ikke med \"READ COMMITED\" transaksjonsisolering. Dette kan lage problemer når flere handlinger kjøres i paralell.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s lavere enn versjon %2$s er installert. Det anbefales å oppgradere til en nyere %1$s-versjon for å få bedre stabilitet og ytelse.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-modulen 'fileinfo' mangler. Det anbefales at du aktiverer denne modulen for å kunne detektere MIME-typen korrekt.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transaksjonsbasert fil-låsing er deaktivert. Dette kan føre til konflikt. Aktiver \"filelocking.enabled\" i config.php for å unngå disse problemene. Les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentasjonen ↗</a> for mer informasjon.", - "System locale can not be set to a one which supports UTF-8." : "Kan ikke sette systemets nasjonale innstillinger til en som støtter UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Dette betyr at det kan forekomme problemer med visse tegn i filnavn.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Det anbefales sterkt å installere de påkrevde pakkene på systemet ditt for å støtte en av følgende lokaltilpasninger: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Hvis installasjonen din ikke er installert i roten av domenet og bruker systemets Cron, kan det bli problemer med URL-genereringen. For å unngå disse problemene, sett \"overwrite.cli.url\" i filen config.php til vev-roten for installasjonen din (Foreslått: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Det var ikke mulig å kjøre cronjobben via CLI. Følgende tekniske feil oppstod:", "All checks passed." : "Alle sjekker bestått.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Dobbeltsjekk <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installasjonsguidene ↗</a>, og se etter feil eller advarsler i <a href=\"%s\">loggen</a>.", "Version" : "Versjon", @@ -124,17 +109,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Vis ansvarsfraskrivelse på den offentlige opplastingssiden. (Vises kun nå fillisten er tom.)", "This text will be shown on the public link upload page when the file list is hidden." : "Denne teksten vises på den offentlig opplastingssiden når fillisten er tom.", "Default share permissions" : "Standard delingsrettigheter", - "Tips & tricks" : "Tips og triks", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Det er mange funksjoner og oppsettsbrytere tilgjengelig for optimal tilpasning og bruk av denne installasjonen. Her har du noen punkter med ytterligere informasjon.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite er for øyeblikket brukt som database. For større installasjoner vil vi anbefale deg å benytte en annen databasetype.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Dette er spesielt anbefalt når skrivebordsklient brukes for filsynkronisering.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "For å migrere til en annen database, bruk kommandolinjeverktøyet: 'occ db:convert-type', eller les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentasjonen ↗</a>.", - "How to do backups" : "Hvordan ta sikkerhetskopier", - "Performance tuning" : "Forbedre ytelsen", - "Improving the config.php" : "Tilpasninger i config.php", - "Theming" : "Drakter", - "Check the security of your Nextcloud over our security scan" : "Sjekk sikkerheten på din Nextcloud over vår sikkerhetsskanning", - "Hardening and security guidance" : "Herding og sikkerhetsveiledning", "Personal" : "Personlig", "Administration" : "Administrasjon", "Profile picture" : "Profilbilde", @@ -356,10 +330,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Det er viktig for sikkerheten og ytelsen på din installasjon at alt er satt opp rett. For å hjelpe deg er det satt i verk noen automatiske sjekker. Se \"Tips og triks\"-delen og i dokumentasjonen for mer informasjon", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ser ikke ut til å være satt opp riktig for å lese systemets miljøvariabler. Testen med getenv(\"PATH\") returnerer bare et tomt svar.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Sjekk <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installasjonsdokumentasjonen ↗</a> etter php-oppsettssnotater og oppsett av PHP på tjeneren din, særlig om du bruker php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Det skrivebeskyttede oppsettet er blitt aktivert. Dette forhindrer setting av visse oppsett via vev-grensesnittet. Videre må config-filen gjøres skrivbar manuelt for hver oppdatering.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc-blokker. Dette gjør at flere av kjerneprogrammene blir utilgjengelige.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av hurtiglager/akselerator, som f.eks. Zend OPcache eller eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Din database kjører ikke med \"READ COMMITED\" transaksjonsisolering. Dette kan lage problemer når flere handlinger kjøres i paralell.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s under versjon %2$s er installert. For stabilitets- og ytelsesgrunner, anbefaler vi å oppdatere til nyere %1$s versjon.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP-modulen 'fileinfo' mangler. Vi anbefaler at du aktiverer denne modulen for å kunne detektere MIME-typen korrekt.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transaksjonsbasert fil- låsing er deaktivert. Dette kan føre til konflikt. Aktivér \"filelocking.enabled\" i config.php for å unngå disse problemene. Se <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentasjonen ↗</a> for mer informasjon.", + "System locale can not be set to a one which supports UTF-8." : "Kan ikke sette systemets nasjonale innstillinger til en som støtter UTF-8.", "This means that there might be problems with certain characters in file names." : "Dette betyr at det kan forekomme problemer med visse tegn i filnavn.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Vi anbefaler på det sterkeste å installere de nødvendige pakkene på systemet ditt for å støtte en av de følgende tegnsettene: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Hvis ikke installasjonen din er installert på roten av domenet og bruker system- cron, kan det bli problemer med URL- generasjon. For å unngå disse problemene, vennligst sett \"overwrite.cli.url\"- valget i din config.php- fil til webroot- stien til din installasjon (Foreslått: \"%s\")", @@ -367,7 +345,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Vennligst dobbeltsjekk <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installasjonsmanualer</a>, og se etter feil eller advarsler i <a href=\"%s\">loggen</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registert i en webcron- tjeneste for å kalle på cron.php hvert 15. minutt over http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "For å kjøre denne trenger du «PHP posix extension». Se {linkstart}PHP dokumentasjonen{linkend} for flere detaljer.", + "Tips & tricks" : "Tips og triks", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Det er mange funksjoner og oppsettsbrytere tilgjengelig for optimal tilpasning og bruk av denne installasjonen. Her har du noen punkter med ytterligere informasjon.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite er for øyeblikket brukt som database. For større installasjoner vil vi anbefale deg å benytte en annen databasetype.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Dette er spesielt anbefalt når skrivebordsklient brukes for filsynkronisering.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "For å migrere til en annen database, bruk kommandolinjeverktøyet: 'occ db:convert-type', eller les i <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentasjonen ↗</a>.", + "How to do backups" : "Hvordan ta sikkerhetskopier", + "Performance tuning" : "Forbedre ytelsen", + "Improving the config.php" : "Tilpasninger i config.php", + "Theming" : "Drakter", + "Check the security of your Nextcloud over our security scan" : "Sjekk sikkerheten på din Nextcloud over vår sikkerhetsskanning", + "Hardening and security guidance" : "Herding og sikkerhetsveiledning", "View in store" : "Vis i butikk", "Limit to groups" : "Begrens til grupper", "This app has an update available." : "En oppdatering er tilgjengelig for dette programmet.", @@ -419,6 +407,18 @@ "App up to date" : "Appen er oppdatert", "Updating …" : "Oppdaterer…", "Could not remove app" : "Kunne ikke fjerne program", - "{size} used" : "{size} brukt" + "{size} used" : "{size} brukt", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Det er viktig for sikkerheten og ytelsen på din installasjon at alt er satt opp rett. For å hjelpe deg er det satt i verk noen automatiske sjekker. Se \"Tips og triks\"-delen og i dokumentasjonen for mer informasjon", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ser ikke ut til å være satt opp riktig for å lese systemets miljøvariabler. Testen med getenv(\"PATH\") returnerer bare et tomt svar.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Sjekk <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installasjonsdokumentasjonen ↗</a> for PHP-oppsettsnotater og oppsett av PHP på tjeneren din, særlig om du bruker php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut til at at PHP er satt opp til å fjerne innebygde doc-blokker. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s lavere enn versjon %2$s er installert. Det anbefales å oppgradere til en nyere %1$s-versjon for å få bedre stabilitet og ytelse.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-modulen 'fileinfo' mangler. Det anbefales at du aktiverer denne modulen for å kunne detektere MIME-typen korrekt.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transaksjonsbasert fil-låsing er deaktivert. Dette kan føre til konflikt. Aktiver \"filelocking.enabled\" i config.php for å unngå disse problemene. Les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentasjonen ↗</a> for mer informasjon.", + "This means that there might be problems with certain characters in filenames." : "Dette betyr at det kan forekomme problemer med visse tegn i filnavn.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Det anbefales sterkt å installere de påkrevde pakkene på systemet ditt for å støtte en av følgende lokaltilpasninger: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Hvis installasjonen din ikke er installert i roten av domenet og bruker systemets Cron, kan det bli problemer med URL-genereringen. For å unngå disse problemene, sett \"overwrite.cli.url\" i filen config.php til vev-roten for installasjonen din (Foreslått: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Det var ikke mulig å kjøre cronjobben via CLI. Følgende tekniske feil oppstod:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "For å migrere til en annen database, bruk kommandolinjeverktøyet: 'occ db:convert-type', eller les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentasjonen ↗</a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js index e8ab35f2354..473006b537a 100644 --- a/settings/l10n/nl.js +++ b/settings/l10n/nl.js @@ -82,21 +82,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe.", "Start migration" : "Start migratie", "Security & setup warnings" : "Beveiligings- en instellingswaarschuwingen", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Voor beveiliging en prestaties van je server is het belangrijk dat alles correct is geconfigureerd. Om je hierbij te helpen doen we paar automatische controles. Bekijk de Tips & Trucs sectie en de documentatie voor meer informatie.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP lijkt niet goed te zijn opgezet om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controleer de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installatiedocumentatie ↗</a> voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is ingeschakeld. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is blijkbaar zo ingesteld dat inline doc blokken worden gestript. Hierdoor worden verschillende kern apps niet berijkbaar.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dit wordt vermoedelijk veroorzaakt door een cache/accelerator, zoals Zend OPcache of eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Je database draait niet met \"READ COMMITTED\" transactie-isolatie niveau. Dit kan problemen opleveren als er meerdere acties tegelijkertijd worden uitgevoerd.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s lager dan versie %2$s is geïnstalleerd, voor betere stabiliteit en prestaties adviseren wij om %1$s te vervangen door een nieuwere versie.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "De PHP module 'fileinfo' ontbreekt. We adviseren met klem om deze module te activeren om de beste resultaten te bereiken voor MIME-type detectie.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transactionele bestandlocking is uitgeschakeld, dat zou namelijk kunnen leiden tot versiebeheerproblemen. Schakel 'filelocking enabled' in config.php in om deze problemen te voorkomen. Zie de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentatie ↗</a> voor meer informatie.", - "System locale can not be set to a one which supports UTF-8." : "De systeemtaal kan niet worden ingesteld op een taal die UTF-8 ondersteunt.", - "This means that there might be problems with certain characters in filenames." : "Dat betekent dat er problemen kunnen optreden met bepaalde tekens in bestandsnamen.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "We adviseren met klem om de noodzakelijke pakketten op je systeem te installeren om een van de volgende talen te ondersteunen: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Als je installatie niet in de hoofddirectory van het domein staat, maar wel systeem cron gebruikt, dan kunnen er problemen ontstaan bij het genereren van URL's. Om deze problemen te voorkomen zou je de \"overwrite.cli.url\" optie in config.php moeten instellen op het webroot pad van je installatie (aanbevolen: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Het was niet mogelijk om de systeem cron via CLI uit te voeren. De volgende technische problemen traden op:", "All checks passed." : "Alle checks geslaagd", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Lees de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installatie-handleiding ↗</a> goed door en controleer <a href=\"%s\">de logs</a> op fouten en waarschuwingen.", "Version" : "Versie", @@ -130,17 +115,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Toon disclaimer op de openbare link uploadpagina (alleen tonen als het bestandsoverzicht verborgen is).", "This text will be shown on the public link upload page when the file list is hidden." : "Deze tekst wordt getoond op de openbare link uploadpagina als het bestandsoverzicht is verborgen.", "Default share permissions" : "Standaard delen autorisaties", - "Tips & tricks" : "Tips & trucs", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Er zijn veel mogelijkheden en instellingsschakelaars beschikbaar om je installatie te optimaliseren. Hier zijn wat aanwijzigen.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wordt momenteel gebruikt als backend database. Voor grotere installaties adviseren we dat je omschakelt naar een andere database backend.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Dit wordt vooral aanbevolen als de desktop client wordt gebruikt voor bestandssynchronisatie.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet je de commandoregel tool gebruiken: 'occ db:convert-type'; <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">zie de documentatie ↗</a>.", - "How to do backups" : "Hoe maak je back-ups", - "Performance tuning" : "Prestatie afstelling", - "Improving the config.php" : "config.php verbeteren", - "Theming" : "Uiterlijk", - "Check the security of your Nextcloud over our security scan" : "Controleer de beveiliging van je Nextcloud met onze securityscan", - "Hardening and security guidance" : "Hardening en security advies", "Personal" : "Persoonlijk", "Administration" : "Beheer", "Profile picture" : "Profielafbeelding", @@ -362,10 +336,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Voor beveiliging en prestaties van je server is het belangrijk dat alles goed is geconfigureerd. Om je hierbij te helpen doen we paar automatische controles. Bekijk de Tips & Trucs sectie en de documentatie voor meer informatie.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php lijkt niet goed te zijn ingesteld om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installatiedocumentatie ↗</a> voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is ingeschakeld. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is blijkbaar zo ingesteld dat inline doc blokken worden gestript. Hierdoor worden verschillende kernmodules onbruikbaar.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dit wordt vermoedelijk veroorzaakt door een cache/accelerator, zoals Zend OPcache of eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Je database draait niet met \"READ COMMITTED\" transactie-isolatie niveau. Dit kan problemen opleveren als er meerdere acties tegelijkertijd worden uitgevoerd.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s lager dan versie %2$s geïnstalleerd, voor betere stabiliteit en prestaties adviseren wij om %1$s te upgraden naar een nieuwere versie.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "De PHP module 'fileinfo' ontbreekt. We adviseren met klem om deze module te activeren om de beste resultaten te bereiken voor MIME-type detectie.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transactionele bestandlocking is uitgeschakeld, dat zou namelijk kunnen leiden tot versiebeheerproblemen. Schakel 'filelocking enabled' in config.php in om deze problemen te voorkomen. Zie de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie ↗</a> voor meer informatie.", + "System locale can not be set to a one which supports UTF-8." : "De systeemtaal kan niet worden ingesteld op een taal die UTF-8 ondersteunt.", "This means that there might be problems with certain characters in file names." : "Dat betekent dat er problemen kunnen optreden met bepaalde tekens in bestandsnamen.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "We adviseren met klem om de noodzakelijke pakketten op je systeem te installeren om een van de volgende talen te ondersteunen: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Als je installatie niet in de hoofddirectory van het domein staat, maar wel cron gebruikt, dan kunnen er problemen ontstaan bij het genereren van URL's. Om deze problemen te voorkomen zou je de \"overwrite.cli.url\" optie in config.php moeten instellen op het webroot pad van je installatie (aanbevolen: \"%s\")", @@ -373,7 +351,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installatie handleiding</a> goed door en controleer op fouten en waarschuwingen in het <a href=\"%s\">logbestand</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Om dit te draaien, is de PHP posix extensie vereist. Bekijk {linkstart}PHP documentatie{linkend} voor meer informatie.", + "Tips & tricks" : "Tips & trucs", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Er zijn veel mogelijkheden en instellingsschakelaars beschikbaar om je installatie te optimaliseren. Hier zijn wat aanwijzigen.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wordt momenteel gebruikt als backend database. Voor grotere installaties adviseren we dat je omschakelt naar een andere database backend.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Dit wordt vooral aanbevolen als de desktop client wordt gebruikt voor bestandssynchronisatie.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet u de commandoregel tool gebruiken: 'occ db:convert-type'; zie de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie ↗</a>.", + "How to do backups" : "Hoe maak je back-ups", + "Performance tuning" : "Prestatie afstelling", + "Improving the config.php" : "config.php verbeteren", + "Theming" : "Uiterlijk", + "Check the security of your Nextcloud over our security scan" : "Controleer de beveiliging van je Nextcloud met onze securityscan", + "Hardening and security guidance" : "Hardening en security advies", "View in store" : "Bekijken in store", "Limit to groups" : "Beperk tot groepen", "This app has an update available." : "Er is een update beschikbaar voor deze applicatie.", @@ -426,6 +414,18 @@ OC.L10N.register( "Updating …" : "Bijwerken....", "Could not update app" : "Kon de app niet bijwerken.", "Could not remove app" : "Kon de app niet verwijderen", - "{size} used" : "{size} gebruikt" + "{size} used" : "{size} gebruikt", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Voor beveiliging en prestaties van je server is het belangrijk dat alles correct is geconfigureerd. Om je hierbij te helpen doen we paar automatische controles. Bekijk de Tips & Trucs sectie en de documentatie voor meer informatie.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP lijkt niet goed te zijn opgezet om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controleer de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installatiedocumentatie ↗</a> voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is blijkbaar zo ingesteld dat inline doc blokken worden gestript. Hierdoor worden verschillende kern apps niet berijkbaar.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s lager dan versie %2$s is geïnstalleerd, voor betere stabiliteit en prestaties adviseren wij om %1$s te vervangen door een nieuwere versie.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "De PHP module 'fileinfo' ontbreekt. We adviseren met klem om deze module te activeren om de beste resultaten te bereiken voor MIME-type detectie.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transactionele bestandlocking is uitgeschakeld, dat zou namelijk kunnen leiden tot versiebeheerproblemen. Schakel 'filelocking enabled' in config.php in om deze problemen te voorkomen. Zie de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentatie ↗</a> voor meer informatie.", + "This means that there might be problems with certain characters in filenames." : "Dat betekent dat er problemen kunnen optreden met bepaalde tekens in bestandsnamen.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "We adviseren met klem om de noodzakelijke pakketten op je systeem te installeren om een van de volgende talen te ondersteunen: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Als je installatie niet in de hoofddirectory van het domein staat, maar wel systeem cron gebruikt, dan kunnen er problemen ontstaan bij het genereren van URL's. Om deze problemen te voorkomen zou je de \"overwrite.cli.url\" optie in config.php moeten instellen op het webroot pad van je installatie (aanbevolen: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Het was niet mogelijk om de systeem cron via CLI uit te voeren. De volgende technische problemen traden op:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet je de commandoregel tool gebruiken: 'occ db:convert-type'; <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">zie de documentatie ↗</a>." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json index 127dafdb1c3..5235b308f5b 100644 --- a/settings/l10n/nl.json +++ b/settings/l10n/nl.json @@ -80,21 +80,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe.", "Start migration" : "Start migratie", "Security & setup warnings" : "Beveiligings- en instellingswaarschuwingen", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Voor beveiliging en prestaties van je server is het belangrijk dat alles correct is geconfigureerd. Om je hierbij te helpen doen we paar automatische controles. Bekijk de Tips & Trucs sectie en de documentatie voor meer informatie.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP lijkt niet goed te zijn opgezet om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controleer de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installatiedocumentatie ↗</a> voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is ingeschakeld. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is blijkbaar zo ingesteld dat inline doc blokken worden gestript. Hierdoor worden verschillende kern apps niet berijkbaar.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dit wordt vermoedelijk veroorzaakt door een cache/accelerator, zoals Zend OPcache of eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Je database draait niet met \"READ COMMITTED\" transactie-isolatie niveau. Dit kan problemen opleveren als er meerdere acties tegelijkertijd worden uitgevoerd.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s lager dan versie %2$s is geïnstalleerd, voor betere stabiliteit en prestaties adviseren wij om %1$s te vervangen door een nieuwere versie.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "De PHP module 'fileinfo' ontbreekt. We adviseren met klem om deze module te activeren om de beste resultaten te bereiken voor MIME-type detectie.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transactionele bestandlocking is uitgeschakeld, dat zou namelijk kunnen leiden tot versiebeheerproblemen. Schakel 'filelocking enabled' in config.php in om deze problemen te voorkomen. Zie de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentatie ↗</a> voor meer informatie.", - "System locale can not be set to a one which supports UTF-8." : "De systeemtaal kan niet worden ingesteld op een taal die UTF-8 ondersteunt.", - "This means that there might be problems with certain characters in filenames." : "Dat betekent dat er problemen kunnen optreden met bepaalde tekens in bestandsnamen.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "We adviseren met klem om de noodzakelijke pakketten op je systeem te installeren om een van de volgende talen te ondersteunen: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Als je installatie niet in de hoofddirectory van het domein staat, maar wel systeem cron gebruikt, dan kunnen er problemen ontstaan bij het genereren van URL's. Om deze problemen te voorkomen zou je de \"overwrite.cli.url\" optie in config.php moeten instellen op het webroot pad van je installatie (aanbevolen: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Het was niet mogelijk om de systeem cron via CLI uit te voeren. De volgende technische problemen traden op:", "All checks passed." : "Alle checks geslaagd", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Lees de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installatie-handleiding ↗</a> goed door en controleer <a href=\"%s\">de logs</a> op fouten en waarschuwingen.", "Version" : "Versie", @@ -128,17 +113,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Toon disclaimer op de openbare link uploadpagina (alleen tonen als het bestandsoverzicht verborgen is).", "This text will be shown on the public link upload page when the file list is hidden." : "Deze tekst wordt getoond op de openbare link uploadpagina als het bestandsoverzicht is verborgen.", "Default share permissions" : "Standaard delen autorisaties", - "Tips & tricks" : "Tips & trucs", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Er zijn veel mogelijkheden en instellingsschakelaars beschikbaar om je installatie te optimaliseren. Hier zijn wat aanwijzigen.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wordt momenteel gebruikt als backend database. Voor grotere installaties adviseren we dat je omschakelt naar een andere database backend.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Dit wordt vooral aanbevolen als de desktop client wordt gebruikt voor bestandssynchronisatie.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet je de commandoregel tool gebruiken: 'occ db:convert-type'; <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">zie de documentatie ↗</a>.", - "How to do backups" : "Hoe maak je back-ups", - "Performance tuning" : "Prestatie afstelling", - "Improving the config.php" : "config.php verbeteren", - "Theming" : "Uiterlijk", - "Check the security of your Nextcloud over our security scan" : "Controleer de beveiliging van je Nextcloud met onze securityscan", - "Hardening and security guidance" : "Hardening en security advies", "Personal" : "Persoonlijk", "Administration" : "Beheer", "Profile picture" : "Profielafbeelding", @@ -360,10 +334,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Voor beveiliging en prestaties van je server is het belangrijk dat alles goed is geconfigureerd. Om je hierbij te helpen doen we paar automatische controles. Bekijk de Tips & Trucs sectie en de documentatie voor meer informatie.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php lijkt niet goed te zijn ingesteld om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installatiedocumentatie ↗</a> voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is ingeschakeld. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is blijkbaar zo ingesteld dat inline doc blokken worden gestript. Hierdoor worden verschillende kernmodules onbruikbaar.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dit wordt vermoedelijk veroorzaakt door een cache/accelerator, zoals Zend OPcache of eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Je database draait niet met \"READ COMMITTED\" transactie-isolatie niveau. Dit kan problemen opleveren als er meerdere acties tegelijkertijd worden uitgevoerd.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s lager dan versie %2$s geïnstalleerd, voor betere stabiliteit en prestaties adviseren wij om %1$s te upgraden naar een nieuwere versie.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "De PHP module 'fileinfo' ontbreekt. We adviseren met klem om deze module te activeren om de beste resultaten te bereiken voor MIME-type detectie.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transactionele bestandlocking is uitgeschakeld, dat zou namelijk kunnen leiden tot versiebeheerproblemen. Schakel 'filelocking enabled' in config.php in om deze problemen te voorkomen. Zie de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie ↗</a> voor meer informatie.", + "System locale can not be set to a one which supports UTF-8." : "De systeemtaal kan niet worden ingesteld op een taal die UTF-8 ondersteunt.", "This means that there might be problems with certain characters in file names." : "Dat betekent dat er problemen kunnen optreden met bepaalde tekens in bestandsnamen.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "We adviseren met klem om de noodzakelijke pakketten op je systeem te installeren om een van de volgende talen te ondersteunen: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Als je installatie niet in de hoofddirectory van het domein staat, maar wel cron gebruikt, dan kunnen er problemen ontstaan bij het genereren van URL's. Om deze problemen te voorkomen zou je de \"overwrite.cli.url\" optie in config.php moeten instellen op het webroot pad van je installatie (aanbevolen: \"%s\")", @@ -371,7 +349,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installatie handleiding</a> goed door en controleer op fouten en waarschuwingen in het <a href=\"%s\">logbestand</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Om dit te draaien, is de PHP posix extensie vereist. Bekijk {linkstart}PHP documentatie{linkend} voor meer informatie.", + "Tips & tricks" : "Tips & trucs", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Er zijn veel mogelijkheden en instellingsschakelaars beschikbaar om je installatie te optimaliseren. Hier zijn wat aanwijzigen.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wordt momenteel gebruikt als backend database. Voor grotere installaties adviseren we dat je omschakelt naar een andere database backend.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Dit wordt vooral aanbevolen als de desktop client wordt gebruikt voor bestandssynchronisatie.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet u de commandoregel tool gebruiken: 'occ db:convert-type'; zie de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie ↗</a>.", + "How to do backups" : "Hoe maak je back-ups", + "Performance tuning" : "Prestatie afstelling", + "Improving the config.php" : "config.php verbeteren", + "Theming" : "Uiterlijk", + "Check the security of your Nextcloud over our security scan" : "Controleer de beveiliging van je Nextcloud met onze securityscan", + "Hardening and security guidance" : "Hardening en security advies", "View in store" : "Bekijken in store", "Limit to groups" : "Beperk tot groepen", "This app has an update available." : "Er is een update beschikbaar voor deze applicatie.", @@ -424,6 +412,18 @@ "Updating …" : "Bijwerken....", "Could not update app" : "Kon de app niet bijwerken.", "Could not remove app" : "Kon de app niet verwijderen", - "{size} used" : "{size} gebruikt" + "{size} used" : "{size} gebruikt", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Voor beveiliging en prestaties van je server is het belangrijk dat alles correct is geconfigureerd. Om je hierbij te helpen doen we paar automatische controles. Bekijk de Tips & Trucs sectie en de documentatie voor meer informatie.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP lijkt niet goed te zijn opgezet om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controleer de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installatiedocumentatie ↗</a> voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is blijkbaar zo ingesteld dat inline doc blokken worden gestript. Hierdoor worden verschillende kern apps niet berijkbaar.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s lager dan versie %2$s is geïnstalleerd, voor betere stabiliteit en prestaties adviseren wij om %1$s te vervangen door een nieuwere versie.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "De PHP module 'fileinfo' ontbreekt. We adviseren met klem om deze module te activeren om de beste resultaten te bereiken voor MIME-type detectie.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transactionele bestandlocking is uitgeschakeld, dat zou namelijk kunnen leiden tot versiebeheerproblemen. Schakel 'filelocking enabled' in config.php in om deze problemen te voorkomen. Zie de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentatie ↗</a> voor meer informatie.", + "This means that there might be problems with certain characters in filenames." : "Dat betekent dat er problemen kunnen optreden met bepaalde tekens in bestandsnamen.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "We adviseren met klem om de noodzakelijke pakketten op je systeem te installeren om een van de volgende talen te ondersteunen: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Als je installatie niet in de hoofddirectory van het domein staat, maar wel systeem cron gebruikt, dan kunnen er problemen ontstaan bij het genereren van URL's. Om deze problemen te voorkomen zou je de \"overwrite.cli.url\" optie in config.php moeten instellen op het webroot pad van je installatie (aanbevolen: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Het was niet mogelijk om de systeem cron via CLI uit te voeren. De volgende technische problemen traden op:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet je de commandoregel tool gebruiken: 'occ db:convert-type'; <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">zie de documentatie ↗</a>." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/pl.js b/settings/l10n/pl.js index fb962712655..3561adae0b6 100644 --- a/settings/l10n/pl.js +++ b/settings/l10n/pl.js @@ -78,21 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musisz zmigrować swoje klucze szyfrujące ze starego szyfrowania (ownCloud <= 8.0) do nowego.", "Start migration" : "Rozpocznij migrację", "Security & setup warnings" : "Ostrzeżenia bezpieczeństwa i konfiguracji", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Poprawna konfiguracja jest ważna dla bezpieczeństwa i wydajności Twojej instancji. W celach pomocniczych przeprowadzane są automatyczne kontrole. Więcej informacji można znaleźć w dziale Wskazówki i Porady oraz w dokumentacji.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP wydaje się być błędnie skonfigurowane odnośnie zapytania o zmienne środowiskowe systemu. Test gentenv(\"PATH\") zwraca pustą wartość.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Sprawdź proszę <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> dokumentację instalacji </a> dla konfiguracji PHP Twojego serwera względem informacji konfiguracyjnych dokumentacji, zwłaszcza kiedy używasz php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Została włączona konfiguracja Read-Only. Zapobiegnie to ustawieniu niektórych konfiguracji poprzez interfejs web. Ponadto plikowi muszą zostać nadane prawa zapisu ręcznie dla każdej aktualizacji.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Najwidoczniej PHP jest tak ustawione, aby wycinać bloki wklejonych dokumentów. Może to spowodować, że niektóre wbudowane aplikacje będą niedostępne.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dzieje się tak prawdopodobnie przez cache lub akcelerator taki jak Zend OPcache lub eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Twoja baza danych nie działa z poziomem izolacji transakcji \"READ COMMITTED\". Może to powodować problemy kiedy wiele akcji będzie wykonywanych równolegle.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "Zainstalowana wersja %2$s jest starsza niż %1$s. Ze względów stabilności i wydajności zalecamy aktualizację do nowszej wersji %1$s.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Brak modułu PHP 'fileinfo'. Zalecamy włączenie tego modułu, aby uzyskać najlepsze wyniki przy rozpoznawaniu typów MIME.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transakcyjne blokowanie plików jest wyłączone. Może to powodować problemy w działaniu. Włącz 'filelocking.enabled' w config.php, aby rozwiązać te problemy. Sprawdź <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentację ↗</a>, aby uzyskać więcej informacji.", - "System locale can not be set to a one which supports UTF-8." : "Ustawienia regionalne systemu nie można ustawić na jeden, który obsługuje UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Oznacza to, że mogą być problemy z pewnymi znakami w nazwach plików.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Mocno sugerujemy, aby doinstalować do systemu wymagane pakiety, wspierające następujące języki: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Twoja instancja nie jest zainstalowana w katalogu głównym dla domeny, a używasz systemowego Cron'a, zatem mogą wystąpić kłopoty w poprawnym generowaniu URL'a. Aby zapobiec problemów ustaw proszę opcję \"overwrite.cli.url\" w Twoim pliku config.php do katalogu głównego Twojej instalacji (sugerowany: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nie było możliwe uruchomienie zadania cron przy pomocy CLI. Pojawił się następujący błąd techniczny: ", "All checks passed." : "Wszystkie testy konfiguracji zakończyły się pomyślnie.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Proszę sprawdzić dokładnie <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">przewodniki instalacji ↗</a> oraz błędy i ostrzeżenia w <a href=\"%s\">logu</a>.", "Version" : "Wersja", @@ -126,17 +111,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Pokaż tekst wyłączeń odpowiedzialności (disclaimer) na stronie wysyłania z publicznego odnośnika. (Będzie dostępny tylko kiedy lista plików będzie ukryta).", "This text will be shown on the public link upload page when the file list is hidden." : "Ten tekst będzie widoczny na stronie wysyłania plików dostępnej z publicznego odnośnika, kiedy lista plików będzie ukryta.", "Default share permissions" : "Domyślne uprawnienia udostępnianych udziałów", - "Tips & tricks" : "Porady i wskazówki", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Dostępnych jest wiele funkcji i ustawień pozwalających na optymalne skonfigurowanie i używanie tej instancji. Tutaj uzyskasz więcej informacji.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite jest aktualnie używany jako baza danych. Dla większych instalacji zalecamy przełączenie na inną bazę danych.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Jest to szczególnie zalecane w przypadku korzystania z desktopowego klienta do synchronizacji plików.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Aby zmigrować do innej bazy danych użyj narzędzia z terminala: \"occ db:convert-type\" albo sprawdź <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentację ↗</a>.", - "How to do backups" : "Jak zrobić kopie zapasowe", - "Performance tuning" : "Podnoszenie wydajności", - "Improving the config.php" : "Udoskonalać się w config.php", - "Theming" : "Motyw", - "Check the security of your Nextcloud over our security scan" : "Sprawdź bezpieczeństwo swojego Nextclouda przez nasz skan zabezpieczeń", - "Hardening and security guidance" : "Kierowanie i wzmacnianie bezpieczeństwa", "Personal" : "Osobiste", "Administration" : "Administracja", "Profile picture" : "Zdjęcie profilowe", @@ -358,10 +332,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Poprawna konfiguracja jest ważna dla bezpieczeństwa i wydajności Twojej instancji. W celach pomocniczych przeprowadzane są automatyczne kontrole. Więcej informacji można znaleźć w dziale Wskazówki i Porady oraz w dokumentacji.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Wydaje się, że PHP nie jest prawidłowo ustawione, aby odpytać system o zmienne środowiskowe. Test getenv(\"PATH\") zwraca tylko puste odpowiedzi.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Prosze sprawdzić w <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentacji instalacji ↗</a> wpisy dotyczące konfiguracji PHP i konfiguracji PHP, kiedy używane jest php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Została włączona konfiguracja Read-Only. Zapobiegnie to ustawieniu niektórych konfiguracji poprzez interfejs web. Ponadto plikowi muszą zostać nadane prawa zapisu ręcznie dla każdej aktualizacji.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Wygląda na to, że ustawienia PHP ucinają bloki wklejonych dokumentów. To sprawi, że niektóre wbudowane aplikacje będą niedostępne.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dzieje się tak prawdopodobnie przez cache lub akcelerator taki jak Zend OPcache lub eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Twoja baza danych nie działa z poziomem izolacji transakcji \"READ COMMITTED\". Może to powodować problemy kiedy wiele akcji będzie wykonywanych równolegle.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "Zainstalowana wersja %2$s jest starsza niż %1$s. Ze względów stabilności i wydajności zalecamy aktualizację do nowszej wersji %1$s.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Brak modułu PHP „fileinfo”. Zalecamy włączenie tego modułu, aby uzyskać najlepsze wyniki podczas wykrywania typów MIME.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transakcyjne blokowanie plików jest wyłączone. Może to powodować problemy w działaniu. Włącz 'filelocking.enabled' w config.php, aby rozwiązać te problemy. Sprawdź <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentację ↗</a>, aby uzyskać więcej informacji.", + "System locale can not be set to a one which supports UTF-8." : "Ustawienia regionalne systemu nie można ustawić na jeden, który obsługuje UTF-8.", "This means that there might be problems with certain characters in file names." : "Oznacza to, że mogą być problemy z niektórymi znakami w nazwach plików.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Zalecamy instalację na Twoim systemie komponentów wymaganych do obsługi języków: %s", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Jeśli twoja instalacja nie jest zainstalowana w katalogu root domeny i używa systemowego crona, mogą wystąpić problemy z tworzeniem adresów URL. Aby rozwiązać ten problem, proszę ustawić w swoim pliku config.php opcję \"overwrite.cli.url\" wskazując ścieżkę instalacji (sugerujemy: \"%s\")", @@ -369,7 +347,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Proszę sprawdzić dokładnie <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">przewodniki instalacji ↗</a> oraz błędy i ostrzeżenia w <a href=\"%s\">logu</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Wywołanie cron.php jest ustawione jako usługa webcron co 15 minut przez protokół HTTP.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Aby to uruchomić potrzebujesz rozszerzenia posix do PHP. Po więcej informacji sprawdź {linkstart}dokumentację PHP{linkend}.", + "Tips & tricks" : "Porady i wskazówki", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Dostępnych jest wiele funkcji i ustawień pozwalających na optymalne skonfigurowanie i używanie tej instancji. Tutaj uzyskasz więcej informacji.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite jest aktualnie używany jako baza danych. Dla większych instalacji zalecamy przełączenie na inną bazę danych.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Jest to szczególnie zalecane w przypadku korzystania z desktopowego klienta do synchronizacji plików.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Aby zmigrować do innej bazy danych użyj narzędzia z terminala: \"occ db:convert-type\" albo sprawdź <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentację ↗</a>.", + "How to do backups" : "Jak zrobić kopie zapasowe", + "Performance tuning" : "Podnoszenie wydajności", + "Improving the config.php" : "Udoskonalać się w config.php", + "Theming" : "Motyw", + "Check the security of your Nextcloud over our security scan" : "Sprawdź bezpieczeństwo swojego Nextclouda przez nasz skan zabezpieczeń", + "Hardening and security guidance" : "Kierowanie i wzmacnianie bezpieczeństwa", "View in store" : "Zobacz w sklepie", "Limit to groups" : "Ogranicz do group", "This app has an update available." : "Ta aplikacja ma dostępną aktualizację.", @@ -422,6 +410,18 @@ OC.L10N.register( "Updating …" : "Aktualizowanie...", "Could not update app" : "Nie można uaktualnić aplikacji.", "Could not remove app" : "Usuwanie aplikacji nie powiodło się", - "{size} used" : "{size} wykorzystane" + "{size} used" : "{size} wykorzystane", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Poprawna konfiguracja jest ważna dla bezpieczeństwa i wydajności Twojej instancji. W celach pomocniczych przeprowadzane są automatyczne kontrole. Więcej informacji można znaleźć w dziale Wskazówki i Porady oraz w dokumentacji.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP wydaje się być błędnie skonfigurowane odnośnie zapytania o zmienne środowiskowe systemu. Test gentenv(\"PATH\") zwraca pustą wartość.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Sprawdź proszę <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> dokumentację instalacji </a> dla konfiguracji PHP Twojego serwera względem informacji konfiguracyjnych dokumentacji, zwłaszcza kiedy używasz php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Najwidoczniej PHP jest tak ustawione, aby wycinać bloki wklejonych dokumentów. Może to spowodować, że niektóre wbudowane aplikacje będą niedostępne.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "Zainstalowana wersja %2$s jest starsza niż %1$s. Ze względów stabilności i wydajności zalecamy aktualizację do nowszej wersji %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Brak modułu PHP 'fileinfo'. Zalecamy włączenie tego modułu, aby uzyskać najlepsze wyniki przy rozpoznawaniu typów MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transakcyjne blokowanie plików jest wyłączone. Może to powodować problemy w działaniu. Włącz 'filelocking.enabled' w config.php, aby rozwiązać te problemy. Sprawdź <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentację ↗</a>, aby uzyskać więcej informacji.", + "This means that there might be problems with certain characters in filenames." : "Oznacza to, że mogą być problemy z pewnymi znakami w nazwach plików.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Mocno sugerujemy, aby doinstalować do systemu wymagane pakiety, wspierające następujące języki: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Twoja instancja nie jest zainstalowana w katalogu głównym dla domeny, a używasz systemowego Cron'a, zatem mogą wystąpić kłopoty w poprawnym generowaniu URL'a. Aby zapobiec problemów ustaw proszę opcję \"overwrite.cli.url\" w Twoim pliku config.php do katalogu głównego Twojej instalacji (sugerowany: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nie było możliwe uruchomienie zadania cron przy pomocy CLI. Pojawił się następujący błąd techniczny: ", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Aby zmigrować do innej bazy danych użyj narzędzia z terminala: \"occ db:convert-type\" albo sprawdź <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentację ↗</a>." }, "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/settings/l10n/pl.json b/settings/l10n/pl.json index 4dce5c0bf21..fff227f78b7 100644 --- a/settings/l10n/pl.json +++ b/settings/l10n/pl.json @@ -76,21 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musisz zmigrować swoje klucze szyfrujące ze starego szyfrowania (ownCloud <= 8.0) do nowego.", "Start migration" : "Rozpocznij migrację", "Security & setup warnings" : "Ostrzeżenia bezpieczeństwa i konfiguracji", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Poprawna konfiguracja jest ważna dla bezpieczeństwa i wydajności Twojej instancji. W celach pomocniczych przeprowadzane są automatyczne kontrole. Więcej informacji można znaleźć w dziale Wskazówki i Porady oraz w dokumentacji.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP wydaje się być błędnie skonfigurowane odnośnie zapytania o zmienne środowiskowe systemu. Test gentenv(\"PATH\") zwraca pustą wartość.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Sprawdź proszę <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> dokumentację instalacji </a> dla konfiguracji PHP Twojego serwera względem informacji konfiguracyjnych dokumentacji, zwłaszcza kiedy używasz php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Została włączona konfiguracja Read-Only. Zapobiegnie to ustawieniu niektórych konfiguracji poprzez interfejs web. Ponadto plikowi muszą zostać nadane prawa zapisu ręcznie dla każdej aktualizacji.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Najwidoczniej PHP jest tak ustawione, aby wycinać bloki wklejonych dokumentów. Może to spowodować, że niektóre wbudowane aplikacje będą niedostępne.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dzieje się tak prawdopodobnie przez cache lub akcelerator taki jak Zend OPcache lub eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Twoja baza danych nie działa z poziomem izolacji transakcji \"READ COMMITTED\". Może to powodować problemy kiedy wiele akcji będzie wykonywanych równolegle.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "Zainstalowana wersja %2$s jest starsza niż %1$s. Ze względów stabilności i wydajności zalecamy aktualizację do nowszej wersji %1$s.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Brak modułu PHP 'fileinfo'. Zalecamy włączenie tego modułu, aby uzyskać najlepsze wyniki przy rozpoznawaniu typów MIME.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transakcyjne blokowanie plików jest wyłączone. Może to powodować problemy w działaniu. Włącz 'filelocking.enabled' w config.php, aby rozwiązać te problemy. Sprawdź <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentację ↗</a>, aby uzyskać więcej informacji.", - "System locale can not be set to a one which supports UTF-8." : "Ustawienia regionalne systemu nie można ustawić na jeden, który obsługuje UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Oznacza to, że mogą być problemy z pewnymi znakami w nazwach plików.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Mocno sugerujemy, aby doinstalować do systemu wymagane pakiety, wspierające następujące języki: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Twoja instancja nie jest zainstalowana w katalogu głównym dla domeny, a używasz systemowego Cron'a, zatem mogą wystąpić kłopoty w poprawnym generowaniu URL'a. Aby zapobiec problemów ustaw proszę opcję \"overwrite.cli.url\" w Twoim pliku config.php do katalogu głównego Twojej instalacji (sugerowany: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nie było możliwe uruchomienie zadania cron przy pomocy CLI. Pojawił się następujący błąd techniczny: ", "All checks passed." : "Wszystkie testy konfiguracji zakończyły się pomyślnie.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Proszę sprawdzić dokładnie <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">przewodniki instalacji ↗</a> oraz błędy i ostrzeżenia w <a href=\"%s\">logu</a>.", "Version" : "Wersja", @@ -124,17 +109,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Pokaż tekst wyłączeń odpowiedzialności (disclaimer) na stronie wysyłania z publicznego odnośnika. (Będzie dostępny tylko kiedy lista plików będzie ukryta).", "This text will be shown on the public link upload page when the file list is hidden." : "Ten tekst będzie widoczny na stronie wysyłania plików dostępnej z publicznego odnośnika, kiedy lista plików będzie ukryta.", "Default share permissions" : "Domyślne uprawnienia udostępnianych udziałów", - "Tips & tricks" : "Porady i wskazówki", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Dostępnych jest wiele funkcji i ustawień pozwalających na optymalne skonfigurowanie i używanie tej instancji. Tutaj uzyskasz więcej informacji.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite jest aktualnie używany jako baza danych. Dla większych instalacji zalecamy przełączenie na inną bazę danych.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Jest to szczególnie zalecane w przypadku korzystania z desktopowego klienta do synchronizacji plików.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Aby zmigrować do innej bazy danych użyj narzędzia z terminala: \"occ db:convert-type\" albo sprawdź <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentację ↗</a>.", - "How to do backups" : "Jak zrobić kopie zapasowe", - "Performance tuning" : "Podnoszenie wydajności", - "Improving the config.php" : "Udoskonalać się w config.php", - "Theming" : "Motyw", - "Check the security of your Nextcloud over our security scan" : "Sprawdź bezpieczeństwo swojego Nextclouda przez nasz skan zabezpieczeń", - "Hardening and security guidance" : "Kierowanie i wzmacnianie bezpieczeństwa", "Personal" : "Osobiste", "Administration" : "Administracja", "Profile picture" : "Zdjęcie profilowe", @@ -356,10 +330,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Poprawna konfiguracja jest ważna dla bezpieczeństwa i wydajności Twojej instancji. W celach pomocniczych przeprowadzane są automatyczne kontrole. Więcej informacji można znaleźć w dziale Wskazówki i Porady oraz w dokumentacji.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Wydaje się, że PHP nie jest prawidłowo ustawione, aby odpytać system o zmienne środowiskowe. Test getenv(\"PATH\") zwraca tylko puste odpowiedzi.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Prosze sprawdzić w <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentacji instalacji ↗</a> wpisy dotyczące konfiguracji PHP i konfiguracji PHP, kiedy używane jest php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Została włączona konfiguracja Read-Only. Zapobiegnie to ustawieniu niektórych konfiguracji poprzez interfejs web. Ponadto plikowi muszą zostać nadane prawa zapisu ręcznie dla każdej aktualizacji.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Wygląda na to, że ustawienia PHP ucinają bloki wklejonych dokumentów. To sprawi, że niektóre wbudowane aplikacje będą niedostępne.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dzieje się tak prawdopodobnie przez cache lub akcelerator taki jak Zend OPcache lub eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Twoja baza danych nie działa z poziomem izolacji transakcji \"READ COMMITTED\". Może to powodować problemy kiedy wiele akcji będzie wykonywanych równolegle.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "Zainstalowana wersja %2$s jest starsza niż %1$s. Ze względów stabilności i wydajności zalecamy aktualizację do nowszej wersji %1$s.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Brak modułu PHP „fileinfo”. Zalecamy włączenie tego modułu, aby uzyskać najlepsze wyniki podczas wykrywania typów MIME.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transakcyjne blokowanie plików jest wyłączone. Może to powodować problemy w działaniu. Włącz 'filelocking.enabled' w config.php, aby rozwiązać te problemy. Sprawdź <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentację ↗</a>, aby uzyskać więcej informacji.", + "System locale can not be set to a one which supports UTF-8." : "Ustawienia regionalne systemu nie można ustawić na jeden, który obsługuje UTF-8.", "This means that there might be problems with certain characters in file names." : "Oznacza to, że mogą być problemy z niektórymi znakami w nazwach plików.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Zalecamy instalację na Twoim systemie komponentów wymaganych do obsługi języków: %s", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Jeśli twoja instalacja nie jest zainstalowana w katalogu root domeny i używa systemowego crona, mogą wystąpić problemy z tworzeniem adresów URL. Aby rozwiązać ten problem, proszę ustawić w swoim pliku config.php opcję \"overwrite.cli.url\" wskazując ścieżkę instalacji (sugerujemy: \"%s\")", @@ -367,7 +345,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Proszę sprawdzić dokładnie <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">przewodniki instalacji ↗</a> oraz błędy i ostrzeżenia w <a href=\"%s\">logu</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Wywołanie cron.php jest ustawione jako usługa webcron co 15 minut przez protokół HTTP.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Aby to uruchomić potrzebujesz rozszerzenia posix do PHP. Po więcej informacji sprawdź {linkstart}dokumentację PHP{linkend}.", + "Tips & tricks" : "Porady i wskazówki", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Dostępnych jest wiele funkcji i ustawień pozwalających na optymalne skonfigurowanie i używanie tej instancji. Tutaj uzyskasz więcej informacji.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite jest aktualnie używany jako baza danych. Dla większych instalacji zalecamy przełączenie na inną bazę danych.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Jest to szczególnie zalecane w przypadku korzystania z desktopowego klienta do synchronizacji plików.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Aby zmigrować do innej bazy danych użyj narzędzia z terminala: \"occ db:convert-type\" albo sprawdź <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentację ↗</a>.", + "How to do backups" : "Jak zrobić kopie zapasowe", + "Performance tuning" : "Podnoszenie wydajności", + "Improving the config.php" : "Udoskonalać się w config.php", + "Theming" : "Motyw", + "Check the security of your Nextcloud over our security scan" : "Sprawdź bezpieczeństwo swojego Nextclouda przez nasz skan zabezpieczeń", + "Hardening and security guidance" : "Kierowanie i wzmacnianie bezpieczeństwa", "View in store" : "Zobacz w sklepie", "Limit to groups" : "Ogranicz do group", "This app has an update available." : "Ta aplikacja ma dostępną aktualizację.", @@ -420,6 +408,18 @@ "Updating …" : "Aktualizowanie...", "Could not update app" : "Nie można uaktualnić aplikacji.", "Could not remove app" : "Usuwanie aplikacji nie powiodło się", - "{size} used" : "{size} wykorzystane" + "{size} used" : "{size} wykorzystane", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Poprawna konfiguracja jest ważna dla bezpieczeństwa i wydajności Twojej instancji. W celach pomocniczych przeprowadzane są automatyczne kontrole. Więcej informacji można znaleźć w dziale Wskazówki i Porady oraz w dokumentacji.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP wydaje się być błędnie skonfigurowane odnośnie zapytania o zmienne środowiskowe systemu. Test gentenv(\"PATH\") zwraca pustą wartość.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Sprawdź proszę <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> dokumentację instalacji </a> dla konfiguracji PHP Twojego serwera względem informacji konfiguracyjnych dokumentacji, zwłaszcza kiedy używasz php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Najwidoczniej PHP jest tak ustawione, aby wycinać bloki wklejonych dokumentów. Może to spowodować, że niektóre wbudowane aplikacje będą niedostępne.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "Zainstalowana wersja %2$s jest starsza niż %1$s. Ze względów stabilności i wydajności zalecamy aktualizację do nowszej wersji %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Brak modułu PHP 'fileinfo'. Zalecamy włączenie tego modułu, aby uzyskać najlepsze wyniki przy rozpoznawaniu typów MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Transakcyjne blokowanie plików jest wyłączone. Może to powodować problemy w działaniu. Włącz 'filelocking.enabled' w config.php, aby rozwiązać te problemy. Sprawdź <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentację ↗</a>, aby uzyskać więcej informacji.", + "This means that there might be problems with certain characters in filenames." : "Oznacza to, że mogą być problemy z pewnymi znakami w nazwach plików.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Mocno sugerujemy, aby doinstalować do systemu wymagane pakiety, wspierające następujące języki: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Twoja instancja nie jest zainstalowana w katalogu głównym dla domeny, a używasz systemowego Cron'a, zatem mogą wystąpić kłopoty w poprawnym generowaniu URL'a. Aby zapobiec problemów ustaw proszę opcję \"overwrite.cli.url\" w Twoim pliku config.php do katalogu głównego Twojej instalacji (sugerowany: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nie było możliwe uruchomienie zadania cron przy pomocy CLI. Pojawił się następujący błąd techniczny: ", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Aby zmigrować do innej bazy danych użyj narzędzia z terminala: \"occ db:convert-type\" albo sprawdź <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentację ↗</a>." },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" }
\ No newline at end of file diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js index 5f9e3ac6199..f59df5ed7e4 100644 --- a/settings/l10n/pt_BR.js +++ b/settings/l10n/pt_BR.js @@ -101,28 +101,13 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova.", "Start migration" : "Iniciar migração", "Security & setup warnings" : "Segurança & avisos de configuração", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "É importante para a segurança e desempenho de sua instância que tudo esteja configurado corretamente. Para ajudar você com isso que estamos fazendo algumas verificações automáticas. Por favor, consulte a seção Dicas & Truques e a documentação para obter mais informações.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "O PHP não parece ser configurado corretamente para consultar variáveis de ambiente do sistema. O teste com getenv(\"PATH\") apenas retorna uma resposta vazia.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, verifique a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação de instalação ↗</a> para detalhes da configuração PHP de seu servidor, especialmente quando usando php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Somente-Leitura foi habilitada. Isso impede que algumas configurações sejam definidas via interface web. Além disso, o arquivo precisa ser definido manualmente com permissão de escrita para cada atualização.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "O PHP aparentemente está configurado para remover blocos de documentos em linha. Isso fará com que vários aplicativos principais fiquem inacessíveis.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isso provavelmente é causado por um cache/acelerador, como Zend OPcache ou eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Seu banco de dados não está em execução com o nível de isolamento de transação \"READ COMITTED\". Isso poderá causar problemas quando várias ações são executadas em paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : " %1$s a versão abaixo %2$s está instalada. Por razões de estabilidade e desempenho, é recomendável atualizar para a versão mais recente, %1$s.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "O módulo PHP 'fileinfo' está faltando. É altamente recomendável habilitar este módulo para obter os melhores resultados com detecção de tipo MIME.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "O bloqueio de arquivos transacionais está desabilitado, isso pode levar a problemas com as condições de corrida. Ative 'filelocking.enabled' em config.php para evitar esses problemas. Veja a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação ↗</a> para mais informação.", - "System locale can not be set to a one which supports UTF-8." : "Localização do sistema não pôde ser definido para um que suporta UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Isso significa que pode haver problemas com determinados caracteres em nomes de arquivos.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Sugerimos fortemente instalar os pacotes necessários no seu sistema para suportar uma das seguintes localizações: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se a sua instalação não estiver instalada na raiz do domínio e usar o sistema Cron, pode haver problemas com a geração de URL. Para evitar esses problemas, configure a opção \"overwrite.cli.url\" no seu arquivo config.php para o caminho webroot da sua instalação (Sugestão: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Não foi possível executar o trabalho cron através da CLI. Os seguintes erros técnicos apareceram:", - "Last background job execution ran %s. Something seems wrong." : "A última execução da tarefa em segundo plano rodou %s. Algo deu errado.", - "Check the background job settings" : "Verifique as configurações da tarefa em segundo plano", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "É importante para a segurança e desempenho da sua instalação que tudo esteja configurado corretamente. Para ajudá-lo com isso, estamos fazendo algumas verificações automáticas. Por favor, consulte a documentação para mais informações.", "All checks passed." : "Todas as verificações passaram.", "There are some errors regarding your setup." : "Existem alguns erros na configuração.", "There are some warnings regarding your setup." : "Existem alguns avisos na configuração.", "Checking for system and security issues." : "Verificando problemas de sistema e segurança.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifique os <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalação ↗</a> e cheque por qualquer erro ou aviso no <a href=\"%s\">log</a>.", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Verifique a segurança do seu Nextcloud em <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nossa verificação de segurança ↗</a>.", "Version" : "Versão", "Background jobs" : "Tarefas em segundo plano", "Last job ran %s." : "Última tarefa rodou há %s.", @@ -154,17 +139,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar o texto de aviso na página pública do link de envio (só é mostrado quando a lista de arquivos está oculta).", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto será mostrado na página de envio do link público quando a lista de arquivos está oculta.", "Default share permissions" : "Permissões padrão de compartilhamento", - "Tips & tricks" : "Dicas & Truques", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Há muitos recursos e opções de configuração para otimização e uso. Aqui estão algumas indicações para obter mais informações:", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite é usando atualmente como Plataforma de serviço de banco de dados. Para instalações maiores recomendamos que você use uma outra plataforma de serviço de banco de dados", - "This is particularly recommended when using the desktop client for file synchronisation." : "Isso é particulamente recomendado quando se utiliza um cliente para sincronização.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a outro banco de dados, use a ferramenta de linha de comando: 'occ db:convert-type', ou leia na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação ↗</a> como fazer isso.", - "How to do backups" : "Como fazer backups", - "Performance tuning" : "Ajustando a performance", - "Improving the config.php" : "Melhorando o config.php", - "Theming" : "Criar um tema", - "Check the security of your Nextcloud over our security scan" : "Verificar a segurança do Nextcloud na nossa análise de segurança", - "Hardening and security guidance" : "Orientações de proteção e segurança", "Personal" : "Pessoal", "Administration" : "Administração", "Profile picture" : "Imagem para o perfil", @@ -389,10 +363,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "É importante para a segurança e desempenho que tudo esteja configurado corretamente. Para ajudá-lo com isso, estamos fazendo algumas verificações automáticas. Consulte a seção Dicas & Truques e a documentação para mais informações.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "o php parece não estar configurado corretamente para consultar as variáveis de ambiente do sistema. O teste com getenv(\"PATH\") retorna uma resposta vazia.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Verifique a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação de instalação ↗</a> para as notas de configuração do php e a configuração php do seu servidor, especialmente quando usando php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Somente-Leitura foi habilitada. Isso impede que algumas configurações sejam definidas via interface web. Além disso, o arquivo precisa ser definido manualmente com permissão de escrita para cada atualização.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Aparentemente o PHP está configurado para remover blocos de documentos em linha. Isso fará com que vários aplicativos do núcleo fiquem inacessíveis.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isso provavelmente é causado por um cache/acelerador, como Zend OPcache ou eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Seu banco de dados não está em execução com o nível de isolamento de transação \"READ COMITTED\". Isso poderá causar problemas quando várias ações são executadas em paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "A versão %1$s abaixo %2$s está instalada. Por razões de estabilidade e desempenho, recomendamos atualizar para uma versão %1$s mais recente.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "O módulo PHP 'fileinfo' está faltando. Recomendamos fortemente que ative este módulo para obter melhores resultados com a detecção de tipos MIME.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "O bloqueio transacional de arquivos está desabilitado. Isso pode levar a problemas com condições de corrida. Ative 'filelocking.enabled' no config.php para evitar esses problemas. Veja a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação ↗</a> para mais informações.", + "System locale can not be set to a one which supports UTF-8." : "Localização do sistema não pôde ser definido para um que suporta UTF-8.", "This means that there might be problems with certain characters in file names." : "Isso significa que pode haver problemas com determinados caracteres nos nomes dos arquivos.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Sugerimos fortemente a instalação dos pacotes necessários no seu sistema para suportar uma das seguintes localizações: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se sua instalação não estiver instalada na raiz do domínio e usar o sistema cron, pode haver problemas com a geração de URL. Para evitar esses problemas, configure a opção \"overwrite.cli.url\" no arquivo config.php para o caminho webroot da sua instalação (Sugestão: \"%s\")", @@ -400,7 +378,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Verifique novamente os <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guias de instalação ↗</a> e procure por erros ou avisos no <a href=\"%s\">log</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado como um serviço webcron para rodar cron.php a cada 15 minutos em http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para executar isso, você precisa da extensão posix do PHP. Veja a {linkstart}Documentação do PHP{linkend} para mais detalhes.", + "Tips & tricks" : "Dicas & Truques", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Há muitos recursos e opções de configuração para otimização e uso. Aqui estão algumas indicações para obter mais informações:", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite é usando atualmente como Plataforma de serviço de banco de dados. Para instalações maiores recomendamos que você use uma outra plataforma de serviço de banco de dados", + "This is particularly recommended when using the desktop client for file synchronisation." : "Isso é particulamente recomendado quando se utiliza um cliente para sincronização.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar para outro banco de dados, use a ferramenta de linha de comando: 'occ db: convert-type' ou veja a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação ↗</a>.", + "How to do backups" : "Como fazer backups", + "Performance tuning" : "Ajustando a performance", + "Improving the config.php" : "Melhorando o config.php", + "Theming" : "Criar um tema", + "Check the security of your Nextcloud over our security scan" : "Verificar a segurança do Nextcloud na nossa análise de segurança", + "Hardening and security guidance" : "Orientações de proteção e segurança", "View in store" : "Ver na loja", "Limit to groups" : "Limitado a grupos", "This app has an update available." : "Este aplicativo tem uma atualização disponível.", @@ -453,6 +441,18 @@ OC.L10N.register( "Updating …" : "Atualizando...", "Could not update app" : "Não foi possível atualizar o aplicativo", "Could not remove app" : "Não foi possível remover o aplicativo", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "É importante para a segurança e desempenho de sua instância que tudo esteja configurado corretamente. Para ajudar você com isso que estamos fazendo algumas verificações automáticas. Por favor, consulte a seção Dicas & Truques e a documentação para obter mais informações.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "O PHP não parece ser configurado corretamente para consultar variáveis de ambiente do sistema. O teste com getenv(\"PATH\") apenas retorna uma resposta vazia.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, verifique a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação de instalação ↗</a> para detalhes da configuração PHP de seu servidor, especialmente quando usando php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "O PHP aparentemente está configurado para remover blocos de documentos em linha. Isso fará com que vários aplicativos principais fiquem inacessíveis.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : " %1$s a versão abaixo %2$s está instalada. Por razões de estabilidade e desempenho, é recomendável atualizar para a versão mais recente, %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "O módulo PHP 'fileinfo' está faltando. É altamente recomendável habilitar este módulo para obter os melhores resultados com detecção de tipo MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "O bloqueio de arquivos transacionais está desabilitado, isso pode levar a problemas com as condições de corrida. Ative 'filelocking.enabled' em config.php para evitar esses problemas. Veja a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação ↗</a> para mais informação.", + "This means that there might be problems with certain characters in filenames." : "Isso significa que pode haver problemas com determinados caracteres em nomes de arquivos.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Sugerimos fortemente instalar os pacotes necessários no seu sistema para suportar uma das seguintes localizações: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se a sua instalação não estiver instalada na raiz do domínio e usar o sistema Cron, pode haver problemas com a geração de URL. Para evitar esses problemas, configure a opção \"overwrite.cli.url\" no seu arquivo config.php para o caminho webroot da sua instalação (Sugestão: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Não foi possível executar o trabalho cron através da CLI. Os seguintes erros técnicos apareceram:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a outro banco de dados, use a ferramenta de linha de comando: 'occ db:convert-type', ou leia na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação ↗</a> como fazer isso." }, "nplurals=2; plural=(n > 1);"); diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json index 6237b8d1010..f9a36c4b31b 100644 --- a/settings/l10n/pt_BR.json +++ b/settings/l10n/pt_BR.json @@ -99,28 +99,13 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova.", "Start migration" : "Iniciar migração", "Security & setup warnings" : "Segurança & avisos de configuração", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "É importante para a segurança e desempenho de sua instância que tudo esteja configurado corretamente. Para ajudar você com isso que estamos fazendo algumas verificações automáticas. Por favor, consulte a seção Dicas & Truques e a documentação para obter mais informações.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "O PHP não parece ser configurado corretamente para consultar variáveis de ambiente do sistema. O teste com getenv(\"PATH\") apenas retorna uma resposta vazia.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, verifique a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação de instalação ↗</a> para detalhes da configuração PHP de seu servidor, especialmente quando usando php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Somente-Leitura foi habilitada. Isso impede que algumas configurações sejam definidas via interface web. Além disso, o arquivo precisa ser definido manualmente com permissão de escrita para cada atualização.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "O PHP aparentemente está configurado para remover blocos de documentos em linha. Isso fará com que vários aplicativos principais fiquem inacessíveis.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isso provavelmente é causado por um cache/acelerador, como Zend OPcache ou eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Seu banco de dados não está em execução com o nível de isolamento de transação \"READ COMITTED\". Isso poderá causar problemas quando várias ações são executadas em paralelo.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : " %1$s a versão abaixo %2$s está instalada. Por razões de estabilidade e desempenho, é recomendável atualizar para a versão mais recente, %1$s.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "O módulo PHP 'fileinfo' está faltando. É altamente recomendável habilitar este módulo para obter os melhores resultados com detecção de tipo MIME.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "O bloqueio de arquivos transacionais está desabilitado, isso pode levar a problemas com as condições de corrida. Ative 'filelocking.enabled' em config.php para evitar esses problemas. Veja a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação ↗</a> para mais informação.", - "System locale can not be set to a one which supports UTF-8." : "Localização do sistema não pôde ser definido para um que suporta UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Isso significa que pode haver problemas com determinados caracteres em nomes de arquivos.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Sugerimos fortemente instalar os pacotes necessários no seu sistema para suportar uma das seguintes localizações: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se a sua instalação não estiver instalada na raiz do domínio e usar o sistema Cron, pode haver problemas com a geração de URL. Para evitar esses problemas, configure a opção \"overwrite.cli.url\" no seu arquivo config.php para o caminho webroot da sua instalação (Sugestão: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Não foi possível executar o trabalho cron através da CLI. Os seguintes erros técnicos apareceram:", - "Last background job execution ran %s. Something seems wrong." : "A última execução da tarefa em segundo plano rodou %s. Algo deu errado.", - "Check the background job settings" : "Verifique as configurações da tarefa em segundo plano", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "É importante para a segurança e desempenho da sua instalação que tudo esteja configurado corretamente. Para ajudá-lo com isso, estamos fazendo algumas verificações automáticas. Por favor, consulte a documentação para mais informações.", "All checks passed." : "Todas as verificações passaram.", "There are some errors regarding your setup." : "Existem alguns erros na configuração.", "There are some warnings regarding your setup." : "Existem alguns avisos na configuração.", "Checking for system and security issues." : "Verificando problemas de sistema e segurança.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor verifique os <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guias de instalação ↗</a> e cheque por qualquer erro ou aviso no <a href=\"%s\">log</a>.", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Verifique a segurança do seu Nextcloud em <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nossa verificação de segurança ↗</a>.", "Version" : "Versão", "Background jobs" : "Tarefas em segundo plano", "Last job ran %s." : "Última tarefa rodou há %s.", @@ -152,17 +137,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar o texto de aviso na página pública do link de envio (só é mostrado quando a lista de arquivos está oculta).", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto será mostrado na página de envio do link público quando a lista de arquivos está oculta.", "Default share permissions" : "Permissões padrão de compartilhamento", - "Tips & tricks" : "Dicas & Truques", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Há muitos recursos e opções de configuração para otimização e uso. Aqui estão algumas indicações para obter mais informações:", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite é usando atualmente como Plataforma de serviço de banco de dados. Para instalações maiores recomendamos que você use uma outra plataforma de serviço de banco de dados", - "This is particularly recommended when using the desktop client for file synchronisation." : "Isso é particulamente recomendado quando se utiliza um cliente para sincronização.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a outro banco de dados, use a ferramenta de linha de comando: 'occ db:convert-type', ou leia na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação ↗</a> como fazer isso.", - "How to do backups" : "Como fazer backups", - "Performance tuning" : "Ajustando a performance", - "Improving the config.php" : "Melhorando o config.php", - "Theming" : "Criar um tema", - "Check the security of your Nextcloud over our security scan" : "Verificar a segurança do Nextcloud na nossa análise de segurança", - "Hardening and security guidance" : "Orientações de proteção e segurança", "Personal" : "Pessoal", "Administration" : "Administração", "Profile picture" : "Imagem para o perfil", @@ -387,10 +361,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "É importante para a segurança e desempenho que tudo esteja configurado corretamente. Para ajudá-lo com isso, estamos fazendo algumas verificações automáticas. Consulte a seção Dicas & Truques e a documentação para mais informações.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "o php parece não estar configurado corretamente para consultar as variáveis de ambiente do sistema. O teste com getenv(\"PATH\") retorna uma resposta vazia.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Verifique a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação de instalação ↗</a> para as notas de configuração do php e a configuração php do seu servidor, especialmente quando usando php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Somente-Leitura foi habilitada. Isso impede que algumas configurações sejam definidas via interface web. Além disso, o arquivo precisa ser definido manualmente com permissão de escrita para cada atualização.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Aparentemente o PHP está configurado para remover blocos de documentos em linha. Isso fará com que vários aplicativos do núcleo fiquem inacessíveis.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isso provavelmente é causado por um cache/acelerador, como Zend OPcache ou eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Seu banco de dados não está em execução com o nível de isolamento de transação \"READ COMITTED\". Isso poderá causar problemas quando várias ações são executadas em paralelo.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "A versão %1$s abaixo %2$s está instalada. Por razões de estabilidade e desempenho, recomendamos atualizar para uma versão %1$s mais recente.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "O módulo PHP 'fileinfo' está faltando. Recomendamos fortemente que ative este módulo para obter melhores resultados com a detecção de tipos MIME.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "O bloqueio transacional de arquivos está desabilitado. Isso pode levar a problemas com condições de corrida. Ative 'filelocking.enabled' no config.php para evitar esses problemas. Veja a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação ↗</a> para mais informações.", + "System locale can not be set to a one which supports UTF-8." : "Localização do sistema não pôde ser definido para um que suporta UTF-8.", "This means that there might be problems with certain characters in file names." : "Isso significa que pode haver problemas com determinados caracteres nos nomes dos arquivos.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Sugerimos fortemente a instalação dos pacotes necessários no seu sistema para suportar uma das seguintes localizações: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se sua instalação não estiver instalada na raiz do domínio e usar o sistema cron, pode haver problemas com a geração de URL. Para evitar esses problemas, configure a opção \"overwrite.cli.url\" no arquivo config.php para o caminho webroot da sua instalação (Sugestão: \"%s\")", @@ -398,7 +376,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Verifique novamente os <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guias de instalação ↗</a> e procure por erros ou avisos no <a href=\"%s\">log</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado como um serviço webcron para rodar cron.php a cada 15 minutos em http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para executar isso, você precisa da extensão posix do PHP. Veja a {linkstart}Documentação do PHP{linkend} para mais detalhes.", + "Tips & tricks" : "Dicas & Truques", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Há muitos recursos e opções de configuração para otimização e uso. Aqui estão algumas indicações para obter mais informações:", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite é usando atualmente como Plataforma de serviço de banco de dados. Para instalações maiores recomendamos que você use uma outra plataforma de serviço de banco de dados", + "This is particularly recommended when using the desktop client for file synchronisation." : "Isso é particulamente recomendado quando se utiliza um cliente para sincronização.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar para outro banco de dados, use a ferramenta de linha de comando: 'occ db: convert-type' ou veja a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação ↗</a>.", + "How to do backups" : "Como fazer backups", + "Performance tuning" : "Ajustando a performance", + "Improving the config.php" : "Melhorando o config.php", + "Theming" : "Criar um tema", + "Check the security of your Nextcloud over our security scan" : "Verificar a segurança do Nextcloud na nossa análise de segurança", + "Hardening and security guidance" : "Orientações de proteção e segurança", "View in store" : "Ver na loja", "Limit to groups" : "Limitado a grupos", "This app has an update available." : "Este aplicativo tem uma atualização disponível.", @@ -451,6 +439,18 @@ "Updating …" : "Atualizando...", "Could not update app" : "Não foi possível atualizar o aplicativo", "Could not remove app" : "Não foi possível remover o aplicativo", - "{size} used" : "{size} usado" + "{size} used" : "{size} usado", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "É importante para a segurança e desempenho de sua instância que tudo esteja configurado corretamente. Para ajudar você com isso que estamos fazendo algumas verificações automáticas. Por favor, consulte a seção Dicas & Truques e a documentação para obter mais informações.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "O PHP não parece ser configurado corretamente para consultar variáveis de ambiente do sistema. O teste com getenv(\"PATH\") apenas retorna uma resposta vazia.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Por favor, verifique a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação de instalação ↗</a> para detalhes da configuração PHP de seu servidor, especialmente quando usando php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "O PHP aparentemente está configurado para remover blocos de documentos em linha. Isso fará com que vários aplicativos principais fiquem inacessíveis.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : " %1$s a versão abaixo %2$s está instalada. Por razões de estabilidade e desempenho, é recomendável atualizar para a versão mais recente, %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "O módulo PHP 'fileinfo' está faltando. É altamente recomendável habilitar este módulo para obter os melhores resultados com detecção de tipo MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "O bloqueio de arquivos transacionais está desabilitado, isso pode levar a problemas com as condições de corrida. Ative 'filelocking.enabled' em config.php para evitar esses problemas. Veja a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação ↗</a> para mais informação.", + "This means that there might be problems with certain characters in filenames." : "Isso significa que pode haver problemas com determinados caracteres em nomes de arquivos.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Sugerimos fortemente instalar os pacotes necessários no seu sistema para suportar uma das seguintes localizações: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se a sua instalação não estiver instalada na raiz do domínio e usar o sistema Cron, pode haver problemas com a geração de URL. Para evitar esses problemas, configure a opção \"overwrite.cli.url\" no seu arquivo config.php para o caminho webroot da sua instalação (Sugestão: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Não foi possível executar o trabalho cron através da CLI. Os seguintes erros técnicos apareceram:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a outro banco de dados, use a ferramenta de linha de comando: 'occ db:convert-type', ou leia na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação ↗</a> como fazer isso." },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/settings/l10n/pt_PT.js b/settings/l10n/pt_PT.js index 50ecfb3aa6d..66cdd2621c3 100644 --- a/settings/l10n/pt_PT.js +++ b/settings/l10n/pt_PT.js @@ -78,12 +78,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "É necessário migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova.", "Start migration" : "Iniciar migração", "Security & setup warnings" : "Avisos de configuração e segurança", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Só-de-Leitura foi ativada. Isto evita definir algumas configurações através da interface da Web. Além disso, o ficheiro precisa de ser definido gravável manualmente para cada atualização.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isto é provavelmente causado por uma cache/acelerador como o Zend OPcache or eAcelerador.", - "System locale can not be set to a one which supports UTF-8." : "Não é possível definir a internacionalização do sistema para um que suporte o UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Isto significa que podem haver problemas com alguns caracteres no nome dos ficheiros.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "É vivamente aconselhável que instale os pacotes necessários no seu sistema para suportar um dos nossos locais: %s.", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Não foi possível executar a tarefa agendada via CLI. Os seguintes erros técnicos surgiram:", "All checks passed." : "Todas as verificações passaram.", "Version" : "Versão", "Background jobs" : "Tarefas de segundo plano", @@ -115,14 +109,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "permitir completar automáticamente nome do utilizador no diálogo de partilha. Se isto estiver inactivo é necessário introduzir o nome do utilizador ou o endereço de e-mail completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar aviso legal na página de carregamento de ligações públicas. (Mostrar apenas quando a lista de ficheiros estiver oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto será exibido na página de carregamento de ligações públicas quando a lista de ficheiros estiver oculta. ", - "Tips & tricks" : "Dicas e truques", - "This is particularly recommended when using the desktop client for file synchronisation." : "Isto é particularmente recomendado quando estiver a usar um cliente de desktop para sincronização de ficheiros.", - "How to do backups" : "Como fazer cópias de segurança", - "Performance tuning" : "Ajuste de desempenho", - "Improving the config.php" : "Melhorar o config.php", - "Theming" : "Temas", - "Check the security of your Nextcloud over our security scan" : "Verifique a segurança da sua Nextcloud através da nossa verificação de segurança", - "Hardening and security guidance" : "Orientações de proteção e segurança", "Personal" : "Pessoal", "Administration" : "Administração", "Profile picture" : "Foto do perfil", @@ -339,15 +325,26 @@ OC.L10N.register( "Verifying" : "A verificar", "Personal info" : "Informação pessoal", "Sync clients" : "Sincronizar clientes", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Só-de-Leitura foi ativada. Isto evita definir algumas configurações através da interface da Web. Além disso, o ficheiro precisa de ser definido gravável manualmente para cada atualização.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isto é provavelmente causado por uma cache/acelerador como o Zend OPcache or eAcelerador.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "A versão de %1$s instalada é inferior a %2$s, por motivos de estabilidade e desempenho recomendamos que actualize %1$s para uma versão mais recente.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "O módulo PHP 'fileinfo' está ausente. Recomendamos vivamente que active este módulo para obter melhores resultados com detecção de tipo MIME.", + "System locale can not be set to a one which supports UTF-8." : "Não é possível definir a internacionalização do sistema para um que suporte o UTF-8.", "This means that there might be problems with certain characters in file names." : "Isto significa que podem haver problemas com alguns caracteres nos nomes dos ficheiros.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomendamos vivamente que instale os pacotes necessários no seu sistema para suportar um dos seguintes locais: %s.", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar a tarefa automática via CLI. Ocorreram os seguintes erros técnicos:", "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor confira os <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guias de instalação ↗</a>, e procure por algum erro ou aviso nos <a href=\"%s\">logs</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registada num serviço webcron para chamar cron-php a cada 15 minutos através de http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para esta execução é necessária a extensão PHP posix. Veja {iniciodaligação}documentação PHP{fimdaligação} para mais detalhes.", + "Tips & tricks" : "Dicas e truques", + "This is particularly recommended when using the desktop client for file synchronisation." : "Isto é particularmente recomendado quando estiver a usar um cliente de desktop para sincronização de ficheiros.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar para outra base de dados use a ferramenta da linha de comandos: 'occ db:convert-type', ou veja a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação ↗</a>.", + "How to do backups" : "Como fazer cópias de segurança", + "Performance tuning" : "Ajuste de desempenho", + "Improving the config.php" : "Melhorar o config.php", + "Theming" : "Temas", + "Check the security of your Nextcloud over our security scan" : "Verifique a segurança da sua Nextcloud através da nossa verificação de segurança", + "Hardening and security guidance" : "Orientações de proteção e segurança", "View in store" : "Ver na loja", "Limit to groups" : "Limitado a grupos", "This app has an update available." : "Esta aplicação tem uma atualização disponível.", @@ -398,6 +395,9 @@ OC.L10N.register( "Default" : "Padrão", "App up to date" : "App actualizada", "Could not remove app" : "Não foi possível remover a app", - "{size} used" : "{size} utilizado" + "{size} used" : "{size} utilizado", + "This means that there might be problems with certain characters in filenames." : "Isto significa que podem haver problemas com alguns caracteres no nome dos ficheiros.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "É vivamente aconselhável que instale os pacotes necessários no seu sistema para suportar um dos nossos locais: %s.", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Não foi possível executar a tarefa agendada via CLI. Os seguintes erros técnicos surgiram:" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/pt_PT.json b/settings/l10n/pt_PT.json index 686f06fc910..5dd8f95ffeb 100644 --- a/settings/l10n/pt_PT.json +++ b/settings/l10n/pt_PT.json @@ -76,12 +76,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "É necessário migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova.", "Start migration" : "Iniciar migração", "Security & setup warnings" : "Avisos de configuração e segurança", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Só-de-Leitura foi ativada. Isto evita definir algumas configurações através da interface da Web. Além disso, o ficheiro precisa de ser definido gravável manualmente para cada atualização.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isto é provavelmente causado por uma cache/acelerador como o Zend OPcache or eAcelerador.", - "System locale can not be set to a one which supports UTF-8." : "Não é possível definir a internacionalização do sistema para um que suporte o UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Isto significa que podem haver problemas com alguns caracteres no nome dos ficheiros.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "É vivamente aconselhável que instale os pacotes necessários no seu sistema para suportar um dos nossos locais: %s.", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Não foi possível executar a tarefa agendada via CLI. Os seguintes erros técnicos surgiram:", "All checks passed." : "Todas as verificações passaram.", "Version" : "Versão", "Background jobs" : "Tarefas de segundo plano", @@ -113,14 +107,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "permitir completar automáticamente nome do utilizador no diálogo de partilha. Se isto estiver inactivo é necessário introduzir o nome do utilizador ou o endereço de e-mail completo. ", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar aviso legal na página de carregamento de ligações públicas. (Mostrar apenas quando a lista de ficheiros estiver oculta.)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto será exibido na página de carregamento de ligações públicas quando a lista de ficheiros estiver oculta. ", - "Tips & tricks" : "Dicas e truques", - "This is particularly recommended when using the desktop client for file synchronisation." : "Isto é particularmente recomendado quando estiver a usar um cliente de desktop para sincronização de ficheiros.", - "How to do backups" : "Como fazer cópias de segurança", - "Performance tuning" : "Ajuste de desempenho", - "Improving the config.php" : "Melhorar o config.php", - "Theming" : "Temas", - "Check the security of your Nextcloud over our security scan" : "Verifique a segurança da sua Nextcloud através da nossa verificação de segurança", - "Hardening and security guidance" : "Orientações de proteção e segurança", "Personal" : "Pessoal", "Administration" : "Administração", "Profile picture" : "Foto do perfil", @@ -337,15 +323,26 @@ "Verifying" : "A verificar", "Personal info" : "Informação pessoal", "Sync clients" : "Sincronizar clientes", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Só-de-Leitura foi ativada. Isto evita definir algumas configurações através da interface da Web. Além disso, o ficheiro precisa de ser definido gravável manualmente para cada atualização.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isto é provavelmente causado por uma cache/acelerador como o Zend OPcache or eAcelerador.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "A versão de %1$s instalada é inferior a %2$s, por motivos de estabilidade e desempenho recomendamos que actualize %1$s para uma versão mais recente.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "O módulo PHP 'fileinfo' está ausente. Recomendamos vivamente que active este módulo para obter melhores resultados com detecção de tipo MIME.", + "System locale can not be set to a one which supports UTF-8." : "Não é possível definir a internacionalização do sistema para um que suporte o UTF-8.", "This means that there might be problems with certain characters in file names." : "Isto significa que podem haver problemas com alguns caracteres nos nomes dos ficheiros.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomendamos vivamente que instale os pacotes necessários no seu sistema para suportar um dos seguintes locais: %s.", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar a tarefa automática via CLI. Ocorreram os seguintes erros técnicos:", "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor confira os <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guias de instalação ↗</a>, e procure por algum erro ou aviso nos <a href=\"%s\">logs</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registada num serviço webcron para chamar cron-php a cada 15 minutos através de http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para esta execução é necessária a extensão PHP posix. Veja {iniciodaligação}documentação PHP{fimdaligação} para mais detalhes.", + "Tips & tricks" : "Dicas e truques", + "This is particularly recommended when using the desktop client for file synchronisation." : "Isto é particularmente recomendado quando estiver a usar um cliente de desktop para sincronização de ficheiros.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar para outra base de dados use a ferramenta da linha de comandos: 'occ db:convert-type', ou veja a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação ↗</a>.", + "How to do backups" : "Como fazer cópias de segurança", + "Performance tuning" : "Ajuste de desempenho", + "Improving the config.php" : "Melhorar o config.php", + "Theming" : "Temas", + "Check the security of your Nextcloud over our security scan" : "Verifique a segurança da sua Nextcloud através da nossa verificação de segurança", + "Hardening and security guidance" : "Orientações de proteção e segurança", "View in store" : "Ver na loja", "Limit to groups" : "Limitado a grupos", "This app has an update available." : "Esta aplicação tem uma atualização disponível.", @@ -396,6 +393,9 @@ "Default" : "Padrão", "App up to date" : "App actualizada", "Could not remove app" : "Não foi possível remover a app", - "{size} used" : "{size} utilizado" + "{size} used" : "{size} utilizado", + "This means that there might be problems with certain characters in filenames." : "Isto significa que podem haver problemas com alguns caracteres no nome dos ficheiros.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "É vivamente aconselhável que instale os pacotes necessários no seu sistema para suportar um dos nossos locais: %s.", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Não foi possível executar a tarefa agendada via CLI. Os seguintes erros técnicos surgiram:" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/ro.js b/settings/l10n/ro.js index 61808c1afe7..8463e5ac378 100644 --- a/settings/l10n/ro.js +++ b/settings/l10n/ro.js @@ -72,8 +72,6 @@ OC.L10N.register( "Allow resharing" : "Permite repartajarea", "Allow sharing with groups" : "Permite partajarea cu grupuri", "Exclude groups from sharing" : "Exclude grupuri de la partajare", - "Tips & tricks" : "Tips & tricks", - "How to do backups" : "Cum să faci copii de rezervă", "Profile picture" : "Imagine de profil", "Upload new" : "Încarcă una nouă", "Select from Files" : "Selectează din fișiere", @@ -196,6 +194,8 @@ OC.L10N.register( "Error creating user: {message}" : "Eroare la crearea utilizatorului: {message}", "A valid password must be provided" : "Trebuie să furnizaţi o parolă validă", "A valid email must be provided" : "Trebuie furnizată o adresă email validă", + "Tips & tricks" : "Tips & tricks", + "How to do backups" : "Cum să faci copii de rezervă", "This app has an update available." : "Este disponibilă o actualizare pentru această aplicație.", "by %s" : "de %s", "%s-licensed" : "%s-licențiat", diff --git a/settings/l10n/ro.json b/settings/l10n/ro.json index 2b852fd60b0..9d69af0af1b 100644 --- a/settings/l10n/ro.json +++ b/settings/l10n/ro.json @@ -70,8 +70,6 @@ "Allow resharing" : "Permite repartajarea", "Allow sharing with groups" : "Permite partajarea cu grupuri", "Exclude groups from sharing" : "Exclude grupuri de la partajare", - "Tips & tricks" : "Tips & tricks", - "How to do backups" : "Cum să faci copii de rezervă", "Profile picture" : "Imagine de profil", "Upload new" : "Încarcă una nouă", "Select from Files" : "Selectează din fișiere", @@ -194,6 +192,8 @@ "Error creating user: {message}" : "Eroare la crearea utilizatorului: {message}", "A valid password must be provided" : "Trebuie să furnizaţi o parolă validă", "A valid email must be provided" : "Trebuie furnizată o adresă email validă", + "Tips & tricks" : "Tips & tricks", + "How to do backups" : "Cum să faci copii de rezervă", "This app has an update available." : "Este disponibilă o actualizare pentru această aplicație.", "by %s" : "de %s", "%s-licensed" : "%s-licențiat", diff --git a/settings/l10n/ru.js b/settings/l10n/ru.js index 3e44c79f654..5175b99fbac 100644 --- a/settings/l10n/ru.js +++ b/settings/l10n/ru.js @@ -8,7 +8,10 @@ OC.L10N.register( "Developer documentation" : "Документация для разработчиков", "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Для этого приложения не указана минимальная поддерживаемая версия Nextcloud, в будущем это будет считаться ошибкой.", "This app cannot be installed because the following dependencies are not fulfilled:" : "Приложение не может быть установлено, следующие зависимости не удовлетворены:", + "-licensed" : "Лицензия ", + "Disable all" : "Отключить все", "Enable all" : "Включить все", + "Download and enable" : "Скачать и включить", "Enable" : "Включить", "The app will be downloaded from the app store" : "Приложение будет скачано из магазина приложений", "Settings" : "Настройки", @@ -35,6 +38,7 @@ OC.L10N.register( "Error: This app can not be enabled because it makes the server unstable" : "Ошибка: это приложение не может быть включено, так как оно сделает сервер нестабильным", "Error while enabling app" : "Ошибка включения приложения", "Your apps" : "Ваши приложения", + "Active apps" : "Активные приложения", "Disabled apps" : "Отключённые приложения", "Updates" : "Обновления", "App bundles" : "Пакеты приложений", @@ -97,25 +101,13 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Вам необходимо произвести конвертацию ключей шифрования из старого формата (ownCloud <= 8.0) в новый.", "Start migration" : "Запустить миграцию", "Security & setup warnings" : "Предупреждения безопасности и установки", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Для обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы помочь вам в этом, мы проводим некоторые автоматические проверки. Дополнительную информацию см. в разделе «Советы и рекомендации» и в документации.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP не настроен правильно для получения переменных системного окружения. Запрос getenv(\"PATH\") возвращает пустые результаты.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Пожалуйста прочитайте в<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> документации по установке</a>, раздел о конфигурации PHP и конфигурации PHP на вашем сервере, особенно при использовании php-fpm ", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Конфигурационный файл в режиме только для чтения. В связи с этим некоторые настройки веб-интерфейса невозможно изменить. Учтите, что для установки обновлений, вам потребуется самостоятельно разрешить запись в конфигурационный файл.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Очевидно, PHP настроен на вычищение блоков встроенной документации. Это сделает несколько центральных приложений недоступными.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Возможно это вызвано кешем/ускорителем вроде Zend OPcache или eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Ваша база данных не работает в режиме изоляции транзакций \"READ COMMITED\". Это может вызвать проблемы, если несколько действий выполняется одновременно.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s ниже установленной версии %2$s. Для улучшения стабильности и производительности рекомендуем обновиться до новой версии %1$s.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-модуль «fileinfo» отсутствует. Мы настоятельно рекомендуем включить этот модуль для улучшения определения типов (MIME-type) файлов.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Отключена блокировка передаваемых файлов, что может привести к состоянию гонки. Для предупреждения возможных проблем включите параметр «filelocking.enabled» в файле «config.php». Обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации ↗</a> для получения дополнительной информации.", - "System locale can not be set to a one which supports UTF-8." : "Невозможно установить системную локаль, поддерживающую UTF-8", - "This means that there might be problems with certain characters in filenames." : "Это значит, что могут быть проблемы с некоторыми символами в именах файлов.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Настойчиво рекомендуем установить требуемые пакеты для вашей системы для поддержки одного из следующих языков: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "В случае установки не в корне домена и использования системного планировщика Cron возможны проблемы с правильной генерацией URL. Для их избежания, установите настройке «overwrite.cli.url» в файле config.php значение, равное пути папки установки. (Предположительно: «%s».)", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Не удаётся запустить задачу планировщика с использованием CLI (интерфейса командной строки). Произошли следующие технические ошибки:", - "Last background job execution ran %s. Something seems wrong." : "Последняя фоновая задача была выполнена в %s. Похоже, что-то не в порядке.", - "Check the background job settings" : "Проверьте параметры выполнения фоновых задач", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Для обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы убедиться в этом, мы выполняем некоторые автоматические проверки. Для получения дополнительной информации обратитесь к соответствующему разделу документации.", "All checks passed." : "Все проверки пройдены.", + "There are some errors regarding your setup." : "Были обнаружены ошибки конфигурации.", + "There are some warnings regarding your setup." : "Предупреждения о текущей конфигурации.", + "Checking for system and security issues." : "Проверка системы и возможных уязвимостей.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Пожалуйста перечитайте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> инструкции по установке</a> и проверьте <a href=\"%s\"> логи </a> на предмет наличия ошибок и предупреждений", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Проверка безопасности вашей установки Nextcloud <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">нашим сканером ↗</a>.", "Version" : "Версия", "Background jobs" : "Фоновые задания", "Last job ran %s." : "Последнее задание выполнено %s.", @@ -147,17 +139,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Показывать текст об отказе на странице загрузки публичной ссылки (Показывать только когда список файлов скрыт)", "This text will be shown on the public link upload page when the file list is hidden." : "Этот текст будет показан при переходе по публичной ссылке на загрузку при скрытом списке файлов", "Default share permissions" : "Права общего доступа по умолчанию", - "Tips & tricks" : "Советы и трюки", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Для оптимальной настройки и использования доступно множество возможностей и параметров конфигурации. Вот несколько указателей для получения дополнительной информации.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "В качестве базы данных используется SQLite. Для больших установок мы рекомендуем переключиться на другую серверную базу данных.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Рекомендуется при синхронизации файлов с использованием клиента для ПК.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Для перехода на другую базу данных используйте команду: «occ db:convert-type» или обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации ↗</a>. ", - "How to do backups" : "Как сделать резервные копии", - "Performance tuning" : "Настройка производительности", - "Improving the config.php" : "Улучшение config.php", - "Theming" : "Темы оформления", - "Check the security of your Nextcloud over our security scan" : "Проверить безопасность вашего Nextcloud нашем сканером", - "Hardening and security guidance" : "Руководство по безопасности и защите", "Personal" : "Личное", "Administration" : "Администрирование", "Profile picture" : "Аватар", @@ -382,10 +363,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Для обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы убедиться в этом, мы выполняем некоторые автоматические проверки. Дополнительная информация содержится в разделе «Советы и рекомендации» и в документации.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Запрос PHP getenv(\"PATH\") возвращает пустые результаты, вероятно, PHP настроен неверно.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Обратитесь к <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документации по установке ↗</a> для получения информации по правильной настройке PHP, что особенно важно в случае использования php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Конфигурационный файл в режиме только для чтения. В связи с этим некоторые настройки веб-интерфейса невозможно изменить. Учтите, что для установки обновлений, вам потребуется самостоятельно разрешить запись в конфигурационный файл.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP настроен на вычищение блоков встроенной документации, что приведёт к невозможности использовать несколько основных приложений.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Возможно это вызвано кешем/ускорителем вроде Zend OPcache или eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Ваша база данных не работает в режиме изоляции транзакций \"READ COMMITED\". Это может вызвать проблемы, если несколько действий выполняется одновременно.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "Установленная версия %1$s меньше чем %2$s. По причинам стабильности и производительности рекомендуется обновить используемую версию %1$s.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Отсутствует модуль PHP «fileinfo». Настоятельно рекомендуется включить этот модуль для улучшения определения типов (MIME-type) файлов.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Отключена блокировка передаваемых файлов, что может привести к состоянию гонки. Для предупреждения возможных проблем включите параметр «filelocking.enabled» в файле «config.php». Обратитесь к <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документации ↗ </a> для получения дополнительной информации.", + "System locale can not be set to a one which supports UTF-8." : "Невозможно установить системную локаль, поддерживающую UTF-8", "This means that there might be problems with certain characters in file names." : "Это означает, что возможны проблемы с некоторыми символами в именах файлов.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Настоятельно рекомендуется установить требуемые системные пакеты для поддержки одного из следующих региональных стандартов: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "При установке сервера не в корневой каталог домена и использовании системного планировщика сron возможны проблемы, связанные с формированием неверных URL. Решением является присвоение параметру «overwrite.cli.url» в файле «config.php» значения, равного полному интернет-адресу установки сервера (Предположительно: «%s».)", @@ -393,7 +378,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Ещё раз внимательно прочитайте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">руководство по установке ↗</a> и проверьте <a href=\"%s\">журнал</a> на наличие ошибок.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "«cron.php» зарегистрирован в службе webcron и будет вызываться каждые 15 минут по HTTP.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Для запуска требуется расширение POSIX для PHP. Дополнительные сведения содержатся в {linkstart}документации по PHP{linkend}.", + "Tips & tricks" : "Советы и трюки", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Для оптимальной настройки и использования доступно множество возможностей и параметров конфигурации. Вот несколько указателей для получения дополнительной информации.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "В качестве базы данных используется SQLite. Для больших установок мы рекомендуем переключиться на другую серверную базу данных.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Рекомендуется при синхронизации файлов с использованием клиента для ПК.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Для перехода на другую базу данных используйте команду: «occ db:convert-type» или обратитесь к <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документации ↗</a>. ", + "How to do backups" : "Как сделать резервные копии", + "Performance tuning" : "Настройка производительности", + "Improving the config.php" : "Улучшение config.php", + "Theming" : "Темы оформления", + "Check the security of your Nextcloud over our security scan" : "Проверить безопасность вашего Nextcloud нашем сканером", + "Hardening and security guidance" : "Руководство по безопасности и защите", "View in store" : "Посмотреть в магазине приложений", "Limit to groups" : "Ограничить группами", "This app has an update available." : "Для этого приложения доступно обновление.", @@ -446,6 +441,18 @@ OC.L10N.register( "Updating …" : "Обновление…", "Could not update app" : "Не удалось обновить приложение", "Could not remove app" : "Не удалось удалить приложение.", - "{size} used" : "использовано {size}" + "{size} used" : "использовано {size}", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Для обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы помочь вам в этом, мы проводим некоторые автоматические проверки. Дополнительную информацию см. в разделе «Советы и рекомендации» и в документации.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP не настроен правильно для получения переменных системного окружения. Запрос getenv(\"PATH\") возвращает пустые результаты.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Пожалуйста прочитайте в<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> документации по установке</a>, раздел о конфигурации PHP и конфигурации PHP на вашем сервере, особенно при использовании php-fpm ", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Очевидно, PHP настроен на вычищение блоков встроенной документации. Это сделает несколько центральных приложений недоступными.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s ниже установленной версии %2$s. Для улучшения стабильности и производительности рекомендуем обновиться до новой версии %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-модуль «fileinfo» отсутствует. Мы настоятельно рекомендуем включить этот модуль для улучшения определения типов (MIME-type) файлов.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Отключена блокировка передаваемых файлов, что может привести к состоянию гонки. Для предупреждения возможных проблем включите параметр «filelocking.enabled» в файле «config.php». Обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации ↗</a> для получения дополнительной информации.", + "This means that there might be problems with certain characters in filenames." : "Это значит, что могут быть проблемы с некоторыми символами в именах файлов.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Настойчиво рекомендуем установить требуемые пакеты для вашей системы для поддержки одного из следующих языков: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "В случае установки не в корне домена и использования системного планировщика Cron возможны проблемы с правильной генерацией URL. Для их избежания, установите настройке «overwrite.cli.url» в файле config.php значение, равное пути папки установки. (Предположительно: «%s».)", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Не удаётся запустить задачу планировщика с использованием CLI (интерфейса командной строки). Произошли следующие технические ошибки:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Для перехода на другую базу данных используйте команду: «occ db:convert-type» или обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации ↗</a>. " }, "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); diff --git a/settings/l10n/ru.json b/settings/l10n/ru.json index 8cc684efe10..0b86f07ad36 100644 --- a/settings/l10n/ru.json +++ b/settings/l10n/ru.json @@ -6,7 +6,10 @@ "Developer documentation" : "Документация для разработчиков", "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Для этого приложения не указана минимальная поддерживаемая версия Nextcloud, в будущем это будет считаться ошибкой.", "This app cannot be installed because the following dependencies are not fulfilled:" : "Приложение не может быть установлено, следующие зависимости не удовлетворены:", + "-licensed" : "Лицензия ", + "Disable all" : "Отключить все", "Enable all" : "Включить все", + "Download and enable" : "Скачать и включить", "Enable" : "Включить", "The app will be downloaded from the app store" : "Приложение будет скачано из магазина приложений", "Settings" : "Настройки", @@ -33,6 +36,7 @@ "Error: This app can not be enabled because it makes the server unstable" : "Ошибка: это приложение не может быть включено, так как оно сделает сервер нестабильным", "Error while enabling app" : "Ошибка включения приложения", "Your apps" : "Ваши приложения", + "Active apps" : "Активные приложения", "Disabled apps" : "Отключённые приложения", "Updates" : "Обновления", "App bundles" : "Пакеты приложений", @@ -95,25 +99,13 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Вам необходимо произвести конвертацию ключей шифрования из старого формата (ownCloud <= 8.0) в новый.", "Start migration" : "Запустить миграцию", "Security & setup warnings" : "Предупреждения безопасности и установки", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Для обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы помочь вам в этом, мы проводим некоторые автоматические проверки. Дополнительную информацию см. в разделе «Советы и рекомендации» и в документации.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP не настроен правильно для получения переменных системного окружения. Запрос getenv(\"PATH\") возвращает пустые результаты.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Пожалуйста прочитайте в<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> документации по установке</a>, раздел о конфигурации PHP и конфигурации PHP на вашем сервере, особенно при использовании php-fpm ", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Конфигурационный файл в режиме только для чтения. В связи с этим некоторые настройки веб-интерфейса невозможно изменить. Учтите, что для установки обновлений, вам потребуется самостоятельно разрешить запись в конфигурационный файл.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Очевидно, PHP настроен на вычищение блоков встроенной документации. Это сделает несколько центральных приложений недоступными.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Возможно это вызвано кешем/ускорителем вроде Zend OPcache или eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Ваша база данных не работает в режиме изоляции транзакций \"READ COMMITED\". Это может вызвать проблемы, если несколько действий выполняется одновременно.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s ниже установленной версии %2$s. Для улучшения стабильности и производительности рекомендуем обновиться до новой версии %1$s.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-модуль «fileinfo» отсутствует. Мы настоятельно рекомендуем включить этот модуль для улучшения определения типов (MIME-type) файлов.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Отключена блокировка передаваемых файлов, что может привести к состоянию гонки. Для предупреждения возможных проблем включите параметр «filelocking.enabled» в файле «config.php». Обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации ↗</a> для получения дополнительной информации.", - "System locale can not be set to a one which supports UTF-8." : "Невозможно установить системную локаль, поддерживающую UTF-8", - "This means that there might be problems with certain characters in filenames." : "Это значит, что могут быть проблемы с некоторыми символами в именах файлов.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Настойчиво рекомендуем установить требуемые пакеты для вашей системы для поддержки одного из следующих языков: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "В случае установки не в корне домена и использования системного планировщика Cron возможны проблемы с правильной генерацией URL. Для их избежания, установите настройке «overwrite.cli.url» в файле config.php значение, равное пути папки установки. (Предположительно: «%s».)", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Не удаётся запустить задачу планировщика с использованием CLI (интерфейса командной строки). Произошли следующие технические ошибки:", - "Last background job execution ran %s. Something seems wrong." : "Последняя фоновая задача была выполнена в %s. Похоже, что-то не в порядке.", - "Check the background job settings" : "Проверьте параметры выполнения фоновых задач", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Для обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы убедиться в этом, мы выполняем некоторые автоматические проверки. Для получения дополнительной информации обратитесь к соответствующему разделу документации.", "All checks passed." : "Все проверки пройдены.", + "There are some errors regarding your setup." : "Были обнаружены ошибки конфигурации.", + "There are some warnings regarding your setup." : "Предупреждения о текущей конфигурации.", + "Checking for system and security issues." : "Проверка системы и возможных уязвимостей.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Пожалуйста перечитайте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> инструкции по установке</a> и проверьте <a href=\"%s\"> логи </a> на предмет наличия ошибок и предупреждений", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Проверка безопасности вашей установки Nextcloud <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">нашим сканером ↗</a>.", "Version" : "Версия", "Background jobs" : "Фоновые задания", "Last job ran %s." : "Последнее задание выполнено %s.", @@ -145,17 +137,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Показывать текст об отказе на странице загрузки публичной ссылки (Показывать только когда список файлов скрыт)", "This text will be shown on the public link upload page when the file list is hidden." : "Этот текст будет показан при переходе по публичной ссылке на загрузку при скрытом списке файлов", "Default share permissions" : "Права общего доступа по умолчанию", - "Tips & tricks" : "Советы и трюки", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Для оптимальной настройки и использования доступно множество возможностей и параметров конфигурации. Вот несколько указателей для получения дополнительной информации.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "В качестве базы данных используется SQLite. Для больших установок мы рекомендуем переключиться на другую серверную базу данных.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Рекомендуется при синхронизации файлов с использованием клиента для ПК.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Для перехода на другую базу данных используйте команду: «occ db:convert-type» или обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации ↗</a>. ", - "How to do backups" : "Как сделать резервные копии", - "Performance tuning" : "Настройка производительности", - "Improving the config.php" : "Улучшение config.php", - "Theming" : "Темы оформления", - "Check the security of your Nextcloud over our security scan" : "Проверить безопасность вашего Nextcloud нашем сканером", - "Hardening and security guidance" : "Руководство по безопасности и защите", "Personal" : "Личное", "Administration" : "Администрирование", "Profile picture" : "Аватар", @@ -380,10 +361,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Для обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы убедиться в этом, мы выполняем некоторые автоматические проверки. Дополнительная информация содержится в разделе «Советы и рекомендации» и в документации.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Запрос PHP getenv(\"PATH\") возвращает пустые результаты, вероятно, PHP настроен неверно.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Обратитесь к <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документации по установке ↗</a> для получения информации по правильной настройке PHP, что особенно важно в случае использования php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Конфигурационный файл в режиме только для чтения. В связи с этим некоторые настройки веб-интерфейса невозможно изменить. Учтите, что для установки обновлений, вам потребуется самостоятельно разрешить запись в конфигурационный файл.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP настроен на вычищение блоков встроенной документации, что приведёт к невозможности использовать несколько основных приложений.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Возможно это вызвано кешем/ускорителем вроде Zend OPcache или eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Ваша база данных не работает в режиме изоляции транзакций \"READ COMMITED\". Это может вызвать проблемы, если несколько действий выполняется одновременно.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "Установленная версия %1$s меньше чем %2$s. По причинам стабильности и производительности рекомендуется обновить используемую версию %1$s.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Отсутствует модуль PHP «fileinfo». Настоятельно рекомендуется включить этот модуль для улучшения определения типов (MIME-type) файлов.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Отключена блокировка передаваемых файлов, что может привести к состоянию гонки. Для предупреждения возможных проблем включите параметр «filelocking.enabled» в файле «config.php». Обратитесь к <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документации ↗ </a> для получения дополнительной информации.", + "System locale can not be set to a one which supports UTF-8." : "Невозможно установить системную локаль, поддерживающую UTF-8", "This means that there might be problems with certain characters in file names." : "Это означает, что возможны проблемы с некоторыми символами в именах файлов.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Настоятельно рекомендуется установить требуемые системные пакеты для поддержки одного из следующих региональных стандартов: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "При установке сервера не в корневой каталог домена и использовании системного планировщика сron возможны проблемы, связанные с формированием неверных URL. Решением является присвоение параметру «overwrite.cli.url» в файле «config.php» значения, равного полному интернет-адресу установки сервера (Предположительно: «%s».)", @@ -391,7 +376,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Ещё раз внимательно прочитайте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">руководство по установке ↗</a> и проверьте <a href=\"%s\">журнал</a> на наличие ошибок.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "«cron.php» зарегистрирован в службе webcron и будет вызываться каждые 15 минут по HTTP.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Для запуска требуется расширение POSIX для PHP. Дополнительные сведения содержатся в {linkstart}документации по PHP{linkend}.", + "Tips & tricks" : "Советы и трюки", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Для оптимальной настройки и использования доступно множество возможностей и параметров конфигурации. Вот несколько указателей для получения дополнительной информации.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "В качестве базы данных используется SQLite. Для больших установок мы рекомендуем переключиться на другую серверную базу данных.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Рекомендуется при синхронизации файлов с использованием клиента для ПК.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Для перехода на другую базу данных используйте команду: «occ db:convert-type» или обратитесь к <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документации ↗</a>. ", + "How to do backups" : "Как сделать резервные копии", + "Performance tuning" : "Настройка производительности", + "Improving the config.php" : "Улучшение config.php", + "Theming" : "Темы оформления", + "Check the security of your Nextcloud over our security scan" : "Проверить безопасность вашего Nextcloud нашем сканером", + "Hardening and security guidance" : "Руководство по безопасности и защите", "View in store" : "Посмотреть в магазине приложений", "Limit to groups" : "Ограничить группами", "This app has an update available." : "Для этого приложения доступно обновление.", @@ -444,6 +439,18 @@ "Updating …" : "Обновление…", "Could not update app" : "Не удалось обновить приложение", "Could not remove app" : "Не удалось удалить приложение.", - "{size} used" : "использовано {size}" + "{size} used" : "использовано {size}", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Для обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы помочь вам в этом, мы проводим некоторые автоматические проверки. Дополнительную информацию см. в разделе «Советы и рекомендации» и в документации.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP не настроен правильно для получения переменных системного окружения. Запрос getenv(\"PATH\") возвращает пустые результаты.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Пожалуйста прочитайте в<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> документации по установке</a>, раздел о конфигурации PHP и конфигурации PHP на вашем сервере, особенно при использовании php-fpm ", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Очевидно, PHP настроен на вычищение блоков встроенной документации. Это сделает несколько центральных приложений недоступными.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s ниже установленной версии %2$s. Для улучшения стабильности и производительности рекомендуем обновиться до новой версии %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-модуль «fileinfo» отсутствует. Мы настоятельно рекомендуем включить этот модуль для улучшения определения типов (MIME-type) файлов.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Отключена блокировка передаваемых файлов, что может привести к состоянию гонки. Для предупреждения возможных проблем включите параметр «filelocking.enabled» в файле «config.php». Обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации ↗</a> для получения дополнительной информации.", + "This means that there might be problems with certain characters in filenames." : "Это значит, что могут быть проблемы с некоторыми символами в именах файлов.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Настойчиво рекомендуем установить требуемые пакеты для вашей системы для поддержки одного из следующих языков: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "В случае установки не в корне домена и использования системного планировщика Cron возможны проблемы с правильной генерацией URL. Для их избежания, установите настройке «overwrite.cli.url» в файле config.php значение, равное пути папки установки. (Предположительно: «%s».)", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Не удаётся запустить задачу планировщика с использованием CLI (интерфейса командной строки). Произошли следующие технические ошибки:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Для перехода на другую базу данных используйте команду: «occ db:convert-type» или обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации ↗</a>. " },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" }
\ No newline at end of file diff --git a/settings/l10n/sk.js b/settings/l10n/sk.js index 7fd33fbf499..03b13a4b772 100644 --- a/settings/l10n/sk.js +++ b/settings/l10n/sk.js @@ -75,16 +75,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musíte preniesť svoje šifrovacie kľúče zo starej verzie šifrovania (ownCloud <= 8.0) na novú.", "Start migration" : "Začať migráciu", "Security & setup warnings" : "Bezpečnosť a nastavenia upozornení", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Zdá sa že PHP nie je nastavené korektne na získanie premenných prostredia. Test s getenv(\"PATH\") vráti prázdnu odpoveď.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurácia je nastavená len na čítanie. Toto znemožňuje urobiť niektoré nastavenia prostredníctvom webového rozhrania. Okrem toho, súbor musí byť zapisovanie ručne povolené pre každú aktualizáciu.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je zjavne nastavené, aby odstraňovalo bloky vloženej dokumentácie. To zneprístupní niekoľko základných aplikácií.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "To je pravdepodobne spôsobené cache/akcelerátorom ako napr. Zend OPcache alebo eAccelerator.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Chýba PHP modul 'fileinfo'. Dôrazne doporučujeme ho povoliť pre dosiahnutie najlepších výsledkov zisťovania MIME-typu.", - "System locale can not be set to a one which supports UTF-8." : "Nie je možné nastaviť znakovú sadu, ktorá podporuje UTF-8.", - "This means that there might be problems with certain characters in filenames." : "To znamená, že problémom môžu byť niektoré znaky v názvoch súborov.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Dôrazne doporučujeme nainštalovať na váš systém požadované balíčky podporujúce jednu z nasledovných znakových sád: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Inštalácia mimo koreňový priečinok domény a používanie systémového príkazu cron môže spôsobiť problém s generovaním správnej URL. Pre zabránenie týmto chybám nastavte prosím správnu cestu v svojom config.php súbore pre hodnotu \"overwrite.cli.url\" (Doporučujeme: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nebolo možné spustiť úlohu na pozadí pomocou CLI. Toto sú chyby:", "All checks passed." : "Všetky kontroly prešli úspešne.", "Version" : "Verzia", "Background jobs" : "Úlohy na pozadí", @@ -114,15 +104,6 @@ OC.L10N.register( "Exclude groups from sharing" : "Nesprístupniť obsah skupinám", "These groups will still be able to receive shares, but not to initiate them." : "Tieto skupiny nebudú mocť sprístupňovať obsah, môžu však stále čítať sprístupnené súbory", "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Umožni automatické dopĺňanie používateľského mena pri sprístupňovaní. Ak je vypnuté, musí byť zadané celé meno alebo emailová adresa používateľa.", - "Tips & tricks" : "Tipy a triky", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Ako databáza je použitá SQLite. Pre veľké inštalácie odporúčame prejsť na inú databázu.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Toto odporúčame najmä pri používaní klientských aplikácií na synchronizáciu s desktopom.", - "How to do backups" : "Ako vytvárať zálohy", - "Performance tuning" : "Ladenie výkonu", - "Improving the config.php" : "Zlepšenie config.php", - "Theming" : "Vzhľady tém", - "Check the security of your Nextcloud over our security scan" : "Skontrolujte bezpečnosť Vášho Nextcloud-u s pomocou bezpečnostného scan-u", - "Hardening and security guidance" : "Sprievodca vylepšením bezpečnosti", "Personal" : "Osobné", "Administration" : "Administrácia", "Profile picture" : "Avatar", @@ -339,7 +320,19 @@ OC.L10N.register( "Personal info" : "Osobné informácie", "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Z hľadiska bezpečnosti a výkonu Vašej inštalácie je dôležité, že všetko je správne nastavené. Robíme automatickú kontrolu, ktorá Vám s tým pomáha. Pre ďalšie informácie nahliadnite do sekcie Tipy a triky a do dokumentácie.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP nie je správne nastavené pre zobrazovanie systémových premenných. Príkaz getenv(\"PATH\") vracia iba prázdnu odpoveď.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurácia je nastavená len na čítanie. Toto znemožňuje urobiť niektoré nastavenia prostredníctvom webového rozhrania. Okrem toho, súbor musí byť zapisovanie ručne povolené pre každú aktualizáciu.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "To je pravdepodobne spôsobené cache/akcelerátorom ako napr. Zend OPcache alebo eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Nie je možné nastaviť znakovú sadu, ktorá podporuje UTF-8.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je zaregistrovaná v službe WebCron a zavolá cron.php každých 15 minút cez http.", + "Tips & tricks" : "Tipy a triky", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Ako databáza je použitá SQLite. Pre veľké inštalácie odporúčame prejsť na inú databázu.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Toto odporúčame najmä pri používaní klientských aplikácií na synchronizáciu s desktopom.", + "How to do backups" : "Ako vytvárať zálohy", + "Performance tuning" : "Ladenie výkonu", + "Improving the config.php" : "Zlepšenie config.php", + "Theming" : "Vzhľady tém", + "Check the security of your Nextcloud over our security scan" : "Skontrolujte bezpečnosť Vášho Nextcloud-u s pomocou bezpečnostného scan-u", + "Hardening and security guidance" : "Sprievodca vylepšením bezpečnosti", "View in store" : "Zobraz v obchode", "Limit to groups" : "Povoľ len pre skupiny", "This app has an update available." : "Pre túto aplikáciu je dostupná aktualizácia.", @@ -388,6 +381,13 @@ OC.L10N.register( "Updating …" : "Aktualizuje sa...", "Could not update app" : "Nemožno aktualizovať aplikáciu.", "Could not remove app" : "Aplikáciu nie je možné zmazať", - "{size} used" : "{size} použité" + "{size} used" : "{size} použité", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Zdá sa že PHP nie je nastavené korektne na získanie premenných prostredia. Test s getenv(\"PATH\") vráti prázdnu odpoveď.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je zjavne nastavené, aby odstraňovalo bloky vloženej dokumentácie. To zneprístupní niekoľko základných aplikácií.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Chýba PHP modul 'fileinfo'. Dôrazne doporučujeme ho povoliť pre dosiahnutie najlepších výsledkov zisťovania MIME-typu.", + "This means that there might be problems with certain characters in filenames." : "To znamená, že problémom môžu byť niektoré znaky v názvoch súborov.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Dôrazne doporučujeme nainštalovať na váš systém požadované balíčky podporujúce jednu z nasledovných znakových sád: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Inštalácia mimo koreňový priečinok domény a používanie systémového príkazu cron môže spôsobiť problém s generovaním správnej URL. Pre zabránenie týmto chybám nastavte prosím správnu cestu v svojom config.php súbore pre hodnotu \"overwrite.cli.url\" (Doporučujeme: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nebolo možné spustiť úlohu na pozadí pomocou CLI. Toto sú chyby:" }, "nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/settings/l10n/sk.json b/settings/l10n/sk.json index ce9af1824cc..14986208c24 100644 --- a/settings/l10n/sk.json +++ b/settings/l10n/sk.json @@ -73,16 +73,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musíte preniesť svoje šifrovacie kľúče zo starej verzie šifrovania (ownCloud <= 8.0) na novú.", "Start migration" : "Začať migráciu", "Security & setup warnings" : "Bezpečnosť a nastavenia upozornení", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Zdá sa že PHP nie je nastavené korektne na získanie premenných prostredia. Test s getenv(\"PATH\") vráti prázdnu odpoveď.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurácia je nastavená len na čítanie. Toto znemožňuje urobiť niektoré nastavenia prostredníctvom webového rozhrania. Okrem toho, súbor musí byť zapisovanie ručne povolené pre každú aktualizáciu.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je zjavne nastavené, aby odstraňovalo bloky vloženej dokumentácie. To zneprístupní niekoľko základných aplikácií.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "To je pravdepodobne spôsobené cache/akcelerátorom ako napr. Zend OPcache alebo eAccelerator.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Chýba PHP modul 'fileinfo'. Dôrazne doporučujeme ho povoliť pre dosiahnutie najlepších výsledkov zisťovania MIME-typu.", - "System locale can not be set to a one which supports UTF-8." : "Nie je možné nastaviť znakovú sadu, ktorá podporuje UTF-8.", - "This means that there might be problems with certain characters in filenames." : "To znamená, že problémom môžu byť niektoré znaky v názvoch súborov.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Dôrazne doporučujeme nainštalovať na váš systém požadované balíčky podporujúce jednu z nasledovných znakových sád: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Inštalácia mimo koreňový priečinok domény a používanie systémového príkazu cron môže spôsobiť problém s generovaním správnej URL. Pre zabránenie týmto chybám nastavte prosím správnu cestu v svojom config.php súbore pre hodnotu \"overwrite.cli.url\" (Doporučujeme: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nebolo možné spustiť úlohu na pozadí pomocou CLI. Toto sú chyby:", "All checks passed." : "Všetky kontroly prešli úspešne.", "Version" : "Verzia", "Background jobs" : "Úlohy na pozadí", @@ -112,15 +102,6 @@ "Exclude groups from sharing" : "Nesprístupniť obsah skupinám", "These groups will still be able to receive shares, but not to initiate them." : "Tieto skupiny nebudú mocť sprístupňovať obsah, môžu však stále čítať sprístupnené súbory", "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Umožni automatické dopĺňanie používateľského mena pri sprístupňovaní. Ak je vypnuté, musí byť zadané celé meno alebo emailová adresa používateľa.", - "Tips & tricks" : "Tipy a triky", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Ako databáza je použitá SQLite. Pre veľké inštalácie odporúčame prejsť na inú databázu.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Toto odporúčame najmä pri používaní klientských aplikácií na synchronizáciu s desktopom.", - "How to do backups" : "Ako vytvárať zálohy", - "Performance tuning" : "Ladenie výkonu", - "Improving the config.php" : "Zlepšenie config.php", - "Theming" : "Vzhľady tém", - "Check the security of your Nextcloud over our security scan" : "Skontrolujte bezpečnosť Vášho Nextcloud-u s pomocou bezpečnostného scan-u", - "Hardening and security guidance" : "Sprievodca vylepšením bezpečnosti", "Personal" : "Osobné", "Administration" : "Administrácia", "Profile picture" : "Avatar", @@ -337,7 +318,19 @@ "Personal info" : "Osobné informácie", "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Z hľadiska bezpečnosti a výkonu Vašej inštalácie je dôležité, že všetko je správne nastavené. Robíme automatickú kontrolu, ktorá Vám s tým pomáha. Pre ďalšie informácie nahliadnite do sekcie Tipy a triky a do dokumentácie.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP nie je správne nastavené pre zobrazovanie systémových premenných. Príkaz getenv(\"PATH\") vracia iba prázdnu odpoveď.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurácia je nastavená len na čítanie. Toto znemožňuje urobiť niektoré nastavenia prostredníctvom webového rozhrania. Okrem toho, súbor musí byť zapisovanie ručne povolené pre každú aktualizáciu.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "To je pravdepodobne spôsobené cache/akcelerátorom ako napr. Zend OPcache alebo eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Nie je možné nastaviť znakovú sadu, ktorá podporuje UTF-8.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je zaregistrovaná v službe WebCron a zavolá cron.php každých 15 minút cez http.", + "Tips & tricks" : "Tipy a triky", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Ako databáza je použitá SQLite. Pre veľké inštalácie odporúčame prejsť na inú databázu.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Toto odporúčame najmä pri používaní klientských aplikácií na synchronizáciu s desktopom.", + "How to do backups" : "Ako vytvárať zálohy", + "Performance tuning" : "Ladenie výkonu", + "Improving the config.php" : "Zlepšenie config.php", + "Theming" : "Vzhľady tém", + "Check the security of your Nextcloud over our security scan" : "Skontrolujte bezpečnosť Vášho Nextcloud-u s pomocou bezpečnostného scan-u", + "Hardening and security guidance" : "Sprievodca vylepšením bezpečnosti", "View in store" : "Zobraz v obchode", "Limit to groups" : "Povoľ len pre skupiny", "This app has an update available." : "Pre túto aplikáciu je dostupná aktualizácia.", @@ -386,6 +379,13 @@ "Updating …" : "Aktualizuje sa...", "Could not update app" : "Nemožno aktualizovať aplikáciu.", "Could not remove app" : "Aplikáciu nie je možné zmazať", - "{size} used" : "{size} použité" + "{size} used" : "{size} použité", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Zdá sa že PHP nie je nastavené korektne na získanie premenných prostredia. Test s getenv(\"PATH\") vráti prázdnu odpoveď.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je zjavne nastavené, aby odstraňovalo bloky vloženej dokumentácie. To zneprístupní niekoľko základných aplikácií.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Chýba PHP modul 'fileinfo'. Dôrazne doporučujeme ho povoliť pre dosiahnutie najlepších výsledkov zisťovania MIME-typu.", + "This means that there might be problems with certain characters in filenames." : "To znamená, že problémom môžu byť niektoré znaky v názvoch súborov.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Dôrazne doporučujeme nainštalovať na váš systém požadované balíčky podporujúce jednu z nasledovných znakových sád: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Inštalácia mimo koreňový priečinok domény a používanie systémového príkazu cron môže spôsobiť problém s generovaním správnej URL. Pre zabránenie týmto chybám nastavte prosím správnu cestu v svojom config.php súbore pre hodnotu \"overwrite.cli.url\" (Doporučujeme: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nebolo možné spustiť úlohu na pozadí pomocou CLI. Toto sú chyby:" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);" }
\ No newline at end of file diff --git a/settings/l10n/sl.js b/settings/l10n/sl.js index 3538b5abb94..d18886c2197 100644 --- a/settings/l10n/sl.js +++ b/settings/l10n/sl.js @@ -56,8 +56,6 @@ OC.L10N.register( "Select default encryption module:" : "Izbor privzetega modula za šifriranje:", "Start migration" : "Začni selitev", "Security & setup warnings" : "Varnost in namestitvena opozorila", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Napako je najverjetneje povzročil predpomnilnik ali pospeševalnik, kot sta Zend OPcache ali eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Sistemskih jezikovnih nastavitev ni mogoče nastaviti na možnost, ki podpira nabor UTF-8.", "All checks passed." : "Vsa preverjanja so uspešno zaključena.", "Version" : "Različica", "Execute one task with each page loaded" : "Izvedi eno nalogo z vsako naloženo stranjo.", @@ -75,12 +73,6 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "Uporabnikom dovoli omogočanje souporabe le znotraj njihove skupine", "Exclude groups from sharing" : "Izloči skupine iz souporabe", "These groups will still be able to receive shares, but not to initiate them." : "Te skupine lahko sprejemajo mape v souporabo, ne morejo pa souporabe dovoliti", - "Tips & tricks" : "Nasveti in triki", - "How to do backups" : "Kako ustvariti varnostne kopije", - "Performance tuning" : "Prilagajanje delovanja", - "Improving the config.php" : "Izboljšave v config.php", - "Theming" : "Teme", - "Hardening and security guidance" : "Varnost in varnostni napotki", "Profile picture" : "Slika profila", "Upload new" : "Pošlji novo", "Select from Files" : "Izbor iz datotek", @@ -173,6 +165,14 @@ OC.L10N.register( "Error creating user: {message}" : "Napaka ustvarjanja uporabnika: {message}", "A valid password must be provided" : "Navedeno mora biti veljavno geslo", "A valid email must be provided" : "Naveden mora biti veljaven naslov elektronske pošte.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Napako je najverjetneje povzročil predpomnilnik ali pospeševalnik, kot sta Zend OPcache ali eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Sistemskih jezikovnih nastavitev ni mogoče nastaviti na možnost, ki podpira nabor UTF-8.", + "Tips & tricks" : "Nasveti in triki", + "How to do backups" : "Kako ustvariti varnostne kopije", + "Performance tuning" : "Prilagajanje delovanja", + "Improving the config.php" : "Izboljšave v config.php", + "Theming" : "Teme", + "Hardening and security guidance" : "Varnost in varnostni napotki", "This app has an update available." : "Za program so na voljo posodobitve.", "%s-licensed" : "dovoljenje-%s", "Documentation:" : "Dokumentacija:", diff --git a/settings/l10n/sl.json b/settings/l10n/sl.json index 369d35081dc..f180a703f41 100644 --- a/settings/l10n/sl.json +++ b/settings/l10n/sl.json @@ -54,8 +54,6 @@ "Select default encryption module:" : "Izbor privzetega modula za šifriranje:", "Start migration" : "Začni selitev", "Security & setup warnings" : "Varnost in namestitvena opozorila", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Napako je najverjetneje povzročil predpomnilnik ali pospeševalnik, kot sta Zend OPcache ali eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Sistemskih jezikovnih nastavitev ni mogoče nastaviti na možnost, ki podpira nabor UTF-8.", "All checks passed." : "Vsa preverjanja so uspešno zaključena.", "Version" : "Različica", "Execute one task with each page loaded" : "Izvedi eno nalogo z vsako naloženo stranjo.", @@ -73,12 +71,6 @@ "Restrict users to only share with users in their groups" : "Uporabnikom dovoli omogočanje souporabe le znotraj njihove skupine", "Exclude groups from sharing" : "Izloči skupine iz souporabe", "These groups will still be able to receive shares, but not to initiate them." : "Te skupine lahko sprejemajo mape v souporabo, ne morejo pa souporabe dovoliti", - "Tips & tricks" : "Nasveti in triki", - "How to do backups" : "Kako ustvariti varnostne kopije", - "Performance tuning" : "Prilagajanje delovanja", - "Improving the config.php" : "Izboljšave v config.php", - "Theming" : "Teme", - "Hardening and security guidance" : "Varnost in varnostni napotki", "Profile picture" : "Slika profila", "Upload new" : "Pošlji novo", "Select from Files" : "Izbor iz datotek", @@ -171,6 +163,14 @@ "Error creating user: {message}" : "Napaka ustvarjanja uporabnika: {message}", "A valid password must be provided" : "Navedeno mora biti veljavno geslo", "A valid email must be provided" : "Naveden mora biti veljaven naslov elektronske pošte.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Napako je najverjetneje povzročil predpomnilnik ali pospeševalnik, kot sta Zend OPcache ali eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Sistemskih jezikovnih nastavitev ni mogoče nastaviti na možnost, ki podpira nabor UTF-8.", + "Tips & tricks" : "Nasveti in triki", + "How to do backups" : "Kako ustvariti varnostne kopije", + "Performance tuning" : "Prilagajanje delovanja", + "Improving the config.php" : "Izboljšave v config.php", + "Theming" : "Teme", + "Hardening and security guidance" : "Varnost in varnostni napotki", "This app has an update available." : "Za program so na voljo posodobitve.", "%s-licensed" : "dovoljenje-%s", "Documentation:" : "Dokumentacija:", diff --git a/settings/l10n/sq.js b/settings/l10n/sq.js index a7b4a98ae26..fcf9f5c0b71 100644 --- a/settings/l10n/sq.js +++ b/settings/l10n/sq.js @@ -75,18 +75,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu.", "Start migration" : "Fillo migrimin", "Security & setup warnings" : "Sinjalizime sigurie & rregullimi", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP-ja nuk duket të jetë ngritur si duhet për të kërkuar ndryshore mjedisi sistemi. Testi me getenv(\"PATH\") kthen vetëm një përgjigje të zbrazët.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Rregullimi Vetëm-Lexim u aktivizua. Kjo parandalon rregullimin e disa parametrave përmes ndërfaqes web. Më tej, për çdo përditësim kartela lyp të kalohet dorazi si e shkrueshme.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Mesa duket PHP është ngritur për të zhveshur blloqet e inline doc. Kjo do të bëjë disa aplikacione bazë të paaksesueshme.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Kjo ka gjasa të jetë shkaktuar nga një fshehtinë/përshpejtues i tillë si Zend OPcache ose eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Baza juaj e të dhënave nuk ekzekutohet me nivelin \"READ COMMITED\" e izolimit për ndërveprimet. Kjo mund të shkaktojë probleme, kur kryhen paralelisht disa veprime njëherësh.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s versioni i mëposhtëm %2$sështë instaluar, për arsye qëndrueshmërie dhe performance është e rekomanduar të përditësohet në një version më të ri %1$s.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Moduli PHP 'fileinfo' mungon. Ne ju rekomandojmë që të mundësohet ky modul për të marrë rezultatet më të mira me zbulimin e llojit MIME.", - "System locale can not be set to a one which supports UTF-8." : "Si vendore sistemi nuk mund të caktohet një që mbulon UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Kjo do të thotë që mund të ketë probleme me disa karaktere në emrat e skedarëve.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Propozohrt që të instaloni paketat e kërkuara në sistemin tuaj për të mbështetur një nga lokacionet e mëposhtme: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Nëse instalimi juaj nuk është bërë në rrënjë të përkatësisë dhe përdor cron sistemi, mund të ketë probleme me prodhimin e URL-së. Që të shmangen këto probleme, ju lutemi, jepini mundësisë \"overwrite.cli.url\" te kartela juaj config.php vlerën e shtegut webroot të instalimit tuaj (E këshillueshme: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nuk ishte e mundur që të ekzekutohej puna cron nëpërmjet CLI. Gabimet teknike në vijim janë shfaqur :", "All checks passed." : "I kaloi krejt kontrollet.", "Version" : "Version", "Background jobs" : "Punët në background", @@ -117,16 +105,6 @@ OC.L10N.register( "These groups will still be able to receive shares, but not to initiate them." : "Këto grupe prapë do të jenë në gjendje të marrin ndarje nga të tjerët, por jo të fillojnë të tilla.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Shfaqni tekstin e mospranimit në linkun publik të faqes së ngarkuar. (Shfaqet vetëm kur lista e skedarit është e fshehur.)", "This text will be shown on the public link upload page when the file list is hidden." : "Ky tekst do të shfaqet në linkun publik të faqes së ngarkuar kur lista e skedarit të jetë e fshehur.", - "Tips & tricks" : "Ndihmëza & rrengje", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Ekzistojnë shumë funksione dhe çelësa të konfigurimit që janë në dispozicion për të përshtatur dhe përdorur në mënyrë optimale këtë shembull. Këtu janë disa udhëzues për më shumë informacion.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite po përdoret si bazë të dhënash e programit klient. Për instalime më të ngarkuara, këshillojmë të kalohet në një program tjetër klient baze të dhënash.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Kjo është veçanërisht e rekomanduar gjatë përdorimit të desktopit të klientit për sinkronizimin skedari. ", - "How to do backups" : "Si të bëhen kopjeruajtje", - "Performance tuning" : "Përimtime performance", - "Improving the config.php" : "Si të përmirësohet config.php", - "Theming" : "Ndryshim teme grafike", - "Check the security of your Nextcloud over our security scan" : "Kontrolloni sigurinë e Nextcloud tuaj mbi skanimin tonë të sigurisë", - "Hardening and security guidance" : "Udhëzime për forcim dhe siguri", "Profile picture" : "Foto profili", "Upload new" : "Ngarko të re", "Select from Files" : "Përzgjidhni prej Kartelash", @@ -335,6 +313,20 @@ OC.L10N.register( "A valid password must be provided" : "Duhet dhënë një fjalëkalim i vlefshëm", "A valid email must be provided" : "Duhet dhënë një email i vlefshëm", "__language_name__" : "Shqip", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Rregullimi Vetëm-Lexim u aktivizua. Kjo parandalon rregullimin e disa parametrave përmes ndërfaqes web. Më tej, për çdo përditësim kartela lyp të kalohet dorazi si e shkrueshme.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Kjo ka gjasa të jetë shkaktuar nga një fshehtinë/përshpejtues i tillë si Zend OPcache ose eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Baza juaj e të dhënave nuk ekzekutohet me nivelin \"READ COMMITED\" e izolimit për ndërveprimet. Kjo mund të shkaktojë probleme, kur kryhen paralelisht disa veprime njëherësh.", + "System locale can not be set to a one which supports UTF-8." : "Si vendore sistemi nuk mund të caktohet një që mbulon UTF-8.", + "Tips & tricks" : "Ndihmëza & rrengje", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Ekzistojnë shumë funksione dhe çelësa të konfigurimit që janë në dispozicion për të përshtatur dhe përdorur në mënyrë optimale këtë shembull. Këtu janë disa udhëzues për më shumë informacion.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite po përdoret si bazë të dhënash e programit klient. Për instalime më të ngarkuara, këshillojmë të kalohet në një program tjetër klient baze të dhënash.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Kjo është veçanërisht e rekomanduar gjatë përdorimit të desktopit të klientit për sinkronizimin skedari. ", + "How to do backups" : "Si të bëhen kopjeruajtje", + "Performance tuning" : "Përimtime performance", + "Improving the config.php" : "Si të përmirësohet config.php", + "Theming" : "Ndryshim teme grafike", + "Check the security of your Nextcloud over our security scan" : "Kontrolloni sigurinë e Nextcloud tuaj mbi skanimin tonë të sigurisë", + "Hardening and security guidance" : "Udhëzime për forcim dhe siguri", "View in store" : "Shiko në dyqan", "Limit to groups" : "Kufizo grupet", "This app has an update available." : "Ka gati një përditësim për këtë aplikacion.", @@ -368,6 +360,14 @@ OC.L10N.register( "set new password" : "caktoni fjalëkalim të ri", "change email address" : "ndryshoni adresën email", "Default" : "Parazgjedhje", - "{size} used" : "{madhësia} e përdorur" + "{size} used" : "{madhësia} e përdorur", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP-ja nuk duket të jetë ngritur si duhet për të kërkuar ndryshore mjedisi sistemi. Testi me getenv(\"PATH\") kthen vetëm një përgjigje të zbrazët.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Mesa duket PHP është ngritur për të zhveshur blloqet e inline doc. Kjo do të bëjë disa aplikacione bazë të paaksesueshme.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s versioni i mëposhtëm %2$sështë instaluar, për arsye qëndrueshmërie dhe performance është e rekomanduar të përditësohet në një version më të ri %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Moduli PHP 'fileinfo' mungon. Ne ju rekomandojmë që të mundësohet ky modul për të marrë rezultatet më të mira me zbulimin e llojit MIME.", + "This means that there might be problems with certain characters in filenames." : "Kjo do të thotë që mund të ketë probleme me disa karaktere në emrat e skedarëve.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Propozohrt që të instaloni paketat e kërkuara në sistemin tuaj për të mbështetur një nga lokacionet e mëposhtme: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Nëse instalimi juaj nuk është bërë në rrënjë të përkatësisë dhe përdor cron sistemi, mund të ketë probleme me prodhimin e URL-së. Që të shmangen këto probleme, ju lutemi, jepini mundësisë \"overwrite.cli.url\" te kartela juaj config.php vlerën e shtegut webroot të instalimit tuaj (E këshillueshme: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nuk ishte e mundur që të ekzekutohej puna cron nëpërmjet CLI. Gabimet teknike në vijim janë shfaqur :" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/sq.json b/settings/l10n/sq.json index aaa078d346e..56f2d98c73d 100644 --- a/settings/l10n/sq.json +++ b/settings/l10n/sq.json @@ -73,18 +73,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu.", "Start migration" : "Fillo migrimin", "Security & setup warnings" : "Sinjalizime sigurie & rregullimi", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP-ja nuk duket të jetë ngritur si duhet për të kërkuar ndryshore mjedisi sistemi. Testi me getenv(\"PATH\") kthen vetëm një përgjigje të zbrazët.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Rregullimi Vetëm-Lexim u aktivizua. Kjo parandalon rregullimin e disa parametrave përmes ndërfaqes web. Më tej, për çdo përditësim kartela lyp të kalohet dorazi si e shkrueshme.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Mesa duket PHP është ngritur për të zhveshur blloqet e inline doc. Kjo do të bëjë disa aplikacione bazë të paaksesueshme.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Kjo ka gjasa të jetë shkaktuar nga një fshehtinë/përshpejtues i tillë si Zend OPcache ose eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Baza juaj e të dhënave nuk ekzekutohet me nivelin \"READ COMMITED\" e izolimit për ndërveprimet. Kjo mund të shkaktojë probleme, kur kryhen paralelisht disa veprime njëherësh.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s versioni i mëposhtëm %2$sështë instaluar, për arsye qëndrueshmërie dhe performance është e rekomanduar të përditësohet në një version më të ri %1$s.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Moduli PHP 'fileinfo' mungon. Ne ju rekomandojmë që të mundësohet ky modul për të marrë rezultatet më të mira me zbulimin e llojit MIME.", - "System locale can not be set to a one which supports UTF-8." : "Si vendore sistemi nuk mund të caktohet një që mbulon UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Kjo do të thotë që mund të ketë probleme me disa karaktere në emrat e skedarëve.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Propozohrt që të instaloni paketat e kërkuara në sistemin tuaj për të mbështetur një nga lokacionet e mëposhtme: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Nëse instalimi juaj nuk është bërë në rrënjë të përkatësisë dhe përdor cron sistemi, mund të ketë probleme me prodhimin e URL-së. Që të shmangen këto probleme, ju lutemi, jepini mundësisë \"overwrite.cli.url\" te kartela juaj config.php vlerën e shtegut webroot të instalimit tuaj (E këshillueshme: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nuk ishte e mundur që të ekzekutohej puna cron nëpërmjet CLI. Gabimet teknike në vijim janë shfaqur :", "All checks passed." : "I kaloi krejt kontrollet.", "Version" : "Version", "Background jobs" : "Punët në background", @@ -115,16 +103,6 @@ "These groups will still be able to receive shares, but not to initiate them." : "Këto grupe prapë do të jenë në gjendje të marrin ndarje nga të tjerët, por jo të fillojnë të tilla.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Shfaqni tekstin e mospranimit në linkun publik të faqes së ngarkuar. (Shfaqet vetëm kur lista e skedarit është e fshehur.)", "This text will be shown on the public link upload page when the file list is hidden." : "Ky tekst do të shfaqet në linkun publik të faqes së ngarkuar kur lista e skedarit të jetë e fshehur.", - "Tips & tricks" : "Ndihmëza & rrengje", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Ekzistojnë shumë funksione dhe çelësa të konfigurimit që janë në dispozicion për të përshtatur dhe përdorur në mënyrë optimale këtë shembull. Këtu janë disa udhëzues për më shumë informacion.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite po përdoret si bazë të dhënash e programit klient. Për instalime më të ngarkuara, këshillojmë të kalohet në një program tjetër klient baze të dhënash.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Kjo është veçanërisht e rekomanduar gjatë përdorimit të desktopit të klientit për sinkronizimin skedari. ", - "How to do backups" : "Si të bëhen kopjeruajtje", - "Performance tuning" : "Përimtime performance", - "Improving the config.php" : "Si të përmirësohet config.php", - "Theming" : "Ndryshim teme grafike", - "Check the security of your Nextcloud over our security scan" : "Kontrolloni sigurinë e Nextcloud tuaj mbi skanimin tonë të sigurisë", - "Hardening and security guidance" : "Udhëzime për forcim dhe siguri", "Profile picture" : "Foto profili", "Upload new" : "Ngarko të re", "Select from Files" : "Përzgjidhni prej Kartelash", @@ -333,6 +311,20 @@ "A valid password must be provided" : "Duhet dhënë një fjalëkalim i vlefshëm", "A valid email must be provided" : "Duhet dhënë një email i vlefshëm", "__language_name__" : "Shqip", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Rregullimi Vetëm-Lexim u aktivizua. Kjo parandalon rregullimin e disa parametrave përmes ndërfaqes web. Më tej, për çdo përditësim kartela lyp të kalohet dorazi si e shkrueshme.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Kjo ka gjasa të jetë shkaktuar nga një fshehtinë/përshpejtues i tillë si Zend OPcache ose eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Baza juaj e të dhënave nuk ekzekutohet me nivelin \"READ COMMITED\" e izolimit për ndërveprimet. Kjo mund të shkaktojë probleme, kur kryhen paralelisht disa veprime njëherësh.", + "System locale can not be set to a one which supports UTF-8." : "Si vendore sistemi nuk mund të caktohet një që mbulon UTF-8.", + "Tips & tricks" : "Ndihmëza & rrengje", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Ekzistojnë shumë funksione dhe çelësa të konfigurimit që janë në dispozicion për të përshtatur dhe përdorur në mënyrë optimale këtë shembull. Këtu janë disa udhëzues për më shumë informacion.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite po përdoret si bazë të dhënash e programit klient. Për instalime më të ngarkuara, këshillojmë të kalohet në një program tjetër klient baze të dhënash.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Kjo është veçanërisht e rekomanduar gjatë përdorimit të desktopit të klientit për sinkronizimin skedari. ", + "How to do backups" : "Si të bëhen kopjeruajtje", + "Performance tuning" : "Përimtime performance", + "Improving the config.php" : "Si të përmirësohet config.php", + "Theming" : "Ndryshim teme grafike", + "Check the security of your Nextcloud over our security scan" : "Kontrolloni sigurinë e Nextcloud tuaj mbi skanimin tonë të sigurisë", + "Hardening and security guidance" : "Udhëzime për forcim dhe siguri", "View in store" : "Shiko në dyqan", "Limit to groups" : "Kufizo grupet", "This app has an update available." : "Ka gati një përditësim për këtë aplikacion.", @@ -366,6 +358,14 @@ "set new password" : "caktoni fjalëkalim të ri", "change email address" : "ndryshoni adresën email", "Default" : "Parazgjedhje", - "{size} used" : "{madhësia} e përdorur" + "{size} used" : "{madhësia} e përdorur", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP-ja nuk duket të jetë ngritur si duhet për të kërkuar ndryshore mjedisi sistemi. Testi me getenv(\"PATH\") kthen vetëm një përgjigje të zbrazët.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Mesa duket PHP është ngritur për të zhveshur blloqet e inline doc. Kjo do të bëjë disa aplikacione bazë të paaksesueshme.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s versioni i mëposhtëm %2$sështë instaluar, për arsye qëndrueshmërie dhe performance është e rekomanduar të përditësohet në një version më të ri %1$s.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Moduli PHP 'fileinfo' mungon. Ne ju rekomandojmë që të mundësohet ky modul për të marrë rezultatet më të mira me zbulimin e llojit MIME.", + "This means that there might be problems with certain characters in filenames." : "Kjo do të thotë që mund të ketë probleme me disa karaktere në emrat e skedarëve.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Propozohrt që të instaloni paketat e kërkuara në sistemin tuaj për të mbështetur një nga lokacionet e mëposhtme: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Nëse instalimi juaj nuk është bërë në rrënjë të përkatësisë dhe përdor cron sistemi, mund të ketë probleme me prodhimin e URL-së. Që të shmangen këto probleme, ju lutemi, jepini mundësisë \"overwrite.cli.url\" te kartela juaj config.php vlerën e shtegut webroot të instalimit tuaj (E këshillueshme: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nuk ishte e mundur që të ekzekutohej puna cron nëpërmjet CLI. Gabimet teknike në vijim janë shfaqur :" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/sr.js b/settings/l10n/sr.js index 82c9a595650..7bb91f34325 100644 --- a/settings/l10n/sr.js +++ b/settings/l10n/sr.js @@ -101,23 +101,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Морате да преселите шифрарске кључеве старог шифровања (оунКлауд <= 8.0) на нове.", "Start migration" : "Покрени пресељење", "Security & setup warnings" : "Безбедносна и упозорења поставе", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Због безбедности и перформанси Ваше инстанце сервера, важно је да је све подешено исправно. Да бисмо Вам помогли у томе, радићемо неке аутоматске провере. Погледајте секцију са саветима и триковима, као и документацију за више информација.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP изгледа није исправно подешен да дохвата променљиве окружења. Тест са getenv(\"PATH\") враћа празну листу као одговор.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">инсталациону документацију ↗</a> за белешке око PHP конфигурације и PHP конфигурацију Вашег сервера, поготову ако користите php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Омогућена је Само-читај конфигурација. То спречава постављање неке конфигурације преко веб-интерфејса. Осим тога, фајлу мора бити ручно омогућено уписивање код сваког освежавања.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP је очигледно подешен да склања уметнуте doc блокове. То ће учинити неколико кључних апликација недоступним.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ово је вероватно изазвано кешом или акцелератором као што су ЗендОПкеш или еАкцелератор.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "База података није покренута са \"READ COMMITTED\" нивоом изолације трансакција. Ово може изазвати проблеме ако се више различитих акција изврши у паралели.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s испод верзије %2$s је инсталиран. Због стабилности и перформанси, препоручује се ажурирање на новију, %1$s верзију.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Недостаје PHP модул „fileinfo“. Препоручујемо да га укључите да бисте добили најбоље резултате с откривањем MIME типова фајлова.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Трансактивно закључавање фајлова је искључено, што може довести до проблема са утркивањем процеса. Укључите 'filelocking.enabled' у config.php да бисте избегли проблеме овог типа. Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документацију ↗</a> за више информација.", - "System locale can not be set to a one which supports UTF-8." : "Системски локалитет се не може поставити на неки који подржава УТФ-8", - "This means that there might be problems with certain characters in filenames." : "Ово значи да може бити проблема са одређеним каракетерима који се појављују у именима фајлова.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Препоручујемо да инсталирате потребне пакете да бисте подржали следеће локалитете: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ако инсталација није инсталирана у основи домена и користи системски крон, може бити проблема са генерисањем веб адреса. Да бисте избегли ове проблеме, молимо вас да подесите \"overwrite.cli.url\" опцију у вашем config.php фајлу у путању веб-основе ваше инсталације (Предложено: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Није било могуће да се изврши крон задатак путем интерфејса командне линије. Појавила су се следеће техничке грешке:", - "Last background job execution ran %s. Something seems wrong." : "Последњи извршени посао у позадини: %s. Нешто изгледа није у реду.", - "Check the background job settings" : "Проверите поставке послова у позадини", "All checks passed." : "Све провере успешно прошле.", "There are some errors regarding your setup." : "Постоје неке грешке у вези са Вашом инсталацијом.", "There are some warnings regarding your setup." : "Постоје нека упозорења у вези са Вашом инсталацијом.", @@ -154,17 +137,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Прикажи текст о ограђивању на јавној страни за отпремање (приказан је само када је сакривена листа фајлова)", "This text will be shown on the public link upload page when the file list is hidden." : "Овај текст ће бити приказан на јавној страни отпремања када је скривен листа фајлова.", "Default share permissions" : "Подразумеване дозволе за дељење", - "Tips & tricks" : "Савети и трикови", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Постоји доста доступних функционалности и конфигурација да оптимално прилагодите и користите ову инстанце. Овде су неки основни савети.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Тренутно се као база података користи SQLite. За веће инсталације, препоручујемо да промените базу података.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Ово се нарочито порепоручује ако се користи клијент програм у графичком окружењу за синхронизацију.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "За пресељење на другу базу података, користите алат командне линије: 'occ db:convert-type', или погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документацију ↗</a>.", - "How to do backups" : "Како правити резерве", - "Performance tuning" : "Побољшање перформанси", - "Improving the config.php" : "Побољшање фајла поставки", - "Theming" : "Теме", - "Check the security of your Nextcloud over our security scan" : "Проверавање безбедности Вашег Некстклауда кроз наше безбедоносно скенирање", - "Hardening and security guidance" : "Ојачавање система и безбедносне препоруке", "Personal" : "Лично", "Administration" : "Администрација", "Profile picture" : "Слика профила", @@ -389,10 +361,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Због безбедности и перформанси Ваше инстанце сервера, важно је да је све подешено исправно. Да бисмо Вам помогли у томе, радићемо неке аутоматске провере. Погледајте секцију са саветима и триковима, као и документацију за више информација.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP није подешен да може да провери системске променљиве. Проба са getenv(\"PATH\") враћа празан одговор.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Погледајте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">инсталациону документацију ↗</a> за белешке око PHP конфигурације и PHP конфигурацију Вашег сервера, поготову ако користите php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Омогућена је Само-читај конфигурација. То спречава постављање неке конфигурације преко веб-интерфејса. Осим тога, фајлу мора бити ручно омогућено уписивање код сваког освежавања.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP је очигледно подешен да склања уметнуте doc блоковe. То ће учинити неколико кључних апликација недоступним.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ово је вероватно изазвано кешом или акцелератором као што су ЗендОПкеш или еАкцелератор.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "База података није покренута са \"READ COMMITTED\" нивоом изолације трансакција. Ово може изазвати проблеме ако се више различитих акција изврши у паралели.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s испод верзије %2$s је инсталиран. Због стабилности и перформанси, препоручујемо ажурирање на новију, %1$s верзију.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Недостаје PHP модул „fileinfo“. Препоручујемо вам да га укључите да бисте добили најбоље резултате с откривањем MIME типова фајлова.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Трансактивно закључавање фајлова је искључено, што може довести до проблема са утркивањем процеса. Укључите 'filelocking.enabled' у config.php да бисте избегли проблеме овог типа. Погледајте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацију ↗</a> за више информација.", + "System locale can not be set to a one which supports UTF-8." : "Системски локалитет се не може поставити на неки који подржава УТФ-8", "This means that there might be problems with certain characters in file names." : "То значи да може доћи до проблема са неким знаковима у називима фајлова.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Препоручујемо да инсталирате потребне пакете да бисте подржали следеће локалитете: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ако инсталација није инсталирана у основи домена и користи системски крон, може бити проблема са генерисањем веб адреса. Да бисте избегли ове проблеме, молимо вас да подесите \"overwrite.cli.url\" опцију у вашем config.php фајлу у путању веб-основе ваше инсталације (Предложено: \"%s\")", @@ -400,7 +376,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Добро погледајте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">инсталациону документацију ↗</a> и проверите за било какве грешке или упозорења у <a href=\"%s\">записнику</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php је регистрован код вебкрон сервиса за позивање cron.php сваких 15 минута преко протокола http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Да бисте ово покренули, потребна је PHP posix екстензија. Погледајте {linkstart}PHP документацију{linkend} за више детаља.", + "Tips & tricks" : "Савети и трикови", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Постоји доста доступних функционалности и конфигурација да оптимално прилагодите и користите ову инстанце. Овде су неки основни савети.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Тренутно се као база података користи SQLite. За веће инсталације, препоручујемо да промените базу података.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Ово се нарочито порепоручује ако се користи клијент програм у графичком окружењу за синхронизацију.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "За пресељење на другу базу података, користите алат командне линије: 'occ db:convert-type', или погледајте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацију ↗</a>.", + "How to do backups" : "Како правити резерве", + "Performance tuning" : "Побољшање перформанси", + "Improving the config.php" : "Побољшање фајла поставки", + "Theming" : "Теме", + "Check the security of your Nextcloud over our security scan" : "Проверавање безбедности Вашег Некстклауда кроз наше безбедоносно скенирање", + "Hardening and security guidance" : "Ојачавање система и безбедносне препоруке", "View in store" : "Погледај у продавници", "Limit to groups" : "Ограничи на групе", "This app has an update available." : "Ова апликација има доступно ажурирање.", @@ -453,6 +439,18 @@ OC.L10N.register( "Updating …" : "Ажурирам…", "Could not update app" : "Не могу да ажурирам апликацију", "Could not remove app" : "Не могу да уклоним апликацију", - "{size} used" : "{size} искоршћенп" + "{size} used" : "{size} искоршћенп", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Због безбедности и перформанси Ваше инстанце сервера, важно је да је све подешено исправно. Да бисмо Вам помогли у томе, радићемо неке аутоматске провере. Погледајте секцију са саветима и триковима, као и документацију за више информација.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP изгледа није исправно подешен да дохвата променљиве окружења. Тест са getenv(\"PATH\") враћа празну листу као одговор.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">инсталациону документацију ↗</a> за белешке око PHP конфигурације и PHP конфигурацију Вашег сервера, поготову ако користите php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP је очигледно подешен да склања уметнуте doc блокове. То ће учинити неколико кључних апликација недоступним.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s испод верзије %2$s је инсталиран. Због стабилности и перформанси, препоручује се ажурирање на новију, %1$s верзију.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Недостаје PHP модул „fileinfo“. Препоручујемо да га укључите да бисте добили најбоље резултате с откривањем MIME типова фајлова.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Трансактивно закључавање фајлова је искључено, што може довести до проблема са утркивањем процеса. Укључите 'filelocking.enabled' у config.php да бисте избегли проблеме овог типа. Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документацију ↗</a> за више информација.", + "This means that there might be problems with certain characters in filenames." : "Ово значи да може бити проблема са одређеним каракетерима који се појављују у именима фајлова.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Препоручујемо да инсталирате потребне пакете да бисте подржали следеће локалитете: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ако инсталација није инсталирана у основи домена и користи системски крон, може бити проблема са генерисањем веб адреса. Да бисте избегли ове проблеме, молимо вас да подесите \"overwrite.cli.url\" опцију у вашем config.php фајлу у путању веб-основе ваше инсталације (Предложено: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Није било могуће да се изврши крон задатак путем интерфејса командне линије. Појавила су се следеће техничке грешке:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "За пресељење на другу базу података, користите алат командне линије: 'occ db:convert-type', или погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документацију ↗</a>." }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); diff --git a/settings/l10n/sr.json b/settings/l10n/sr.json index d4a9416cef1..f60ff06d5ba 100644 --- a/settings/l10n/sr.json +++ b/settings/l10n/sr.json @@ -99,23 +99,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Морате да преселите шифрарске кључеве старог шифровања (оунКлауд <= 8.0) на нове.", "Start migration" : "Покрени пресељење", "Security & setup warnings" : "Безбедносна и упозорења поставе", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Због безбедности и перформанси Ваше инстанце сервера, важно је да је све подешено исправно. Да бисмо Вам помогли у томе, радићемо неке аутоматске провере. Погледајте секцију са саветима и триковима, као и документацију за више информација.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP изгледа није исправно подешен да дохвата променљиве окружења. Тест са getenv(\"PATH\") враћа празну листу као одговор.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">инсталациону документацију ↗</a> за белешке око PHP конфигурације и PHP конфигурацију Вашег сервера, поготову ако користите php-fpm.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Омогућена је Само-читај конфигурација. То спречава постављање неке конфигурације преко веб-интерфејса. Осим тога, фајлу мора бити ручно омогућено уписивање код сваког освежавања.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP је очигледно подешен да склања уметнуте doc блокове. То ће учинити неколико кључних апликација недоступним.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ово је вероватно изазвано кешом или акцелератором као што су ЗендОПкеш или еАкцелератор.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "База података није покренута са \"READ COMMITTED\" нивоом изолације трансакција. Ово може изазвати проблеме ако се више различитих акција изврши у паралели.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s испод верзије %2$s је инсталиран. Због стабилности и перформанси, препоручује се ажурирање на новију, %1$s верзију.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Недостаје PHP модул „fileinfo“. Препоручујемо да га укључите да бисте добили најбоље резултате с откривањем MIME типова фајлова.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Трансактивно закључавање фајлова је искључено, што може довести до проблема са утркивањем процеса. Укључите 'filelocking.enabled' у config.php да бисте избегли проблеме овог типа. Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документацију ↗</a> за више информација.", - "System locale can not be set to a one which supports UTF-8." : "Системски локалитет се не може поставити на неки који подржава УТФ-8", - "This means that there might be problems with certain characters in filenames." : "Ово значи да може бити проблема са одређеним каракетерима који се појављују у именима фајлова.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Препоручујемо да инсталирате потребне пакете да бисте подржали следеће локалитете: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ако инсталација није инсталирана у основи домена и користи системски крон, може бити проблема са генерисањем веб адреса. Да бисте избегли ове проблеме, молимо вас да подесите \"overwrite.cli.url\" опцију у вашем config.php фајлу у путању веб-основе ваше инсталације (Предложено: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Није било могуће да се изврши крон задатак путем интерфејса командне линије. Појавила су се следеће техничке грешке:", - "Last background job execution ran %s. Something seems wrong." : "Последњи извршени посао у позадини: %s. Нешто изгледа није у реду.", - "Check the background job settings" : "Проверите поставке послова у позадини", "All checks passed." : "Све провере успешно прошле.", "There are some errors regarding your setup." : "Постоје неке грешке у вези са Вашом инсталацијом.", "There are some warnings regarding your setup." : "Постоје нека упозорења у вези са Вашом инсталацијом.", @@ -152,17 +135,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Прикажи текст о ограђивању на јавној страни за отпремање (приказан је само када је сакривена листа фајлова)", "This text will be shown on the public link upload page when the file list is hidden." : "Овај текст ће бити приказан на јавној страни отпремања када је скривен листа фајлова.", "Default share permissions" : "Подразумеване дозволе за дељење", - "Tips & tricks" : "Савети и трикови", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Постоји доста доступних функционалности и конфигурација да оптимално прилагодите и користите ову инстанце. Овде су неки основни савети.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Тренутно се као база података користи SQLite. За веће инсталације, препоручујемо да промените базу података.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Ово се нарочито порепоручује ако се користи клијент програм у графичком окружењу за синхронизацију.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "За пресељење на другу базу података, користите алат командне линије: 'occ db:convert-type', или погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документацију ↗</a>.", - "How to do backups" : "Како правити резерве", - "Performance tuning" : "Побољшање перформанси", - "Improving the config.php" : "Побољшање фајла поставки", - "Theming" : "Теме", - "Check the security of your Nextcloud over our security scan" : "Проверавање безбедности Вашег Некстклауда кроз наше безбедоносно скенирање", - "Hardening and security guidance" : "Ојачавање система и безбедносне препоруке", "Personal" : "Лично", "Administration" : "Администрација", "Profile picture" : "Слика профила", @@ -387,10 +359,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Због безбедности и перформанси Ваше инстанце сервера, важно је да је све подешено исправно. Да бисмо Вам помогли у томе, радићемо неке аутоматске провере. Погледајте секцију са саветима и триковима, као и документацију за више информација.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP није подешен да може да провери системске променљиве. Проба са getenv(\"PATH\") враћа празан одговор.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Погледајте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">инсталациону документацију ↗</a> за белешке око PHP конфигурације и PHP конфигурацију Вашег сервера, поготову ако користите php-fpm.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Омогућена је Само-читај конфигурација. То спречава постављање неке конфигурације преко веб-интерфејса. Осим тога, фајлу мора бити ручно омогућено уписивање код сваког освежавања.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP је очигледно подешен да склања уметнуте doc блоковe. То ће учинити неколико кључних апликација недоступним.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ово је вероватно изазвано кешом или акцелератором као што су ЗендОПкеш или еАкцелератор.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "База података није покренута са \"READ COMMITTED\" нивоом изолације трансакција. Ово може изазвати проблеме ако се више различитих акција изврши у паралели.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s испод верзије %2$s је инсталиран. Због стабилности и перформанси, препоручујемо ажурирање на новију, %1$s верзију.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Недостаје PHP модул „fileinfo“. Препоручујемо вам да га укључите да бисте добили најбоље резултате с откривањем MIME типова фајлова.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Трансактивно закључавање фајлова је искључено, што може довести до проблема са утркивањем процеса. Укључите 'filelocking.enabled' у config.php да бисте избегли проблеме овог типа. Погледајте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацију ↗</a> за више информација.", + "System locale can not be set to a one which supports UTF-8." : "Системски локалитет се не може поставити на неки који подржава УТФ-8", "This means that there might be problems with certain characters in file names." : "То значи да може доћи до проблема са неким знаковима у називима фајлова.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Препоручујемо да инсталирате потребне пакете да бисте подржали следеће локалитете: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ако инсталација није инсталирана у основи домена и користи системски крон, може бити проблема са генерисањем веб адреса. Да бисте избегли ове проблеме, молимо вас да подесите \"overwrite.cli.url\" опцију у вашем config.php фајлу у путању веб-основе ваше инсталације (Предложено: \"%s\")", @@ -398,7 +374,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Добро погледајте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">инсталациону документацију ↗</a> и проверите за било какве грешке или упозорења у <a href=\"%s\">записнику</a>.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php је регистрован код вебкрон сервиса за позивање cron.php сваких 15 минута преко протокола http.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Да бисте ово покренули, потребна је PHP posix екстензија. Погледајте {linkstart}PHP документацију{linkend} за више детаља.", + "Tips & tricks" : "Савети и трикови", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Постоји доста доступних функционалности и конфигурација да оптимално прилагодите и користите ову инстанце. Овде су неки основни савети.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Тренутно се као база података користи SQLite. За веће инсталације, препоручујемо да промените базу података.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Ово се нарочито порепоручује ако се користи клијент програм у графичком окружењу за синхронизацију.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "За пресељење на другу базу података, користите алат командне линије: 'occ db:convert-type', или погледајте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацију ↗</a>.", + "How to do backups" : "Како правити резерве", + "Performance tuning" : "Побољшање перформанси", + "Improving the config.php" : "Побољшање фајла поставки", + "Theming" : "Теме", + "Check the security of your Nextcloud over our security scan" : "Проверавање безбедности Вашег Некстклауда кроз наше безбедоносно скенирање", + "Hardening and security guidance" : "Ојачавање система и безбедносне препоруке", "View in store" : "Погледај у продавници", "Limit to groups" : "Ограничи на групе", "This app has an update available." : "Ова апликација има доступно ажурирање.", @@ -451,6 +437,18 @@ "Updating …" : "Ажурирам…", "Could not update app" : "Не могу да ажурирам апликацију", "Could not remove app" : "Не могу да уклоним апликацију", - "{size} used" : "{size} искоршћенп" + "{size} used" : "{size} искоршћенп", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Због безбедности и перформанси Ваше инстанце сервера, важно је да је све подешено исправно. Да бисмо Вам помогли у томе, радићемо неке аутоматске провере. Погледајте секцију са саветима и триковима, као и документацију за више информација.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP изгледа није исправно подешен да дохвата променљиве окружења. Тест са getenv(\"PATH\") враћа празну листу као одговор.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">инсталациону документацију ↗</a> за белешке око PHP конфигурације и PHP конфигурацију Вашег сервера, поготову ако користите php-fpm.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP је очигледно подешен да склања уметнуте doc блокове. То ће учинити неколико кључних апликација недоступним.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s испод верзије %2$s је инсталиран. Због стабилности и перформанси, препоручује се ажурирање на новију, %1$s верзију.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Недостаје PHP модул „fileinfo“. Препоручујемо да га укључите да бисте добили најбоље резултате с откривањем MIME типова фајлова.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Трансактивно закључавање фајлова је искључено, што може довести до проблема са утркивањем процеса. Укључите 'filelocking.enabled' у config.php да бисте избегли проблеме овог типа. Погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документацију ↗</a> за више информација.", + "This means that there might be problems with certain characters in filenames." : "Ово значи да може бити проблема са одређеним каракетерима који се појављују у именима фајлова.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Препоручујемо да инсталирате потребне пакете да бисте подржали следеће локалитете: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ако инсталација није инсталирана у основи домена и користи системски крон, може бити проблема са генерисањем веб адреса. Да бисте избегли ове проблеме, молимо вас да подесите \"overwrite.cli.url\" опцију у вашем config.php фајлу у путању веб-основе ваше инсталације (Предложено: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Није било могуће да се изврши крон задатак путем интерфејса командне линије. Појавила су се следеће техничке грешке:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "За пресељење на другу базу података, користите алат командне линије: 'occ db:convert-type', или погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документацију ↗</a>." },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" }
\ No newline at end of file diff --git a/settings/l10n/sv.js b/settings/l10n/sv.js index fcd37a992ae..2efe09e002c 100644 --- a/settings/l10n/sv.js +++ b/settings/l10n/sv.js @@ -76,19 +76,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya.", "Start migration" : "Starta migrering", "Security & setup warnings" : "Säkerhet & systemvarningar", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Det är viktigt för säkerhet och prestanda av din instans att allting är konfigurerat korrekt. För att hjälpa dig gör vi några automatiska kontroller. Vänligen se Tips & Tricks och dokumentationen för mer information.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP verkar inte fungera att sättas upp ordentligt för query system miljövariabler. Testet med getenv(\"PATH\") returnerar bara ett tomt svar.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Läs-bara konfigureringen har blivit aktiv. Detta förhindrar att några konfigureringar kan sättas via webbgränssnittet.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP verkar uppenbarligen vara inställt på att ta bort inline doc blocks. Detta kommer gör flera viktiga appar otillgängliga.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Detta orsakas troligtvis av en cache/accelerator som t ex Zend OPchache eller eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Din databas kör inte \"READ COMMITED\" transaktionsisoleringsnvån. Detta kan orsaka problem när flera åtgärder körs parallellt.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s nedan version %2$s är installerat, av stabilitets- och presandaskäl rekommenderas en uppdatering till en nyare %1$s-version.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-modulen 'fileinfo' saknas. Det är starkt rekommenderat att aktivera denna modul för att få bäst resultat med MIME typdetektering.", - "System locale can not be set to a one which supports UTF-8." : "Systemspråk kan inte ställas in till ett som stödjer UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Detta innebär att det kan finnas problem med vissa tecken i filnamn", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Det är starkt rekommenderat att installera de nödvändiga paketen på ditt system för att stödja ett av följande locales (språk/region-inställningar): %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Om din installation inte är installerad vid roten av domänen och använder systemets Cron kan det bli problem med URL-skapandet. För att undvika dessa problem, vänligen sätt \"overwrite.cli.url\"-alternativet i din config.php till webbrotplatsen för din installation (Förslag: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Det var inte möjligt att exekvera cron-jobbet via CLI. Följande tekniska fel dök upp:", "All checks passed." : "Alla kontroller lyckades!", "Version" : "Version", "Background jobs" : "Bakgrundsjobb", @@ -120,16 +107,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Tillåt autokomplettering av användarnamn i delningsdialogen. Om detta är inaktiverat måste fullständigt användarnamn och epostadress anges.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Visa friskrivningstext på offentliga uppladdningssidan. (Visas endast när fil-listan är gömd.)", "This text will be shown on the public link upload page when the file list is hidden." : "Denna text kommer att visa på den offentliga uppladdnings-sidan när fil-listan är gömd.", - "Tips & tricks" : "Tips & tricks", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Där är många funktioner och konfigurationsval tillgängliga för att automatiskt ställa in och använda din instans. Här är några hänvisningar för mer information.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite används som databas. För större installationer så rekommenderar vi ett byte till en annan databasbackend.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Detta rekommenderas speciellt när skrivbordsklienten används för att synkronisera filer.", - "How to do backups" : "Hur man skapar säkerhetskopior", - "Performance tuning" : "Prestandainställningar", - "Improving the config.php" : "Förbättra config.php", - "Theming" : "Teman", - "Check the security of your Nextcloud over our security scan" : "Kontrollera säkerheten för ditt Nextcloud med vår säkerhets-skanning", - "Hardening and security guidance" : "Säkerhetsriktlinjer", "Personal" : "Privat", "Administration" : "Administration", "Profile picture" : "Profilbild", @@ -340,6 +317,20 @@ OC.L10N.register( "A valid password must be provided" : "Ett giltigt lösenord måste anges", "A valid email must be provided" : "En giltig e-postadress måste anges", "__language_name__" : "Svenska", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Läs-bara konfigureringen har blivit aktiv. Detta förhindrar att några konfigureringar kan sättas via webbgränssnittet.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Detta orsakas troligtvis av en cache/accelerator som t ex Zend OPchache eller eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Din databas kör inte \"READ COMMITED\" transaktionsisoleringsnvån. Detta kan orsaka problem när flera åtgärder körs parallellt.", + "System locale can not be set to a one which supports UTF-8." : "Systemspråk kan inte ställas in till ett som stödjer UTF-8.", + "Tips & tricks" : "Tips & tricks", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Där är många funktioner och konfigurationsval tillgängliga för att automatiskt ställa in och använda din instans. Här är några hänvisningar för mer information.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite används som databas. För större installationer så rekommenderar vi ett byte till en annan databasbackend.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Detta rekommenderas speciellt när skrivbordsklienten används för att synkronisera filer.", + "How to do backups" : "Hur man skapar säkerhetskopior", + "Performance tuning" : "Prestandainställningar", + "Improving the config.php" : "Förbättra config.php", + "Theming" : "Teman", + "Check the security of your Nextcloud over our security scan" : "Kontrollera säkerheten för ditt Nextcloud med vår säkerhets-skanning", + "Hardening and security guidance" : "Säkerhetsriktlinjer", "View in store" : "Visa i butik", "Limit to groups" : "Begränsa till grupper", "This app has an update available." : "Denna applikation har en uppdatering tillgänglig.", @@ -375,6 +366,15 @@ OC.L10N.register( "Default" : "Förvald", "App up to date" : "Appen är uppdaterad", "Could not remove app" : "Kunde inte ta bort app", - "{size} used" : "{size} använt" + "{size} used" : "{size} använt", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Det är viktigt för säkerhet och prestanda av din instans att allting är konfigurerat korrekt. För att hjälpa dig gör vi några automatiska kontroller. Vänligen se Tips & Tricks och dokumentationen för mer information.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP verkar inte fungera att sättas upp ordentligt för query system miljövariabler. Testet med getenv(\"PATH\") returnerar bara ett tomt svar.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP verkar uppenbarligen vara inställt på att ta bort inline doc blocks. Detta kommer gör flera viktiga appar otillgängliga.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s nedan version %2$s är installerat, av stabilitets- och presandaskäl rekommenderas en uppdatering till en nyare %1$s-version.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-modulen 'fileinfo' saknas. Det är starkt rekommenderat att aktivera denna modul för att få bäst resultat med MIME typdetektering.", + "This means that there might be problems with certain characters in filenames." : "Detta innebär att det kan finnas problem med vissa tecken i filnamn", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Det är starkt rekommenderat att installera de nödvändiga paketen på ditt system för att stödja ett av följande locales (språk/region-inställningar): %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Om din installation inte är installerad vid roten av domänen och använder systemets Cron kan det bli problem med URL-skapandet. För att undvika dessa problem, vänligen sätt \"overwrite.cli.url\"-alternativet i din config.php till webbrotplatsen för din installation (Förslag: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Det var inte möjligt att exekvera cron-jobbet via CLI. Följande tekniska fel dök upp:" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/sv.json b/settings/l10n/sv.json index bb629462b14..c25209ede4a 100644 --- a/settings/l10n/sv.json +++ b/settings/l10n/sv.json @@ -74,19 +74,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya.", "Start migration" : "Starta migrering", "Security & setup warnings" : "Säkerhet & systemvarningar", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Det är viktigt för säkerhet och prestanda av din instans att allting är konfigurerat korrekt. För att hjälpa dig gör vi några automatiska kontroller. Vänligen se Tips & Tricks och dokumentationen för mer information.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP verkar inte fungera att sättas upp ordentligt för query system miljövariabler. Testet med getenv(\"PATH\") returnerar bara ett tomt svar.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Läs-bara konfigureringen har blivit aktiv. Detta förhindrar att några konfigureringar kan sättas via webbgränssnittet.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP verkar uppenbarligen vara inställt på att ta bort inline doc blocks. Detta kommer gör flera viktiga appar otillgängliga.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Detta orsakas troligtvis av en cache/accelerator som t ex Zend OPchache eller eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Din databas kör inte \"READ COMMITED\" transaktionsisoleringsnvån. Detta kan orsaka problem när flera åtgärder körs parallellt.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s nedan version %2$s är installerat, av stabilitets- och presandaskäl rekommenderas en uppdatering till en nyare %1$s-version.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-modulen 'fileinfo' saknas. Det är starkt rekommenderat att aktivera denna modul för att få bäst resultat med MIME typdetektering.", - "System locale can not be set to a one which supports UTF-8." : "Systemspråk kan inte ställas in till ett som stödjer UTF-8.", - "This means that there might be problems with certain characters in filenames." : "Detta innebär att det kan finnas problem med vissa tecken i filnamn", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Det är starkt rekommenderat att installera de nödvändiga paketen på ditt system för att stödja ett av följande locales (språk/region-inställningar): %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Om din installation inte är installerad vid roten av domänen och använder systemets Cron kan det bli problem med URL-skapandet. För att undvika dessa problem, vänligen sätt \"overwrite.cli.url\"-alternativet i din config.php till webbrotplatsen för din installation (Förslag: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Det var inte möjligt att exekvera cron-jobbet via CLI. Följande tekniska fel dök upp:", "All checks passed." : "Alla kontroller lyckades!", "Version" : "Version", "Background jobs" : "Bakgrundsjobb", @@ -118,16 +105,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Tillåt autokomplettering av användarnamn i delningsdialogen. Om detta är inaktiverat måste fullständigt användarnamn och epostadress anges.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Visa friskrivningstext på offentliga uppladdningssidan. (Visas endast när fil-listan är gömd.)", "This text will be shown on the public link upload page when the file list is hidden." : "Denna text kommer att visa på den offentliga uppladdnings-sidan när fil-listan är gömd.", - "Tips & tricks" : "Tips & tricks", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Där är många funktioner och konfigurationsval tillgängliga för att automatiskt ställa in och använda din instans. Här är några hänvisningar för mer information.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite används som databas. För större installationer så rekommenderar vi ett byte till en annan databasbackend.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Detta rekommenderas speciellt när skrivbordsklienten används för att synkronisera filer.", - "How to do backups" : "Hur man skapar säkerhetskopior", - "Performance tuning" : "Prestandainställningar", - "Improving the config.php" : "Förbättra config.php", - "Theming" : "Teman", - "Check the security of your Nextcloud over our security scan" : "Kontrollera säkerheten för ditt Nextcloud med vår säkerhets-skanning", - "Hardening and security guidance" : "Säkerhetsriktlinjer", "Personal" : "Privat", "Administration" : "Administration", "Profile picture" : "Profilbild", @@ -338,6 +315,20 @@ "A valid password must be provided" : "Ett giltigt lösenord måste anges", "A valid email must be provided" : "En giltig e-postadress måste anges", "__language_name__" : "Svenska", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Läs-bara konfigureringen har blivit aktiv. Detta förhindrar att några konfigureringar kan sättas via webbgränssnittet.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Detta orsakas troligtvis av en cache/accelerator som t ex Zend OPchache eller eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Din databas kör inte \"READ COMMITED\" transaktionsisoleringsnvån. Detta kan orsaka problem när flera åtgärder körs parallellt.", + "System locale can not be set to a one which supports UTF-8." : "Systemspråk kan inte ställas in till ett som stödjer UTF-8.", + "Tips & tricks" : "Tips & tricks", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Där är många funktioner och konfigurationsval tillgängliga för att automatiskt ställa in och använda din instans. Här är några hänvisningar för mer information.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite används som databas. För större installationer så rekommenderar vi ett byte till en annan databasbackend.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Detta rekommenderas speciellt när skrivbordsklienten används för att synkronisera filer.", + "How to do backups" : "Hur man skapar säkerhetskopior", + "Performance tuning" : "Prestandainställningar", + "Improving the config.php" : "Förbättra config.php", + "Theming" : "Teman", + "Check the security of your Nextcloud over our security scan" : "Kontrollera säkerheten för ditt Nextcloud med vår säkerhets-skanning", + "Hardening and security guidance" : "Säkerhetsriktlinjer", "View in store" : "Visa i butik", "Limit to groups" : "Begränsa till grupper", "This app has an update available." : "Denna applikation har en uppdatering tillgänglig.", @@ -373,6 +364,15 @@ "Default" : "Förvald", "App up to date" : "Appen är uppdaterad", "Could not remove app" : "Kunde inte ta bort app", - "{size} used" : "{size} använt" + "{size} used" : "{size} använt", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Det är viktigt för säkerhet och prestanda av din instans att allting är konfigurerat korrekt. För att hjälpa dig gör vi några automatiska kontroller. Vänligen se Tips & Tricks och dokumentationen för mer information.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP verkar inte fungera att sättas upp ordentligt för query system miljövariabler. Testet med getenv(\"PATH\") returnerar bara ett tomt svar.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP verkar uppenbarligen vara inställt på att ta bort inline doc blocks. Detta kommer gör flera viktiga appar otillgängliga.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s nedan version %2$s är installerat, av stabilitets- och presandaskäl rekommenderas en uppdatering till en nyare %1$s-version.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP-modulen 'fileinfo' saknas. Det är starkt rekommenderat att aktivera denna modul för att få bäst resultat med MIME typdetektering.", + "This means that there might be problems with certain characters in filenames." : "Detta innebär att det kan finnas problem med vissa tecken i filnamn", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Det är starkt rekommenderat att installera de nödvändiga paketen på ditt system för att stödja ett av följande locales (språk/region-inställningar): %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Om din installation inte är installerad vid roten av domänen och använder systemets Cron kan det bli problem med URL-skapandet. För att undvika dessa problem, vänligen sätt \"overwrite.cli.url\"-alternativet i din config.php till webbrotplatsen för din installation (Förslag: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Det var inte möjligt att exekvera cron-jobbet via CLI. Följande tekniska fel dök upp:" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/settings/l10n/th.js b/settings/l10n/th.js index d189e0cd848..19641785b72 100644 --- a/settings/l10n/th.js +++ b/settings/l10n/th.js @@ -58,9 +58,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่", "Start migration" : "เริ่มการโยกย้าย", "Security & setup warnings" : "คำเตือนความปลอดภัยและการติดตั้ง", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "ตั้งค่าให้สามารถอ่านได้อย่างเดียวถูกเปิดใช้งาน นี้จะช่วยป้องกันการตั้งค่าผ่านทางบางเว็บอินเตอร์เฟซ นอกจากนี้จะต้องเขียนไฟล์ด้วยตนเองสำหรับทุกการอัพเดท", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "นี้อาจเกิดจาก cache/accelerator อย่างเช่น Zend OPcache หรือ eAccelerator", - "System locale can not be set to a one which supports UTF-8." : "ตำแหน่งที่ตั้งของระบบไม่สามารถตั้งค่าให้รองรับ UTF-8", "All checks passed." : "ผ่านการตรวจสอบทั้งหมด", "Version" : "รุ่น", "Execute one task with each page loaded" : "ประมวลผลหนึ่งงาน ในแต่ละครั้งที่มีการโหลดหน้าเว็บ", @@ -78,12 +75,6 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "จำกัดให้ผู้ใช้สามารถแชร์กับผู้ใช้ในกลุ่มของพวกเขาเท่านั้น", "Exclude groups from sharing" : "ไม่รวมกลุ่มที่กำลังแชร์", "These groups will still be able to receive shares, but not to initiate them." : "กลุ่มนี้จะยังคงสามารถได้รับการแชร์ แต่พวกเขาจะไม่รู้จักมัน", - "Tips & tricks" : "เคล็ดลับและเทคนิค", - "How to do backups" : "วิธีการสำรองข้อมูล", - "Performance tuning" : "การปรับแต่งประสิทธิภาพ", - "Improving the config.php" : "ปรับปรุงไฟล์ config.php", - "Theming" : "ชุดรูปแบบ", - "Hardening and security guidance" : "คำแนะนำการรักษาความปลอดภัย", "Profile picture" : "รูปภาพโปรไฟล์", "Upload new" : "อัพโหลดใหม่", "Select from Files" : "เลือกจากไฟล์", @@ -170,6 +161,15 @@ OC.L10N.register( "Error creating user: {message}" : "ข้อผิดพลาดในการสร้างผู้ใช้: {message}", "A valid password must be provided" : "จะต้องระบุรหัสผ่านที่ถูกต้อง", "A valid email must be provided" : "จะต้องระบุอีเมลที่ถูกต้อง", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "ตั้งค่าให้สามารถอ่านได้อย่างเดียวถูกเปิดใช้งาน นี้จะช่วยป้องกันการตั้งค่าผ่านทางบางเว็บอินเตอร์เฟซ นอกจากนี้จะต้องเขียนไฟล์ด้วยตนเองสำหรับทุกการอัพเดท", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "นี้อาจเกิดจาก cache/accelerator อย่างเช่น Zend OPcache หรือ eAccelerator", + "System locale can not be set to a one which supports UTF-8." : "ตำแหน่งที่ตั้งของระบบไม่สามารถตั้งค่าให้รองรับ UTF-8", + "Tips & tricks" : "เคล็ดลับและเทคนิค", + "How to do backups" : "วิธีการสำรองข้อมูล", + "Performance tuning" : "การปรับแต่งประสิทธิภาพ", + "Improving the config.php" : "ปรับปรุงไฟล์ config.php", + "Theming" : "ชุดรูปแบบ", + "Hardening and security guidance" : "คำแนะนำการรักษาความปลอดภัย", "by %s" : "โดย %s", "%s-licensed" : "%s ได้รับใบอนุญาต", "Documentation:" : "เอกสาร:", diff --git a/settings/l10n/th.json b/settings/l10n/th.json index 8385bb263cc..22583b9ad16 100644 --- a/settings/l10n/th.json +++ b/settings/l10n/th.json @@ -56,9 +56,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่", "Start migration" : "เริ่มการโยกย้าย", "Security & setup warnings" : "คำเตือนความปลอดภัยและการติดตั้ง", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "ตั้งค่าให้สามารถอ่านได้อย่างเดียวถูกเปิดใช้งาน นี้จะช่วยป้องกันการตั้งค่าผ่านทางบางเว็บอินเตอร์เฟซ นอกจากนี้จะต้องเขียนไฟล์ด้วยตนเองสำหรับทุกการอัพเดท", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "นี้อาจเกิดจาก cache/accelerator อย่างเช่น Zend OPcache หรือ eAccelerator", - "System locale can not be set to a one which supports UTF-8." : "ตำแหน่งที่ตั้งของระบบไม่สามารถตั้งค่าให้รองรับ UTF-8", "All checks passed." : "ผ่านการตรวจสอบทั้งหมด", "Version" : "รุ่น", "Execute one task with each page loaded" : "ประมวลผลหนึ่งงาน ในแต่ละครั้งที่มีการโหลดหน้าเว็บ", @@ -76,12 +73,6 @@ "Restrict users to only share with users in their groups" : "จำกัดให้ผู้ใช้สามารถแชร์กับผู้ใช้ในกลุ่มของพวกเขาเท่านั้น", "Exclude groups from sharing" : "ไม่รวมกลุ่มที่กำลังแชร์", "These groups will still be able to receive shares, but not to initiate them." : "กลุ่มนี้จะยังคงสามารถได้รับการแชร์ แต่พวกเขาจะไม่รู้จักมัน", - "Tips & tricks" : "เคล็ดลับและเทคนิค", - "How to do backups" : "วิธีการสำรองข้อมูล", - "Performance tuning" : "การปรับแต่งประสิทธิภาพ", - "Improving the config.php" : "ปรับปรุงไฟล์ config.php", - "Theming" : "ชุดรูปแบบ", - "Hardening and security guidance" : "คำแนะนำการรักษาความปลอดภัย", "Profile picture" : "รูปภาพโปรไฟล์", "Upload new" : "อัพโหลดใหม่", "Select from Files" : "เลือกจากไฟล์", @@ -168,6 +159,15 @@ "Error creating user: {message}" : "ข้อผิดพลาดในการสร้างผู้ใช้: {message}", "A valid password must be provided" : "จะต้องระบุรหัสผ่านที่ถูกต้อง", "A valid email must be provided" : "จะต้องระบุอีเมลที่ถูกต้อง", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "ตั้งค่าให้สามารถอ่านได้อย่างเดียวถูกเปิดใช้งาน นี้จะช่วยป้องกันการตั้งค่าผ่านทางบางเว็บอินเตอร์เฟซ นอกจากนี้จะต้องเขียนไฟล์ด้วยตนเองสำหรับทุกการอัพเดท", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "นี้อาจเกิดจาก cache/accelerator อย่างเช่น Zend OPcache หรือ eAccelerator", + "System locale can not be set to a one which supports UTF-8." : "ตำแหน่งที่ตั้งของระบบไม่สามารถตั้งค่าให้รองรับ UTF-8", + "Tips & tricks" : "เคล็ดลับและเทคนิค", + "How to do backups" : "วิธีการสำรองข้อมูล", + "Performance tuning" : "การปรับแต่งประสิทธิภาพ", + "Improving the config.php" : "ปรับปรุงไฟล์ config.php", + "Theming" : "ชุดรูปแบบ", + "Hardening and security guidance" : "คำแนะนำการรักษาความปลอดภัย", "by %s" : "โดย %s", "%s-licensed" : "%s ได้รับใบอนุญาต", "Documentation:" : "เอกสาร:", diff --git a/settings/l10n/tr.js b/settings/l10n/tr.js index d982349f746..72262979c3d 100644 --- a/settings/l10n/tr.js +++ b/settings/l10n/tr.js @@ -101,28 +101,13 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız.", "Start migration" : "Aktarmayı başlat", "Security & setup warnings" : "Güvenlik ve kurulum uyarıları", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Kopyanızın güvenli ve yüksek başarımla çalışması için ayarların doğru yapılmış olması önemlidir. Bunu sağlamak için bazı otomatik denetimler yapılır. Ayrıntılı bilgi almak için İpuçları bölümüne ve belgelere bakabilirsiniz.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP yanlış kurulmuş ve sistem ortam değişkenlerini okuyamıyor gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir yanıt alındı.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Lütfen PHP yapılandırma notları ve özellikle php-fpm kullanırken sunucunuzdaki PHP yapılandırması için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">kurulum belgelerine ↗</a> bakın.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt Okunur yapılandırma etkinleştirilmiş. Bu yapılandırma, bazı ayarların web arayüzünden yapılmasını önler. Ayrıca, bu dosyanın her güncelleme öncesinde el ile yazılabilir yapılması gerekir.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP girintili doc bloklarını ayıklamak üzere yapılandırılmış gibi görünüyor. Bu durum bazı çekirdek uygulamalarına erişilmesini engelleyecek.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Bu sorun genellikle Zend OPcache ya da eAccelerator gibi bir ön bellek/hızlandırıcı nedeniyle ortaya çıkar.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Veritabanınız \"READ COMMITTED\" işlem yalıtma düzeyinde çalışmıyor. Bu durum aynı anda birden çok işlem yapıldığında sorun çıkmasına yol açabilir.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s, %2$s sürümünden daha düşük bir sürüm kurulu. Kararlılık ve başarım için daha yeni bir %1$s sürümüne güncellemeniz önerilir.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP 'fileinfo' modülü bulunamadı. MIME türü algılamasında en iyi sonuçları elde etmek için bu modülü etkinleştirmeniz önerilir.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "İşlemsel dosya kilidi devre dışı. Bu durum yarış koşullarında (race condition) sorun çıkarabilir. Bu sorunlardan kaçınmak için config.php dosyasındaki 'filelocking.enabled' seçeneğini etkinleştirin. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">belgelere ↗</a> bakabilirsiniz.", - "System locale can not be set to a one which supports UTF-8." : "Sistem dili UTF-8 destekleyenlerden biri olarak ayarlanamadı.", - "This means that there might be problems with certain characters in filenames." : "Bu durum dosya adlarında belirli karakterler kullanıldığında sorun çıkmasına yol açabilir.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Şu dillerden birini desteklemesi için sisteminize gerekli paketleri kurmanız önemle önerilir: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Kurulumunuz etki alanının kök klasörüne yapılmamış ve sistem Zamanlanmış Görevini kullanıyorsa, İnternet adresi oluşturma sorunları oluşabilir. Bu sorunların önüne geçmek için, kurulumunuzun config.php dosyasındaki \"overwrite.cli.url\" seçeneğini web kök klasörü olarak ayarlayın (Önerilen: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Zamanlanmış görev CLI üzerinden çalıştırılamadı. Şu teknik sorunlar çıktı:", - "Last background job execution ran %s. Something seems wrong." : "Görevin art alanda son yürütülmesi: %s. Bir şeyler yanlış görünüyor.", - "Check the background job settings" : "Art alan görevi ayarlarını denetleyin", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Kopyanızın güvenli ve yüksek başarımla çalışması için ayarların doğru yapılmış olması önemlidir. Bunu sağlamak için bazı otomatik denetimler yapılır. Ayrıntılı bilgi almak için İpuçları bölümüne ve belgelere bakın.", "All checks passed." : "Tüm denetimlerden geçti.", "There are some errors regarding your setup." : "Kurulumunuz ile ilgili bazı sorunlar var.", "There are some warnings regarding your setup." : "Kurulumunuz ile ilgili bazı uyarılar var.", "Checking for system and security issues." : "Sistem ve güvenlik sorunları denetleniyor.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Lütfen <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">kurulum rehberlerini↗</a> yeniden gözden geçirin ve <a href=\"%s\">günlük</a> kayıtlarındaki hata ve uyarılara bakın.", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Güvenlik sınamamızdan ↗</a> geçirerek Nextcloud güvenliğinizi denetleyin.", "Version" : "Sürüm", "Background jobs" : "Art alan görevleri", "Last job ran %s." : "Son görev çalışması: %s.", @@ -154,17 +139,6 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Herkese açık bağlantı yükleme sayfasındaki sorumluluk reddi bildirim metni (yalnız dosya listesi gizli iken görüntülenir).", "This text will be shown on the public link upload page when the file list is hidden." : "Dosya listesi gizli iken herkese açık bağlantı yükleme sayfasında görüntülenecek sorumluluk reddi bildirimi metni.", "Default share permissions" : "Varsayılan paylaşım izinleri", - "Tips & tricks" : "İpucu ve incelikler", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Bu kopyayı kullanmak ve en iyi şekilde ayarlamak için çok sayıda özellik ve ayar seçeneği vardır. Ayrıntılı bilgi alabileceğiniz bazı konular şu şekildedir.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Şu anda veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneriyoruz.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' ya da <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">belgelere ↗</a> bakın.", - "How to do backups" : "Nasıl yedek alınır", - "Performance tuning" : "Başarım ayarlama", - "Improving the config.php" : "config.php iyileştirme", - "Theming" : "Tema uygulama", - "Check the security of your Nextcloud over our security scan" : "Güvenlik sınamamızdan geçirerek Nextcloud güvenliğinizi denetleyin", - "Hardening and security guidance" : "Sağlamlaştırma ve güvenlik rehberliği", "Personal" : "Kişisel", "Administration" : "Yönetim", "Profile picture" : "Profil görseli", @@ -389,10 +363,14 @@ OC.L10N.register( "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Kopyanızın güvenli ve yüksek başarımla çalışması için ayarların doğru yapılmış olması önemlidir. Bunu sağlamak için bazı otomatik denetimler yapılır. Ayrıntılı bilgi almak için İpuçları bölümüne ve belgelere bakabilirsiniz.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP yanlış kurulmuş ve sistem ortam değişkenlerini okuyamıyor gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir yanıt alındı.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Lütfen PHP yapılandırma notları ve özellikle php-fpm kullanırken sunucunuzdaki PHP yapılandırması için <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">kurulum belgelerine ↗</a> bakın.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt Okunur yapılandırma etkinleştirilmiş. Bu yapılandırma, bazı ayarların web arayüzünden yapılmasını önler. Ayrıca, bu dosyanın her güncelleme öncesinde el ile yazılabilir yapılması gerekir.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP girintili doc bloklarını ayıklamak üzere yapılandırılmış gibi görünüyor. Bu durum bazı çekirdek uygulamalarına erişilmesini engelleyecek.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Bu sorun genellikle Zend OPcache ya da eAccelerator gibi bir ön bellek/hızlandırıcı nedeniyle ortaya çıkar.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Veritabanınız \"READ COMMITTED\" işlem yalıtma düzeyinde çalışmıyor. Bu durum aynı anda birden çok işlem yapıldığında sorun çıkmasına yol açabilir.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s, %2$s sürümünden daha düşük bir sürüm kurulu. Kararlılık ve başarım için daha yeni bir %1$s sürümüne güncellemeniz önerilir.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP 'fileinfo' modülü bulunamadı. MIME türü algılamasında en iyi sonuçları elde etmek için bu modülü etkinleştirmeniz önerilir.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "İşlemsel dosya kilidi devre dışı. Bu durum yarış koşullarında (race condition) sorun çıkarabilir. Bu sorunlardan kaçınmak için config.php dosyasındaki 'filelocking.enabled' seçeneğini etkinleştirin. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">belgelere ↗</a> bakabilirsiniz.", + "System locale can not be set to a one which supports UTF-8." : "Sistem dili UTF-8 destekleyenlerden biri olarak ayarlanamadı.", "This means that there might be problems with certain characters in file names." : "Bu durum dosya adlarında belirli karakterler kullanıldığında sorun çıkmasına yol açabilir.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Şu dillerden birini desteklemesi için sisteminize gerekli paketleri kurmanız önemle önerilir: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Kurulumunuz etki alanının kök klasörüne yapılmamış ve sistem zamanlanmış görevini kullanıyorsa, İnternet adresi oluşturma sorunları oluşabilir. Bu sorunların önüne geçmek için, kurulumunuzun config.php dosyasındaki \"overwrite.cli.url\" seçeneğini web kök klasörü olarak ayarlayın (Önerilen: \"%s\")", @@ -400,7 +378,17 @@ OC.L10N.register( "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Lütfen <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">kurulum rehberlerini↗</a> yeniden gözden geçirin ve <a href=\"%s\">günlük</a> kayıtlarındaki hata ve uyarılara bakın.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php, http üzerinden 15 dakikada bir yürütülmesi için webcron hizmetine kaydedildi.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Bunu çalıştıraiblmek için PHP posix eklentisi gereklidir. Ayrıntılı bilgi almak için {linkstart}PHP belgelerine{linkend} bakabilirsiniz.", + "Tips & tricks" : "İpucu ve incelikler", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Bu kopyayı kullanmak ve en iyi şekilde ayarlamak için çok sayıda özellik ve ayar seçeneği vardır. Ayrıntılı bilgi alabileceğiniz bazı konular şu şekildedir.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Şu anda veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneriyoruz.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' ya da <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">belgelere ↗</a> bakın.", + "How to do backups" : "Nasıl yedek alınır", + "Performance tuning" : "Başarım ayarlama", + "Improving the config.php" : "config.php iyileştirme", + "Theming" : "Tema uygulama", + "Check the security of your Nextcloud over our security scan" : "Güvenlik sınamamızdan geçirerek Nextcloud güvenliğinizi denetleyin", + "Hardening and security guidance" : "Sağlamlaştırma ve güvenlik rehberliği", "View in store" : "Mağazada görüntüle", "Limit to groups" : "Şu gruplarla sınırla", "This app has an update available." : "Bu uygulama için bir güncelleme yayınlanmış.", @@ -453,6 +441,18 @@ OC.L10N.register( "Updating …" : "Güncelleniyor …", "Could not update app" : "Uygulama güncellenemedi", "Could not remove app" : "Uygulama kaldırılamadı", - "{size} used" : "{size} kullanılmış" + "{size} used" : "{size} kullanılmış", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Kopyanızın güvenli ve yüksek başarımla çalışması için ayarların doğru yapılmış olması önemlidir. Bunu sağlamak için bazı otomatik denetimler yapılır. Ayrıntılı bilgi almak için İpuçları bölümüne ve belgelere bakabilirsiniz.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP yanlış kurulmuş ve sistem ortam değişkenlerini okuyamıyor gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir yanıt alındı.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Lütfen PHP yapılandırma notları ve özellikle php-fpm kullanırken sunucunuzdaki PHP yapılandırması için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">kurulum belgelerine ↗</a> bakın.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP girintili doc bloklarını ayıklamak üzere yapılandırılmış gibi görünüyor. Bu durum bazı çekirdek uygulamalarına erişilmesini engelleyecek.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s, %2$s sürümünden daha düşük bir sürüm kurulu. Kararlılık ve başarım için daha yeni bir %1$s sürümüne güncellemeniz önerilir.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP 'fileinfo' modülü bulunamadı. MIME türü algılamasında en iyi sonuçları elde etmek için bu modülü etkinleştirmeniz önerilir.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "İşlemsel dosya kilidi devre dışı. Bu durum yarış koşullarında (race condition) sorun çıkarabilir. Bu sorunlardan kaçınmak için config.php dosyasındaki 'filelocking.enabled' seçeneğini etkinleştirin. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">belgelere ↗</a> bakabilirsiniz.", + "This means that there might be problems with certain characters in filenames." : "Bu durum dosya adlarında belirli karakterler kullanıldığında sorun çıkmasına yol açabilir.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Şu dillerden birini desteklemesi için sisteminize gerekli paketleri kurmanız önemle önerilir: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Kurulumunuz etki alanının kök klasörüne yapılmamış ve sistem Zamanlanmış Görevini kullanıyorsa, İnternet adresi oluşturma sorunları oluşabilir. Bu sorunların önüne geçmek için, kurulumunuzun config.php dosyasındaki \"overwrite.cli.url\" seçeneğini web kök klasörü olarak ayarlayın (Önerilen: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Zamanlanmış görev CLI üzerinden çalıştırılamadı. Şu teknik sorunlar çıktı:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' ya da <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">belgelere ↗</a> bakın." }, "nplurals=2; plural=(n > 1);"); diff --git a/settings/l10n/tr.json b/settings/l10n/tr.json index 11ccc5a0880..a99ec854a64 100644 --- a/settings/l10n/tr.json +++ b/settings/l10n/tr.json @@ -99,28 +99,13 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız.", "Start migration" : "Aktarmayı başlat", "Security & setup warnings" : "Güvenlik ve kurulum uyarıları", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Kopyanızın güvenli ve yüksek başarımla çalışması için ayarların doğru yapılmış olması önemlidir. Bunu sağlamak için bazı otomatik denetimler yapılır. Ayrıntılı bilgi almak için İpuçları bölümüne ve belgelere bakabilirsiniz.", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP yanlış kurulmuş ve sistem ortam değişkenlerini okuyamıyor gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir yanıt alındı.", - "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Lütfen PHP yapılandırma notları ve özellikle php-fpm kullanırken sunucunuzdaki PHP yapılandırması için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">kurulum belgelerine ↗</a> bakın.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt Okunur yapılandırma etkinleştirilmiş. Bu yapılandırma, bazı ayarların web arayüzünden yapılmasını önler. Ayrıca, bu dosyanın her güncelleme öncesinde el ile yazılabilir yapılması gerekir.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP girintili doc bloklarını ayıklamak üzere yapılandırılmış gibi görünüyor. Bu durum bazı çekirdek uygulamalarına erişilmesini engelleyecek.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Bu sorun genellikle Zend OPcache ya da eAccelerator gibi bir ön bellek/hızlandırıcı nedeniyle ortaya çıkar.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Veritabanınız \"READ COMMITTED\" işlem yalıtma düzeyinde çalışmıyor. Bu durum aynı anda birden çok işlem yapıldığında sorun çıkmasına yol açabilir.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s, %2$s sürümünden daha düşük bir sürüm kurulu. Kararlılık ve başarım için daha yeni bir %1$s sürümüne güncellemeniz önerilir.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP 'fileinfo' modülü bulunamadı. MIME türü algılamasında en iyi sonuçları elde etmek için bu modülü etkinleştirmeniz önerilir.", - "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "İşlemsel dosya kilidi devre dışı. Bu durum yarış koşullarında (race condition) sorun çıkarabilir. Bu sorunlardan kaçınmak için config.php dosyasındaki 'filelocking.enabled' seçeneğini etkinleştirin. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">belgelere ↗</a> bakabilirsiniz.", - "System locale can not be set to a one which supports UTF-8." : "Sistem dili UTF-8 destekleyenlerden biri olarak ayarlanamadı.", - "This means that there might be problems with certain characters in filenames." : "Bu durum dosya adlarında belirli karakterler kullanıldığında sorun çıkmasına yol açabilir.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Şu dillerden birini desteklemesi için sisteminize gerekli paketleri kurmanız önemle önerilir: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Kurulumunuz etki alanının kök klasörüne yapılmamış ve sistem Zamanlanmış Görevini kullanıyorsa, İnternet adresi oluşturma sorunları oluşabilir. Bu sorunların önüne geçmek için, kurulumunuzun config.php dosyasındaki \"overwrite.cli.url\" seçeneğini web kök klasörü olarak ayarlayın (Önerilen: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Zamanlanmış görev CLI üzerinden çalıştırılamadı. Şu teknik sorunlar çıktı:", - "Last background job execution ran %s. Something seems wrong." : "Görevin art alanda son yürütülmesi: %s. Bir şeyler yanlış görünüyor.", - "Check the background job settings" : "Art alan görevi ayarlarını denetleyin", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Kopyanızın güvenli ve yüksek başarımla çalışması için ayarların doğru yapılmış olması önemlidir. Bunu sağlamak için bazı otomatik denetimler yapılır. Ayrıntılı bilgi almak için İpuçları bölümüne ve belgelere bakın.", "All checks passed." : "Tüm denetimlerden geçti.", "There are some errors regarding your setup." : "Kurulumunuz ile ilgili bazı sorunlar var.", "There are some warnings regarding your setup." : "Kurulumunuz ile ilgili bazı uyarılar var.", "Checking for system and security issues." : "Sistem ve güvenlik sorunları denetleniyor.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Lütfen <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">kurulum rehberlerini↗</a> yeniden gözden geçirin ve <a href=\"%s\">günlük</a> kayıtlarındaki hata ve uyarılara bakın.", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Güvenlik sınamamızdan ↗</a> geçirerek Nextcloud güvenliğinizi denetleyin.", "Version" : "Sürüm", "Background jobs" : "Art alan görevleri", "Last job ran %s." : "Son görev çalışması: %s.", @@ -152,17 +137,6 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Herkese açık bağlantı yükleme sayfasındaki sorumluluk reddi bildirim metni (yalnız dosya listesi gizli iken görüntülenir).", "This text will be shown on the public link upload page when the file list is hidden." : "Dosya listesi gizli iken herkese açık bağlantı yükleme sayfasında görüntülenecek sorumluluk reddi bildirimi metni.", "Default share permissions" : "Varsayılan paylaşım izinleri", - "Tips & tricks" : "İpucu ve incelikler", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Bu kopyayı kullanmak ve en iyi şekilde ayarlamak için çok sayıda özellik ve ayar seçeneği vardır. Ayrıntılı bilgi alabileceğiniz bazı konular şu şekildedir.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Şu anda veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneriyoruz.", - "This is particularly recommended when using the desktop client for file synchronisation." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' ya da <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">belgelere ↗</a> bakın.", - "How to do backups" : "Nasıl yedek alınır", - "Performance tuning" : "Başarım ayarlama", - "Improving the config.php" : "config.php iyileştirme", - "Theming" : "Tema uygulama", - "Check the security of your Nextcloud over our security scan" : "Güvenlik sınamamızdan geçirerek Nextcloud güvenliğinizi denetleyin", - "Hardening and security guidance" : "Sağlamlaştırma ve güvenlik rehberliği", "Personal" : "Kişisel", "Administration" : "Yönetim", "Profile picture" : "Profil görseli", @@ -387,10 +361,14 @@ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Kopyanızın güvenli ve yüksek başarımla çalışması için ayarların doğru yapılmış olması önemlidir. Bunu sağlamak için bazı otomatik denetimler yapılır. Ayrıntılı bilgi almak için İpuçları bölümüne ve belgelere bakabilirsiniz.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP yanlış kurulmuş ve sistem ortam değişkenlerini okuyamıyor gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir yanıt alındı.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Lütfen PHP yapılandırma notları ve özellikle php-fpm kullanırken sunucunuzdaki PHP yapılandırması için <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">kurulum belgelerine ↗</a> bakın.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt Okunur yapılandırma etkinleştirilmiş. Bu yapılandırma, bazı ayarların web arayüzünden yapılmasını önler. Ayrıca, bu dosyanın her güncelleme öncesinde el ile yazılabilir yapılması gerekir.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP girintili doc bloklarını ayıklamak üzere yapılandırılmış gibi görünüyor. Bu durum bazı çekirdek uygulamalarına erişilmesini engelleyecek.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Bu sorun genellikle Zend OPcache ya da eAccelerator gibi bir ön bellek/hızlandırıcı nedeniyle ortaya çıkar.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Veritabanınız \"READ COMMITTED\" işlem yalıtma düzeyinde çalışmıyor. Bu durum aynı anda birden çok işlem yapıldığında sorun çıkmasına yol açabilir.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s, %2$s sürümünden daha düşük bir sürüm kurulu. Kararlılık ve başarım için daha yeni bir %1$s sürümüne güncellemeniz önerilir.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP 'fileinfo' modülü bulunamadı. MIME türü algılamasında en iyi sonuçları elde etmek için bu modülü etkinleştirmeniz önerilir.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "İşlemsel dosya kilidi devre dışı. Bu durum yarış koşullarında (race condition) sorun çıkarabilir. Bu sorunlardan kaçınmak için config.php dosyasındaki 'filelocking.enabled' seçeneğini etkinleştirin. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">belgelere ↗</a> bakabilirsiniz.", + "System locale can not be set to a one which supports UTF-8." : "Sistem dili UTF-8 destekleyenlerden biri olarak ayarlanamadı.", "This means that there might be problems with certain characters in file names." : "Bu durum dosya adlarında belirli karakterler kullanıldığında sorun çıkmasına yol açabilir.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Şu dillerden birini desteklemesi için sisteminize gerekli paketleri kurmanız önemle önerilir: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Kurulumunuz etki alanının kök klasörüne yapılmamış ve sistem zamanlanmış görevini kullanıyorsa, İnternet adresi oluşturma sorunları oluşabilir. Bu sorunların önüne geçmek için, kurulumunuzun config.php dosyasındaki \"overwrite.cli.url\" seçeneğini web kök klasörü olarak ayarlayın (Önerilen: \"%s\")", @@ -398,7 +376,17 @@ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Lütfen <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">kurulum rehberlerini↗</a> yeniden gözden geçirin ve <a href=\"%s\">günlük</a> kayıtlarındaki hata ve uyarılara bakın.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php, http üzerinden 15 dakikada bir yürütülmesi için webcron hizmetine kaydedildi.", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Bunu çalıştıraiblmek için PHP posix eklentisi gereklidir. Ayrıntılı bilgi almak için {linkstart}PHP belgelerine{linkend} bakabilirsiniz.", + "Tips & tricks" : "İpucu ve incelikler", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Bu kopyayı kullanmak ve en iyi şekilde ayarlamak için çok sayıda özellik ve ayar seçeneği vardır. Ayrıntılı bilgi alabileceğiniz bazı konular şu şekildedir.", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Şu anda veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneriyoruz.", + "This is particularly recommended when using the desktop client for file synchronisation." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' ya da <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">belgelere ↗</a> bakın.", + "How to do backups" : "Nasıl yedek alınır", + "Performance tuning" : "Başarım ayarlama", + "Improving the config.php" : "config.php iyileştirme", + "Theming" : "Tema uygulama", + "Check the security of your Nextcloud over our security scan" : "Güvenlik sınamamızdan geçirerek Nextcloud güvenliğinizi denetleyin", + "Hardening and security guidance" : "Sağlamlaştırma ve güvenlik rehberliği", "View in store" : "Mağazada görüntüle", "Limit to groups" : "Şu gruplarla sınırla", "This app has an update available." : "Bu uygulama için bir güncelleme yayınlanmış.", @@ -451,6 +439,18 @@ "Updating …" : "Güncelleniyor …", "Could not update app" : "Uygulama güncellenemedi", "Could not remove app" : "Uygulama kaldırılamadı", - "{size} used" : "{size} kullanılmış" + "{size} used" : "{size} kullanılmış", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "Kopyanızın güvenli ve yüksek başarımla çalışması için ayarların doğru yapılmış olması önemlidir. Bunu sağlamak için bazı otomatik denetimler yapılır. Ayrıntılı bilgi almak için İpuçları bölümüne ve belgelere bakabilirsiniz.", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP yanlış kurulmuş ve sistem ortam değişkenlerini okuyamıyor gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir yanıt alındı.", + "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Lütfen PHP yapılandırma notları ve özellikle php-fpm kullanırken sunucunuzdaki PHP yapılandırması için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">kurulum belgelerine ↗</a> bakın.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP girintili doc bloklarını ayıklamak üzere yapılandırılmış gibi görünüyor. Bu durum bazı çekirdek uygulamalarına erişilmesini engelleyecek.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s, %2$s sürümünden daha düşük bir sürüm kurulu. Kararlılık ve başarım için daha yeni bir %1$s sürümüne güncellemeniz önerilir.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP 'fileinfo' modülü bulunamadı. MIME türü algılamasında en iyi sonuçları elde etmek için bu modülü etkinleştirmeniz önerilir.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "İşlemsel dosya kilidi devre dışı. Bu durum yarış koşullarında (race condition) sorun çıkarabilir. Bu sorunlardan kaçınmak için config.php dosyasındaki 'filelocking.enabled' seçeneğini etkinleştirin. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">belgelere ↗</a> bakabilirsiniz.", + "This means that there might be problems with certain characters in filenames." : "Bu durum dosya adlarında belirli karakterler kullanıldığında sorun çıkmasına yol açabilir.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Şu dillerden birini desteklemesi için sisteminize gerekli paketleri kurmanız önemle önerilir: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Kurulumunuz etki alanının kök klasörüne yapılmamış ve sistem Zamanlanmış Görevini kullanıyorsa, İnternet adresi oluşturma sorunları oluşabilir. Bu sorunların önüne geçmek için, kurulumunuzun config.php dosyasındaki \"overwrite.cli.url\" seçeneğini web kök klasörü olarak ayarlayın (Önerilen: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Zamanlanmış görev CLI üzerinden çalıştırılamadı. Şu teknik sorunlar çıktı:", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' ya da <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">belgelere ↗</a> bakın." },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/settings/l10n/uk.js b/settings/l10n/uk.js index bc87542a965..77e365b54ee 100644 --- a/settings/l10n/uk.js +++ b/settings/l10n/uk.js @@ -49,9 +49,6 @@ OC.L10N.register( "Select default encryption module:" : "Обрати модуль шифрування за замовчуванням:", "Start migration" : "Розпочати міграцію", "Security & setup warnings" : "Попередження безпеки та налаштування", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Тільки перегляд був включений. Це запобігає встановити деякі конфігурації через веб-інтерфейс. Крім того, файл повинен бути доступний для запису вручну для кожного оновлення.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Це, ймовірно, обумовлено використанням кеша/прискорювача такого як Zend OPcache або eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Неможливо встановити системну локаль, яка б підтримувала UTF-8.", "All checks passed." : "Всі перевірки пройдено.", "Version" : "Версія", "Execute one task with each page loaded" : "Виконати одне завдання для кожної завантаженої сторінки ", @@ -68,12 +65,6 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "Дозволити користувачам відкривати спільний доступ лише для користувачів з їхньої групи", "Exclude groups from sharing" : "Виключити групи зі спільного доступу", "These groups will still be able to receive shares, but not to initiate them." : "Ці групи зможуть отримувати спільні файли, але не зможуть відправляти їх.", - "Tips & tricks" : "Поради і трюки", - "How to do backups" : "Як робити резервне копіювання", - "Performance tuning" : "Налаштування продуктивності", - "Improving the config.php" : "Покращення config.php", - "Theming" : "Оформлення", - "Hardening and security guidance" : "Інструктування з безпеки та захисту", "Profile picture" : "Зображення облікового запису", "Upload new" : "Завантажити нове", "Remove image" : "Видалити зображення", @@ -160,6 +151,15 @@ OC.L10N.register( "A valid username must be provided" : "Потрібно задати вірне ім'я користувача", "A valid password must be provided" : "Потрібно задати вірний пароль", "A valid email must be provided" : "Вкажіть дійсний email", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Тільки перегляд був включений. Це запобігає встановити деякі конфігурації через веб-інтерфейс. Крім того, файл повинен бути доступний для запису вручну для кожного оновлення.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Це, ймовірно, обумовлено використанням кеша/прискорювача такого як Zend OPcache або eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Неможливо встановити системну локаль, яка б підтримувала UTF-8.", + "Tips & tricks" : "Поради і трюки", + "How to do backups" : "Як робити резервне копіювання", + "Performance tuning" : "Налаштування продуктивності", + "Improving the config.php" : "Покращення config.php", + "Theming" : "Оформлення", + "Hardening and security guidance" : "Інструктування з безпеки та захисту", "Documentation:" : "Документація:", "Admin documentation" : "Документація адміністратора", "Show description …" : "Показати деталі ...", diff --git a/settings/l10n/uk.json b/settings/l10n/uk.json index 9cac41da600..e685653f3e5 100644 --- a/settings/l10n/uk.json +++ b/settings/l10n/uk.json @@ -47,9 +47,6 @@ "Select default encryption module:" : "Обрати модуль шифрування за замовчуванням:", "Start migration" : "Розпочати міграцію", "Security & setup warnings" : "Попередження безпеки та налаштування", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Тільки перегляд був включений. Це запобігає встановити деякі конфігурації через веб-інтерфейс. Крім того, файл повинен бути доступний для запису вручну для кожного оновлення.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Це, ймовірно, обумовлено використанням кеша/прискорювача такого як Zend OPcache або eAccelerator.", - "System locale can not be set to a one which supports UTF-8." : "Неможливо встановити системну локаль, яка б підтримувала UTF-8.", "All checks passed." : "Всі перевірки пройдено.", "Version" : "Версія", "Execute one task with each page loaded" : "Виконати одне завдання для кожної завантаженої сторінки ", @@ -66,12 +63,6 @@ "Restrict users to only share with users in their groups" : "Дозволити користувачам відкривати спільний доступ лише для користувачів з їхньої групи", "Exclude groups from sharing" : "Виключити групи зі спільного доступу", "These groups will still be able to receive shares, but not to initiate them." : "Ці групи зможуть отримувати спільні файли, але не зможуть відправляти їх.", - "Tips & tricks" : "Поради і трюки", - "How to do backups" : "Як робити резервне копіювання", - "Performance tuning" : "Налаштування продуктивності", - "Improving the config.php" : "Покращення config.php", - "Theming" : "Оформлення", - "Hardening and security guidance" : "Інструктування з безпеки та захисту", "Profile picture" : "Зображення облікового запису", "Upload new" : "Завантажити нове", "Remove image" : "Видалити зображення", @@ -158,6 +149,15 @@ "A valid username must be provided" : "Потрібно задати вірне ім'я користувача", "A valid password must be provided" : "Потрібно задати вірний пароль", "A valid email must be provided" : "Вкажіть дійсний email", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Тільки перегляд був включений. Це запобігає встановити деякі конфігурації через веб-інтерфейс. Крім того, файл повинен бути доступний для запису вручну для кожного оновлення.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Це, ймовірно, обумовлено використанням кеша/прискорювача такого як Zend OPcache або eAccelerator.", + "System locale can not be set to a one which supports UTF-8." : "Неможливо встановити системну локаль, яка б підтримувала UTF-8.", + "Tips & tricks" : "Поради і трюки", + "How to do backups" : "Як робити резервне копіювання", + "Performance tuning" : "Налаштування продуктивності", + "Improving the config.php" : "Покращення config.php", + "Theming" : "Оформлення", + "Hardening and security guidance" : "Інструктування з безпеки та захисту", "Documentation:" : "Документація:", "Admin documentation" : "Документація адміністратора", "Show description …" : "Показати деталі ...", diff --git a/settings/l10n/zh_CN.js b/settings/l10n/zh_CN.js index 70a8275eb2f..9f8ab182d63 100644 --- a/settings/l10n/zh_CN.js +++ b/settings/l10n/zh_CN.js @@ -77,19 +77,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "您需要从旧版本 (ownCloud<=8.0) 迁移您的加密密钥.", "Start migration" : "开始迁移", "Security & setup warnings" : "安全及设置警告", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "你的每项配置对于实例的安全性和性能都至关重要。 为了帮助您,我们正在做一些自动检查。 有关详细信息,请参阅提示与技巧部分和文档。", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 的设置似乎有问题, 无法获取系统环境变量. 使用 getenv(\\\"PATH\\\") 测试时仅返回空结果.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "已启用只读配置. 这将阻止在 Web 界面中进行设置. 此外, 每次更新后该文件需要手动设置为可写入.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 被设置为移除内联块, 这将导致多个核心应用无法访问.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "这可能是由缓存/加速器造成的, 例如 Zend OPcache 或 eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "您的数据库不能在 \"READ COMMITTED\" 事务隔离级别运行. 这样可能导致在多个并行操作时出现问题.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "已安装 %1$s 的低版本 %2$s. 出于稳定性和性能的原因, 我们建议您升级到更新的 %1$s 版本.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP 模块 'fileinfo' 缺失. 我们强烈建议启用此模块以便在 MIME 类型检测时获得最准确的结果.", - "System locale can not be set to a one which supports UTF-8." : "系统区域无法设置为支持 UTF-8 的区域.", - "This means that there might be problems with certain characters in filenames." : "这意味着当文件名中包含特定字符时可能出现问题.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "我们强烈建议在您的系统中安装需要的包以支持下列区域: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "如果您不是安装在域名的根目录, 并且使用系统 cron 服务时, 可能导致 URL 生成问题. 为了避免这些问题, 请在您的 config.php 文件中设置 \"overwrite.cli.url\" 选项为您的安装根目录路径 (建议: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "由于下列的技术错误, 无法通过 CLI 执行计划任务:", "All checks passed." : "所有检查已通过.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "请仔细检查<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">安装指南</a>,并检查<a href=\"%s\">日志</a>中是否有错误或警告。", "Version" : "版本", @@ -122,16 +109,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "在共享对话框中允许用户名自动完成。 如果被禁用,则需要输入完整的用户名或电子邮件地址。", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "在公开链接上传页中显示免责声明. (仅当文件列表隐藏时显示)", "This text will be shown on the public link upload page when the file list is hidden." : "这些内容将在公开链接上传页中当文件列表隐藏时显示.", - "Tips & tricks" : "小提示", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "有很多功能和配置可用于更好地自定义和使用此实例。以下是更多相关信息的指南。", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite 当前被用作数据库. 对于较大数据量的安装和使用, 我们建议您切换到不同的数据库后端.", - "This is particularly recommended when using the desktop client for file synchronisation." : "当时用桌面客户端同步文件时特别推荐.", - "How to do backups" : "如何备份", - "Performance tuning" : "性能优化", - "Improving the config.php" : "优化 config.php", - "Theming" : "主题", - "Check the security of your Nextcloud over our security scan" : "通过我们的安全扫描来检查Nextcloud的安全性", - "Hardening and security guidance" : "强化和安全指南", "Personal" : "个人", "Administration" : "管理", "Profile picture" : "账户头像", @@ -347,6 +324,20 @@ OC.L10N.register( "Verifying" : "正在验证", "Personal info" : "个人信息", "Sync clients" : "同步客户端", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "已启用只读配置. 这将阻止在 Web 界面中进行设置. 此外, 每次更新后该文件需要手动设置为可写入.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "这可能是由缓存/加速器造成的, 例如 Zend OPcache 或 eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "您的数据库不能在 \"READ COMMITTED\" 事务隔离级别运行. 这样可能导致在多个并行操作时出现问题.", + "System locale can not be set to a one which supports UTF-8." : "系统区域无法设置为支持 UTF-8 的区域.", + "Tips & tricks" : "小提示", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "有很多功能和配置可用于更好地自定义和使用此实例。以下是更多相关信息的指南。", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite 当前被用作数据库. 对于较大数据量的安装和使用, 我们建议您切换到不同的数据库后端.", + "This is particularly recommended when using the desktop client for file synchronisation." : "当时用桌面客户端同步文件时特别推荐.", + "How to do backups" : "如何备份", + "Performance tuning" : "性能优化", + "Improving the config.php" : "优化 config.php", + "Theming" : "主题", + "Check the security of your Nextcloud over our security scan" : "通过我们的安全扫描来检查Nextcloud的安全性", + "Hardening and security guidance" : "强化和安全指南", "View in store" : "在商店中查看", "Limit to groups" : "限制于组", "This app has an update available." : "此应用有可用的更新.", @@ -393,6 +384,15 @@ OC.L10N.register( "Default" : "默认", "App up to date" : "已是最新应用", "Could not remove app" : "无法移除应用", - "{size} used" : "{size} 已使用" + "{size} used" : "{size} 已使用", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "你的每项配置对于实例的安全性和性能都至关重要。 为了帮助您,我们正在做一些自动检查。 有关详细信息,请参阅提示与技巧部分和文档。", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 的设置似乎有问题, 无法获取系统环境变量. 使用 getenv(\\\"PATH\\\") 测试时仅返回空结果.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 被设置为移除内联块, 这将导致多个核心应用无法访问.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "已安装 %1$s 的低版本 %2$s. 出于稳定性和性能的原因, 我们建议您升级到更新的 %1$s 版本.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP 模块 'fileinfo' 缺失. 我们强烈建议启用此模块以便在 MIME 类型检测时获得最准确的结果.", + "This means that there might be problems with certain characters in filenames." : "这意味着当文件名中包含特定字符时可能出现问题.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "我们强烈建议在您的系统中安装需要的包以支持下列区域: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "如果您不是安装在域名的根目录, 并且使用系统 cron 服务时, 可能导致 URL 生成问题. 为了避免这些问题, 请在您的 config.php 文件中设置 \"overwrite.cli.url\" 选项为您的安装根目录路径 (建议: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "由于下列的技术错误, 无法通过 CLI 执行计划任务:" }, "nplurals=1; plural=0;"); diff --git a/settings/l10n/zh_CN.json b/settings/l10n/zh_CN.json index fef5135a107..59068f9c110 100644 --- a/settings/l10n/zh_CN.json +++ b/settings/l10n/zh_CN.json @@ -75,19 +75,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "您需要从旧版本 (ownCloud<=8.0) 迁移您的加密密钥.", "Start migration" : "开始迁移", "Security & setup warnings" : "安全及设置警告", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "你的每项配置对于实例的安全性和性能都至关重要。 为了帮助您,我们正在做一些自动检查。 有关详细信息,请参阅提示与技巧部分和文档。", - "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 的设置似乎有问题, 无法获取系统环境变量. 使用 getenv(\\\"PATH\\\") 测试时仅返回空结果.", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "已启用只读配置. 这将阻止在 Web 界面中进行设置. 此外, 每次更新后该文件需要手动设置为可写入.", - "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 被设置为移除内联块, 这将导致多个核心应用无法访问.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "这可能是由缓存/加速器造成的, 例如 Zend OPcache 或 eAccelerator.", - "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "您的数据库不能在 \"READ COMMITTED\" 事务隔离级别运行. 这样可能导致在多个并行操作时出现问题.", - "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "已安装 %1$s 的低版本 %2$s. 出于稳定性和性能的原因, 我们建议您升级到更新的 %1$s 版本.", - "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP 模块 'fileinfo' 缺失. 我们强烈建议启用此模块以便在 MIME 类型检测时获得最准确的结果.", - "System locale can not be set to a one which supports UTF-8." : "系统区域无法设置为支持 UTF-8 的区域.", - "This means that there might be problems with certain characters in filenames." : "这意味着当文件名中包含特定字符时可能出现问题.", - "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "我们强烈建议在您的系统中安装需要的包以支持下列区域: %s.", - "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "如果您不是安装在域名的根目录, 并且使用系统 cron 服务时, 可能导致 URL 生成问题. 为了避免这些问题, 请在您的 config.php 文件中设置 \"overwrite.cli.url\" 选项为您的安装根目录路径 (建议: \"%s\")", - "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "由于下列的技术错误, 无法通过 CLI 执行计划任务:", "All checks passed." : "所有检查已通过.", "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "请仔细检查<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">安装指南</a>,并检查<a href=\"%s\">日志</a>中是否有错误或警告。", "Version" : "版本", @@ -120,16 +107,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "在共享对话框中允许用户名自动完成。 如果被禁用,则需要输入完整的用户名或电子邮件地址。", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "在公开链接上传页中显示免责声明. (仅当文件列表隐藏时显示)", "This text will be shown on the public link upload page when the file list is hidden." : "这些内容将在公开链接上传页中当文件列表隐藏时显示.", - "Tips & tricks" : "小提示", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "有很多功能和配置可用于更好地自定义和使用此实例。以下是更多相关信息的指南。", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite 当前被用作数据库. 对于较大数据量的安装和使用, 我们建议您切换到不同的数据库后端.", - "This is particularly recommended when using the desktop client for file synchronisation." : "当时用桌面客户端同步文件时特别推荐.", - "How to do backups" : "如何备份", - "Performance tuning" : "性能优化", - "Improving the config.php" : "优化 config.php", - "Theming" : "主题", - "Check the security of your Nextcloud over our security scan" : "通过我们的安全扫描来检查Nextcloud的安全性", - "Hardening and security guidance" : "强化和安全指南", "Personal" : "个人", "Administration" : "管理", "Profile picture" : "账户头像", @@ -345,6 +322,20 @@ "Verifying" : "正在验证", "Personal info" : "个人信息", "Sync clients" : "同步客户端", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "已启用只读配置. 这将阻止在 Web 界面中进行设置. 此外, 每次更新后该文件需要手动设置为可写入.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "这可能是由缓存/加速器造成的, 例如 Zend OPcache 或 eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "您的数据库不能在 \"READ COMMITTED\" 事务隔离级别运行. 这样可能导致在多个并行操作时出现问题.", + "System locale can not be set to a one which supports UTF-8." : "系统区域无法设置为支持 UTF-8 的区域.", + "Tips & tricks" : "小提示", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "有很多功能和配置可用于更好地自定义和使用此实例。以下是更多相关信息的指南。", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite 当前被用作数据库. 对于较大数据量的安装和使用, 我们建议您切换到不同的数据库后端.", + "This is particularly recommended when using the desktop client for file synchronisation." : "当时用桌面客户端同步文件时特别推荐.", + "How to do backups" : "如何备份", + "Performance tuning" : "性能优化", + "Improving the config.php" : "优化 config.php", + "Theming" : "主题", + "Check the security of your Nextcloud over our security scan" : "通过我们的安全扫描来检查Nextcloud的安全性", + "Hardening and security guidance" : "强化和安全指南", "View in store" : "在商店中查看", "Limit to groups" : "限制于组", "This app has an update available." : "此应用有可用的更新.", @@ -391,6 +382,15 @@ "Default" : "默认", "App up to date" : "已是最新应用", "Could not remove app" : "无法移除应用", - "{size} used" : "{size} 已使用" + "{size} used" : "{size} 已使用", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information." : "你的每项配置对于实例的安全性和性能都至关重要。 为了帮助您,我们正在做一些自动检查。 有关详细信息,请参阅提示与技巧部分和文档。", + "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 的设置似乎有问题, 无法获取系统环境变量. 使用 getenv(\\\"PATH\\\") 测试时仅返回空结果.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 被设置为移除内联块, 这将导致多个核心应用无法访问.", + "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "已安装 %1$s 的低版本 %2$s. 出于稳定性和性能的原因, 我们建议您升级到更新的 %1$s 版本.", + "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "PHP 模块 'fileinfo' 缺失. 我们强烈建议启用此模块以便在 MIME 类型检测时获得最准确的结果.", + "This means that there might be problems with certain characters in filenames." : "这意味着当文件名中包含特定字符时可能出现问题.", + "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "我们强烈建议在您的系统中安装需要的包以支持下列区域: %s.", + "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "如果您不是安装在域名的根目录, 并且使用系统 cron 服务时, 可能导致 URL 生成问题. 为了避免这些问题, 请在您的 config.php 文件中设置 \"overwrite.cli.url\" 选项为您的安装根目录路径 (建议: \"%s\")", + "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "由于下列的技术错误, 无法通过 CLI 执行计划任务:" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/settings/l10n/zh_TW.js b/settings/l10n/zh_TW.js index 100f622a613..e76ebfeaabc 100644 --- a/settings/l10n/zh_TW.js +++ b/settings/l10n/zh_TW.js @@ -75,9 +75,6 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : " 您需要遷移您的加密金鑰從舊版的加密 (ownCloud <= 8.0) 到新版", "Start migration" : "開始遷移", "Security & setup warnings" : "安全及設定警告", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "「唯讀設定檔」已經啟用,這樣可以防止來自網頁端的設定操作,每次需要更改設定時,都需要手動將設定檔暫時改為可讀寫。", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "這大概是由快取或是加速器像是 Zend OPcache, eAccelerator 造成的", - "System locale can not be set to a one which supports UTF-8." : "無法設定為一個支援 UTF-8 的系統語系", "All checks passed." : "所有檢查正常", "Version" : "版本", "Background jobs" : "背景工作", @@ -109,17 +106,6 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "允許使用者名稱自動補齊在分享對話框,如果停用這個功能,必須輸入完整的使用者名稱或電子郵件地址", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "在公開的檔案連結和上傳頁面顯示免責聲明(只有在檔案清單隱藏的時候才會顯示)", "This text will be shown on the public link upload page when the file list is hidden." : "這段文字會在公開檔案上傳頁面檔案清單被隱藏的時候顯示", - "Tips & tricks" : "技巧和提示", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "這裡有很多功能和設定選項讓您客製化您的服務,以下有一些建議和提示", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "目前您的後端資料庫使用 SQLite,在大型服務當中,我們建議您使用其他的資料庫後端。", - "This is particularly recommended when using the desktop client for file synchronisation." : "若您使用桌面客戶端來同步,尤其建議您更換", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "若要遷移至另一個資料庫,請使用命令列工具: 'occ db:convert-type' ,或是查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">說明文件</a>。", - "How to do backups" : "如何備份", - "Performance tuning" : "效能調校", - "Improving the config.php" : "改進 config.php", - "Theming" : "佈景主題", - "Check the security of your Nextcloud over our security scan" : "使用我們的掃描服務來檢查您 Nextcloud 的安全性", - "Hardening and security guidance" : "增強安全指南", "Personal" : "個人", "Administration" : "管理", "Profile picture" : "大頭貼照", @@ -330,6 +316,19 @@ OC.L10N.register( "A valid password must be provided" : "一定要提供一個有效的密碼", "A valid email must be provided" : "必須提供一個有效的電子郵件地址", "__language_name__" : "正體中文(臺灣)", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "「唯讀設定檔」已經啟用,這樣可以防止來自網頁端的設定操作,每次需要更改設定時,都需要手動將設定檔暫時改為可讀寫。", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "這大概是由快取或是加速器像是 Zend OPcache, eAccelerator 造成的", + "System locale can not be set to a one which supports UTF-8." : "無法設定為一個支援 UTF-8 的系統語系", + "Tips & tricks" : "技巧和提示", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "這裡有很多功能和設定選項讓您客製化您的服務,以下有一些建議和提示", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "目前您的後端資料庫使用 SQLite,在大型服務當中,我們建議您使用其他的資料庫後端。", + "This is particularly recommended when using the desktop client for file synchronisation." : "若您使用桌面客戶端來同步,尤其建議您更換", + "How to do backups" : "如何備份", + "Performance tuning" : "效能調校", + "Improving the config.php" : "改進 config.php", + "Theming" : "佈景主題", + "Check the security of your Nextcloud over our security scan" : "使用我們的掃描服務來檢查您 Nextcloud 的安全性", + "Hardening and security guidance" : "增強安全指南", "View in store" : "在商店中檢視", "Limit to groups" : "限制給特定群組", "This app has an update available." : "此應用程式有可用的更新", @@ -363,6 +362,7 @@ OC.L10N.register( "Default" : "預設", "App up to date" : "此應用程式為最新版", "Could not remove app" : "無法移除應用程式", - "{size} used" : "{size} 已使用" + "{size} used" : "{size} 已使用", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "若要遷移至另一個資料庫,請使用命令列工具: 'occ db:convert-type' ,或是查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">說明文件</a>。" }, "nplurals=1; plural=0;"); diff --git a/settings/l10n/zh_TW.json b/settings/l10n/zh_TW.json index 7e84bf36383..264aff66338 100644 --- a/settings/l10n/zh_TW.json +++ b/settings/l10n/zh_TW.json @@ -73,9 +73,6 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : " 您需要遷移您的加密金鑰從舊版的加密 (ownCloud <= 8.0) 到新版", "Start migration" : "開始遷移", "Security & setup warnings" : "安全及設定警告", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "「唯讀設定檔」已經啟用,這樣可以防止來自網頁端的設定操作,每次需要更改設定時,都需要手動將設定檔暫時改為可讀寫。", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "這大概是由快取或是加速器像是 Zend OPcache, eAccelerator 造成的", - "System locale can not be set to a one which supports UTF-8." : "無法設定為一個支援 UTF-8 的系統語系", "All checks passed." : "所有檢查正常", "Version" : "版本", "Background jobs" : "背景工作", @@ -107,17 +104,6 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "允許使用者名稱自動補齊在分享對話框,如果停用這個功能,必須輸入完整的使用者名稱或電子郵件地址", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "在公開的檔案連結和上傳頁面顯示免責聲明(只有在檔案清單隱藏的時候才會顯示)", "This text will be shown on the public link upload page when the file list is hidden." : "這段文字會在公開檔案上傳頁面檔案清單被隱藏的時候顯示", - "Tips & tricks" : "技巧和提示", - "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "這裡有很多功能和設定選項讓您客製化您的服務,以下有一些建議和提示", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "目前您的後端資料庫使用 SQLite,在大型服務當中,我們建議您使用其他的資料庫後端。", - "This is particularly recommended when using the desktop client for file synchronisation." : "若您使用桌面客戶端來同步,尤其建議您更換", - "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "若要遷移至另一個資料庫,請使用命令列工具: 'occ db:convert-type' ,或是查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">說明文件</a>。", - "How to do backups" : "如何備份", - "Performance tuning" : "效能調校", - "Improving the config.php" : "改進 config.php", - "Theming" : "佈景主題", - "Check the security of your Nextcloud over our security scan" : "使用我們的掃描服務來檢查您 Nextcloud 的安全性", - "Hardening and security guidance" : "增強安全指南", "Personal" : "個人", "Administration" : "管理", "Profile picture" : "大頭貼照", @@ -328,6 +314,19 @@ "A valid password must be provided" : "一定要提供一個有效的密碼", "A valid email must be provided" : "必須提供一個有效的電子郵件地址", "__language_name__" : "正體中文(臺灣)", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "「唯讀設定檔」已經啟用,這樣可以防止來自網頁端的設定操作,每次需要更改設定時,都需要手動將設定檔暫時改為可讀寫。", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "這大概是由快取或是加速器像是 Zend OPcache, eAccelerator 造成的", + "System locale can not be set to a one which supports UTF-8." : "無法設定為一個支援 UTF-8 的系統語系", + "Tips & tricks" : "技巧和提示", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "這裡有很多功能和設定選項讓您客製化您的服務,以下有一些建議和提示", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "目前您的後端資料庫使用 SQLite,在大型服務當中,我們建議您使用其他的資料庫後端。", + "This is particularly recommended when using the desktop client for file synchronisation." : "若您使用桌面客戶端來同步,尤其建議您更換", + "How to do backups" : "如何備份", + "Performance tuning" : "效能調校", + "Improving the config.php" : "改進 config.php", + "Theming" : "佈景主題", + "Check the security of your Nextcloud over our security scan" : "使用我們的掃描服務來檢查您 Nextcloud 的安全性", + "Hardening and security guidance" : "增強安全指南", "View in store" : "在商店中檢視", "Limit to groups" : "限制給特定群組", "This app has an update available." : "此應用程式有可用的更新", @@ -361,6 +360,7 @@ "Default" : "預設", "App up to date" : "此應用程式為最新版", "Could not remove app" : "無法移除應用程式", - "{size} used" : "{size} 已使用" + "{size} used" : "{size} 已使用", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "若要遷移至另一個資料庫,請使用命令列工具: 'occ db:convert-type' ,或是查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">說明文件</a>。" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/settings/package-lock.json b/settings/package-lock.json index 736443e60f6..65f37dd27ae 100644 --- a/settings/package-lock.json +++ b/settings/package-lock.json @@ -5452,9 +5452,9 @@ } }, "rxjs": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.0.tgz", - "integrity": "sha512-qBzf5uu6eOKiCZuAE0SgZ0/Qp+l54oeVxFfC2t+mJ2SFI6IB8gmMdJHs5DUMu5kqifqcCtsKS2XHjhZu6RKvAw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.1.tgz", + "integrity": "sha512-OwMxHxmnmHTUpgO+V7dZChf3Tixf4ih95cmXjzzadULziVl/FKhHScGLj4goEw9weePVOH2Q0+GcCBUhKCZc/g==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -6243,9 +6243,9 @@ "dev": true }, "v-tooltip": { - "version": "2.0.0-rc.32", - "resolved": "https://registry.npmjs.org/v-tooltip/-/v-tooltip-2.0.0-rc.32.tgz", - "integrity": "sha512-UAczAn/OG2TpILOgm1bJ+JnJfAZpozS8BEPL8CLPiOnr0N1iDljCf14MtUVecaiYH21V/3996CmtxOUR9Q6Xbw==", + "version": "2.0.0-rc.33", + "resolved": "https://registry.npmjs.org/v-tooltip/-/v-tooltip-2.0.0-rc.33.tgz", + "integrity": "sha1-ePfY6cNCZWIr5lup3HjGfx3AK3M=", "requires": { "lodash.merge": "^4.6.0", "popper.js": "^1.12.9", @@ -6408,9 +6408,9 @@ } }, "webpack-cli": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.0.3.tgz", - "integrity": "sha512-65a3T3SDIozJjRU4UJMdK+LXJt73gNs2qpdjsOeq6jIrfBvAKApy59Glof1qDG3wYEo38HRxb+KrwsrsAtsaiA==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.0.8.tgz", + "integrity": "sha512-KnRLJ0BUaYRqrhAMb9dv3gzdmhmgIMKo0FmdsnmfqbPGtLnnZ6tORZAvmmKfr+A0VgiVpqC60Gv7Ofg0R2CHtQ==", "dev": true, "requires": { "chalk": "^2.4.1", @@ -6464,9 +6464,9 @@ } }, "webpack-merge": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.2.tgz", - "integrity": "sha512-/0QYwW/H1N/CdXYA2PNPVbsxO3u2Fpz34vs72xm03SRfg6bMNGfMJIQEpQjKRvkG2JvT6oRJFpDtSrwbX8Jzvw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.3.tgz", + "integrity": "sha512-zxwAIGK7nKdu5CIZL0BjTQoq3elV0t0MfB7rUC1zj668geid52abs6hN/ACwZdK6LeMS8dC9B6WmtF978zH5mg==", "dev": true, "requires": { "lodash": "^4.17.5" diff --git a/settings/package.json b/settings/package.json index 579f6565e9c..baa17a9d01f 100644 --- a/settings/package.json +++ b/settings/package.json @@ -13,7 +13,7 @@ "dependencies": { "axios": "^0.18.0", "babel-polyfill": "^6.26.0", - "v-tooltip": "^2.0.0-rc.32", + "v-tooltip": "^2.0.0-rc.33", "vue": "^2.5.16", "vue-click-outside": "^1.0.7", "vue-infinite-loading": "^2.3.1", @@ -37,7 +37,7 @@ "vue-loader": "^15.2.4", "vue-template-compiler": "^2.5.16", "webpack": "^4.12.0", - "webpack-cli": "^3.0.3", - "webpack-merge": "^4.1.2" + "webpack-cli": "^3.0.8", + "webpack-merge": "^4.1.3" } } diff --git a/settings/templates/settings/admin/overview.php b/settings/templates/settings/admin/overview.php index 5fb5e110eb1..cf725d3101e 100644 --- a/settings/templates/settings/admin/overview.php +++ b/settings/templates/settings/admin/overview.php @@ -23,133 +23,13 @@ /** @var \OCP\IL10N $l */ /** @var array $_ */ +/** @var \OCP\Defaults $theme */ ?> <div id="security-warning" class="section"> <h2><?php p($l->t('Security & setup warnings'));?></h2> <p class="settings-hint"><?php p($l->t('It\'s important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information.'));?></p> - <ul> - <?php - // is php setup properly to query system environment variables like getenv('PATH') - if ($_['getenvServerNotWorking']) { - ?> - <li> - <?php p($l->t('PHP does not seem to be setup properly to query system environment variables. The test with getenv("PATH") only returns an empty response.')); ?><br> - <?php print_unescaped($l->t('Please check the <a target="_blank" rel="noreferrer noopener" href="%s">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.', link_to_docs('admin-php-fpm'))); ?> - </li> - <?php - } - - // is read only config enabled - if ($_['readOnlyConfigEnabled']) { - ?> - <li> - <?php p($l->t('The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.')); ?> - </li> - <?php - } - - // Are doc blocks accessible? - if (!$_['isAnnotationsWorking']) { - ?> - <li> - <?php p($l->t('PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible.')); ?><br> - <?php p($l->t('This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.')); ?> - </li> - <?php - } - - // Is the Transaction isolation level READ_COMMITTED? - if ($_['invalidTransactionIsolationLevel']) { - ?> - <li> - <?php p($l->t('Your database does not run with "READ COMMITTED" transaction isolation level. This can cause problems when multiple actions are executed in parallel.')); ?> - </li> - <?php - } - - // Warning if memcache is outdated - foreach ($_['OutdatedCacheWarning'] as $php_module => $data) { - ?> - <li> - <?php p($l->t('%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version.', $data)); ?> - </li> - <?php - } - - // if module fileinfo available? - if (!$_['has_fileinfo']) { - ?> - <li> - <?php p($l->t('The PHP module \'fileinfo\' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection.')); ?> - </li> - <?php - } - - // locking configured optimally? - if ($_['fileLockingType'] === 'none') { - ?> - <li> - <?php print_unescaped($l->t('Transactional file locking is disabled, this might lead to issues with race conditions. Enable \'filelocking.enabled\' in config.php to avoid these problems. See the <a target="_blank" rel="noreferrer noopener" href="%s">documentation ↗</a> for more information.', link_to_docs('admin-transactional-locking'))); ?> - </li> - <?php - } - - // is locale working ? - if (!$_['isLocaleWorking']) { - ?> - <li> - <?php - $locales = 'en_US.UTF-8/fr_FR.UTF-8/es_ES.UTF-8/de_DE.UTF-8/ru_RU.UTF-8/pt_BR.UTF-8/it_IT.UTF-8/ja_JP.UTF-8/zh_CN.UTF-8'; - p($l->t('System locale can not be set to a one which supports UTF-8.')); - ?> - <br> - <?php - p($l->t('This means that there might be problems with certain characters in filenames.')); - ?> - <br> - <?php - p($l->t('It is strongly proposed to install the required packages on your system to support one of the following locales: %s.', [$locales])); - ?> - </li> - <?php - } - - if ($_['suggestedOverwriteCliUrl']) { - ?> - <li> - <?php p($l->t('If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the "overwrite.cli.url" option in your config.php file to the webroot path of your installation (Suggested: "%s")', $_['suggestedOverwriteCliUrl'])); ?> - </li> - <?php - } - - if ($_['cronErrors']) { - ?> - <li> - <?php p($l->t('It was not possible to execute the cron job via CLI. The following technical errors have appeared:')); ?> - <br> - <ol> - <?php foreach(json_decode($_['cronErrors']) as $error) { if(isset($error->error)) {?> - <li><?php p($error->error) ?> <?php p($error->hint) ?></li> - <?php }} ?> - </ol> - </li> - <?php - } - ?> - <?php if ($_['lastcron'] !== false): - $relative_time = relative_modified_date($_['lastcron']); - $formatter = \OC::$server->getDateTimeFormatter(); - $absolute_time = $formatter->formatDateTime($_['lastcron'], 'long', 'long'); - if (time() - $_['lastcron'] > 3600): ?> - <li class="crondate" title="<?php p($absolute_time);?>"> - <?php p($l->t("Last background job execution ran %s. Something seems wrong.", [$relative_time]));?> - <a href="<?php p(\OC::$server->getURLGenerator()->linkToRoute('settings.AdminSettings.index', ['section' => 'server'])); ?>#backgroundjobs"><?php p($l->t('Check the background job settings')); ?></a> - </li> - <?php endif; ?> - <?php endif; ?> - </ul> <div id="security-warning-state-ok" class="hidden"> <span class="icon icon-checkmark-white"></span><span class="message"><?php p($l->t('All checks passed.'));?></span> diff --git a/settings/templates/settings/personal/personal.info.php b/settings/templates/settings/personal/personal.info.php index b40f4b6720f..087451d3040 100644 --- a/settings/templates/settings/personal/personal.info.php +++ b/settings/templates/settings/personal/personal.info.php @@ -78,7 +78,7 @@ vendor_style('jcrop/css/jquery.Jcrop'); <div class="personal-settings-setting-box personal-settings-group-box section"> <h2><?php p($l->t('Details')); ?></h2> <div id="groups" class="personal-info icon-user"> - <p class="icon-groups"><?php p($l->t('You are member of the following groups:')); ?></p> + <p class="icon-groups"><?php p($l->t('You are a member of the following groups:')); ?></p> <p id="groups-groups"> <strong><?php p(implode(', ', $_['groups'])); ?></strong> </p> @@ -378,4 +378,4 @@ vendor_style('jcrop/css/jquery.Jcrop'); </div> -</div>
\ No newline at end of file +</div> diff --git a/tests/Settings/Controller/AuthSettingsControllerTest.php b/tests/Settings/Controller/AuthSettingsControllerTest.php index 461b32b7a48..1c957299e39 100644 --- a/tests/Settings/Controller/AuthSettingsControllerTest.php +++ b/tests/Settings/Controller/AuthSettingsControllerTest.php @@ -75,13 +75,9 @@ class AuthSettingsControllerTest extends TestCase { $sessionToken = new DefaultToken(); $sessionToken->setId(100); - $this->userManager->expects($this->once()) - ->method('get') - ->with($this->uid) - ->will($this->returnValue($this->user)); $this->tokenProvider->expects($this->once()) ->method('getTokenByUser') - ->with($this->user) + ->with($this->uid) ->will($this->returnValue($tokens)); $this->session->expects($this->once()) ->method('getId') @@ -192,13 +188,9 @@ class AuthSettingsControllerTest extends TestCase { $id = 123; $user = $this->createMock(IUser::class); - $this->userManager->expects($this->once()) - ->method('get') - ->with($this->uid) - ->will($this->returnValue($user)); $this->tokenProvider->expects($this->once()) ->method('invalidateTokenById') - ->with($user, $id); + ->with($this->uid, $id); $this->assertEquals([], $this->controller->destroy($id)); } diff --git a/tests/Settings/Controller/CheckSetupControllerTest.php b/tests/Settings/Controller/CheckSetupControllerTest.php index f0e19e007f2..c062dff0704 100644 --- a/tests/Settings/Controller/CheckSetupControllerTest.php +++ b/tests/Settings/Controller/CheckSetupControllerTest.php @@ -21,6 +21,7 @@ namespace Tests\Settings\Controller; +use OC\DB\Connection; use OC\Settings\Controller\CheckSetupController; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataDisplayResponse; @@ -28,11 +29,13 @@ use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\Http\RedirectResponse; use OCP\Http\Client\IClientService; use OCP\IConfig; +use OCP\IDateTimeFormatter; use OCP\IL10N; use OCP\ILogger; use OCP\IRequest; use OCP\IURLGenerator; use OC_Util; +use OCP\Lock\ILockingProvider; use Psr\Http\Message\ResponseInterface; use Symfony\Component\EventDispatcher\EventDispatcher; use Test\TestCase; @@ -64,6 +67,12 @@ class CheckSetupControllerTest extends TestCase { private $checker; /** @var EventDispatcher|\PHPUnit_Framework_MockObject_MockObject */ private $dispatcher; + /** @var Connection|\PHPUnit_Framework_MockObject_MockObject */ + private $db; + /** @var ILockingProvider|\PHPUnit_Framework_MockObject_MockObject */ + private $lockingProvider; + /** @var IDateTimeFormatter|\PHPUnit_Framework_MockObject_MockObject */ + private $dateTimeFormatter; public function setUp() { parent::setUp(); @@ -90,6 +99,10 @@ class CheckSetupControllerTest extends TestCase { $this->checker = $this->getMockBuilder('\OC\IntegrityCheck\Checker') ->disableOriginalConstructor()->getMock(); $this->logger = $this->getMockBuilder(ILogger::class)->getMock(); + $this->db = $this->getMockBuilder(Connection::class) + ->disableOriginalConstructor()->getMock(); + $this->lockingProvider = $this->getMockBuilder(ILockingProvider::class)->getMock(); + $this->dateTimeFormatter = $this->getMockBuilder(IDateTimeFormatter::class)->getMock(); $this->checkSetupController = $this->getMockBuilder('\OC\Settings\Controller\CheckSetupController') ->setConstructorArgs([ 'settings', @@ -102,8 +115,11 @@ class CheckSetupControllerTest extends TestCase { $this->checker, $this->logger, $this->dispatcher, + $this->db, + $this->lockingProvider, + $this->dateTimeFormatter, ]) - ->setMethods(['getCurlVersion', 'isPhpOutdated', 'isOpcacheProperlySetup', 'hasFreeTypeSupport', 'hasMissingIndexes', 'isSqliteUsed'])->getMock(); + ->setMethods(['isReadOnlyConfig', 'hasValidTransactionIsolationLevel', 'hasFileinfoInstalled', 'hasWorkingFileLocking', 'getLastCronInfo', 'getSuggestedOverwriteCliURL', 'getOutdatedCaches', 'getCurlVersion', 'isPhpOutdated', 'isOpcacheProperlySetup', 'hasFreeTypeSupport', 'hasMissingIndexes', 'isSqliteUsed'])->getMock(); } public function testIsInternetConnectionWorkingDisabledViaConfig() { @@ -263,21 +279,21 @@ class CheckSetupControllerTest extends TestCase { public function testCheck() { $this->config->expects($this->at(0)) - ->method('getSystemValue') - ->with('has_internet_connection', true) - ->will($this->returnValue(true)); - $this->config->expects($this->at(1)) + ->method('getAppValue') + ->with('core', 'cronErrors') + ->willReturn(''); + $this->config->expects($this->at(2)) ->method('getSystemValue') ->with('memcache.local', null) ->will($this->returnValue('SomeProvider')); - $this->config->expects($this->at(2)) + $this->config->expects($this->at(3)) ->method('getSystemValue') ->with('has_internet_connection', true) - ->will($this->returnValue(false)); - $this->config->expects($this->at(3)) + ->will($this->returnValue(true)); + $this->config->expects($this->at(4)) ->method('getSystemValue') - ->with('trusted_proxies', []) - ->willReturn(['1.2.3.4']); + ->with('appstoreenabled', true) + ->will($this->returnValue(false)); $this->request->expects($this->once()) ->method('getRemoteAddress') @@ -343,11 +359,55 @@ class CheckSetupControllerTest extends TestCase { ->method('hasMissingIndexes') ->willReturn([]); $this->checkSetupController + ->method('getOutdatedCaches') + ->willReturn([]); + $this->checkSetupController ->method('isSqliteUsed') ->willReturn(false); + $this->checkSetupController + ->expects($this->once()) + ->method('isReadOnlyConfig') + ->willReturn(false); + $this->checkSetupController + ->expects($this->once()) + ->method('hasValidTransactionIsolationLevel') + ->willReturn(true); + $this->checkSetupController + ->expects($this->once()) + ->method('hasFileinfoInstalled') + ->willReturn(true); + $this->checkSetupController + ->expects($this->once()) + ->method('hasWorkingFileLocking') + ->willReturn(true); + $this->checkSetupController + ->expects($this->once()) + ->method('getSuggestedOverwriteCliURL') + ->willReturn(''); + $this->checkSetupController + ->expects($this->once()) + ->method('getLastCronInfo') + ->willReturn([ + 'diffInSeconds' => 123, + 'relativeTime' => '2 hours ago', + 'backgroundJobsUrl' => 'https://example.org', + ]); $expected = new DataResponse( [ + 'isGetenvServerWorking' => true, + 'isReadOnlyConfig' => false, + 'hasValidTransactionIsolationLevel' => true, + 'outdatedCaches' => [], + 'hasFileinfoInstalled' => true, + 'hasWorkingFileLocking' => true, + 'suggestedOverwriteCliURL' => '', + 'cronInfo' => [ + 'diffInSeconds' => 123, + 'relativeTime' => '2 hours ago', + 'backgroundJobsUrl' => 'https://example.org', + ], + 'cronErrors' => '', 'serverHasInternetConnection' => false, 'isMemcacheConfigured' => true, 'memcacheDocs' => 'http://docs.example.org/server/go.php?to=admin-performance', @@ -367,9 +427,9 @@ class CheckSetupControllerTest extends TestCase { 'phpOpcacheDocumentation' => 'http://docs.example.org/server/go.php?to=admin-php-opcache', 'isSettimelimitAvailable' => true, 'hasFreeTypeSupport' => false, - 'hasMissingIndexes' => [], 'isSqliteUsed' => false, 'databaseConversionDocumentation' => 'http://docs.example.org/server/go.php?to=admin-db-conversion', + 'missingIndexes' => [], ] ); $this->assertEquals($expected, $this->checkSetupController->check()); @@ -388,6 +448,9 @@ class CheckSetupControllerTest extends TestCase { $this->checker, $this->logger, $this->dispatcher, + $this->db, + $this->lockingProvider, + $this->dateTimeFormatter, ]) ->setMethods(null)->getMock(); diff --git a/tests/lib/Authentication/Token/DefaultTokenCleanupJobTest.php b/tests/lib/Authentication/Token/DefaultTokenCleanupJobTest.php index c9082c08b30..b8074d75b30 100644 --- a/tests/lib/Authentication/Token/DefaultTokenCleanupJobTest.php +++ b/tests/lib/Authentication/Token/DefaultTokenCleanupJobTest.php @@ -23,6 +23,8 @@ namespace Test\Authentication\Token; use OC\Authentication\Token\DefaultTokenCleanupJob; +use OC\Authentication\Token\IProvider; +use OC\Authentication\Token\Manager; use Test\TestCase; class DefaultTokenCleanupJobTest extends TestCase { @@ -34,19 +36,13 @@ class DefaultTokenCleanupJobTest extends TestCase { protected function setUp() { parent::setUp(); - $this->tokenProvider = $this->getMockBuilder('\OC\Authentication\Token\DefaultTokenProvider') + $this->tokenProvider = $this->getMockBuilder(Manager::class) ->disableOriginalConstructor() ->getMock(); - $this->overwriteService('\OC\Authentication\Token\DefaultTokenProvider', $this->tokenProvider); + $this->overwriteService(IProvider::class, $this->tokenProvider); $this->job = new DefaultTokenCleanupJob(); } - protected function tearDown() { - parent::tearDown(); - - $this->restoreService('\OC\Authentication\Token\DefaultTokenProvider'); - } - public function testRun() { $this->tokenProvider->expects($this->once()) ->method('invalidateOldTokens') diff --git a/tests/lib/Authentication/Token/DefaultTokenMapperTest.php b/tests/lib/Authentication/Token/DefaultTokenMapperTest.php index b5d24a7ab5e..bebceba62cf 100644 --- a/tests/lib/Authentication/Token/DefaultTokenMapperTest.php +++ b/tests/lib/Authentication/Token/DefaultTokenMapperTest.php @@ -135,6 +135,7 @@ class DefaultTokenMapperTest extends TestCase { $token->setRemember(IToken::DO_NOT_REMEMBER); $token->setLastActivity($this->time - 60 * 60 * 24 * 3); $token->setLastCheck($this->time - 10); + $token->setVersion(DefaultToken::VERSION); $dbToken = $this->mapper->getToken($token->getToken()); @@ -164,6 +165,7 @@ class DefaultTokenMapperTest extends TestCase { $token->setRemember(IToken::DO_NOT_REMEMBER); $token->setLastActivity($this->time - 60 * 60 * 24 * 3); $token->setLastCheck($this->time - 10); + $token->setVersion(DefaultToken::VERSION); $dbToken = $this->mapper->getToken($token->getToken()); $token->setId($dbToken->getId()); // We don't know the ID @@ -190,23 +192,11 @@ class DefaultTokenMapperTest extends TestCase { } public function testGetTokenByUser() { - /** @var IUser|\PHPUnit_Framework_MockObject_MockObject $user */ - $user = $this->createMock(IUser::class); - $user->expects($this->once()) - ->method('getUID') - ->will($this->returnValue('user1')); - - $this->assertCount(2, $this->mapper->getTokenByUser($user)); + $this->assertCount(2, $this->mapper->getTokenByUser('user1')); } public function testGetTokenByUserNotFound() { - /** @var IUser|\PHPUnit_Framework_MockObject_MockObject $user */ - $user = $this->createMock(IUser::class); - $user->expects($this->once()) - ->method('getUID') - ->will($this->returnValue('user1000')); - - $this->assertCount(0, $this->mapper->getTokenByUser($user)); + $this->assertCount(0, $this->mapper->getTokenByUser('user1000')); } public function testDeleteById() { @@ -218,23 +208,15 @@ class DefaultTokenMapperTest extends TestCase { ->where($qb->expr()->eq('token', $qb->createNamedParameter('9c5a2e661482b65597408a6bb6c4a3d1af36337381872ac56e445a06cdb7fea2b1039db707545c11027a4966919918b19d875a8b774840b18c6cbb7ae56fe206'))); $result = $qb->execute(); $id = $result->fetch()['id']; - $user->expects($this->once()) - ->method('getUID') - ->will($this->returnValue('user1')); - $this->mapper->deleteById($user, $id); + $this->mapper->deleteById('user1', $id); $this->assertEquals(2, $this->getNumberOfTokens()); } public function testDeleteByIdWrongUser() { - /** @var IUser|\PHPUnit_Framework_MockObject_MockObject $user */ - $user = $this->createMock(IUser::class); $id = 33; - $user->expects($this->once()) - ->method('getUID') - ->will($this->returnValue('user10000')); - $this->mapper->deleteById($user, $id); + $this->mapper->deleteById('user1000', $id); $this->assertEquals(3, $this->getNumberOfTokens()); } diff --git a/tests/lib/Authentication/Token/DefaultTokenProviderTest.php b/tests/lib/Authentication/Token/DefaultTokenProviderTest.php index 95b5b928559..3fb11f410ba 100644 --- a/tests/lib/Authentication/Token/DefaultTokenProviderTest.php +++ b/tests/lib/Authentication/Token/DefaultTokenProviderTest.php @@ -91,6 +91,7 @@ class DefaultTokenProviderTest extends TestCase { $toInsert->setRemember(IToken::DO_NOT_REMEMBER); $toInsert->setLastActivity($this->time); $toInsert->setLastCheck($this->time); + $toInsert->setVersion(DefaultToken::VERSION); $this->config->expects($this->any()) ->method('getSystemValue') @@ -132,13 +133,12 @@ class DefaultTokenProviderTest extends TestCase { } public function testGetTokenByUser() { - $user = $this->createMock(IUser::class); $this->mapper->expects($this->once()) ->method('getTokenByUser') - ->with($user) + ->with('uid') ->will($this->returnValue(['token'])); - $this->assertEquals(['token'], $this->tokenProvider->getTokenByUser($user)); + $this->assertEquals(['token'], $this->tokenProvider->getTokenByUser('uid')); } public function testGetPassword() { @@ -243,13 +243,12 @@ class DefaultTokenProviderTest extends TestCase { public function testInvaildateTokenById() { $id = 123; - $user = $this->createMock(IUser::class); $this->mapper->expects($this->once()) ->method('deleteById') - ->with($user, $id); + ->with('uid', $id); - $this->tokenProvider->invalidateTokenById($user, $id); + $this->tokenProvider->invalidateTokenById('uid', $id); } public function testInvalidateOldTokens() { diff --git a/tests/lib/Authentication/Token/ManagerTest.php b/tests/lib/Authentication/Token/ManagerTest.php new file mode 100644 index 00000000000..8b77bfc4994 --- /dev/null +++ b/tests/lib/Authentication/Token/ManagerTest.php @@ -0,0 +1,451 @@ +<?php +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace Test\Authentication\Token; + +use OC\Authentication\Exceptions\InvalidTokenException; +use OC\Authentication\Exceptions\PasswordlessTokenException; +use OC\Authentication\Token\DefaultToken; +use OC\Authentication\Token\DefaultTokenProvider; +use OC\Authentication\Token\Manager; +use OC\Authentication\Token\PublicKeyToken; +use OC\Authentication\Token\PublicKeyTokenMapper; +use OC\Authentication\Token\PublicKeyTokenProvider; +use OC\Authentication\Token\ExpiredTokenException; +use OC\Authentication\Token\IToken; +use OCP\AppFramework\Db\DoesNotExistException; +use OCP\AppFramework\Utility\ITimeFactory; +use OCP\IConfig; +use OCP\ILogger; +use OCP\IUser; +use OCP\Security\ICrypto; +use Test\TestCase; + +class ManagerTest extends TestCase { + + /** @var PublicKeyTokenProvider|\PHPUnit_Framework_MockObject_MockObject */ + private $publicKeyTokenProvider; + /** @var DefaultTokenProvider|\PHPUnit_Framework_MockObject_MockObject */ + private $defaultTokenProvider; + /** @var Manager */ + private $manager; + + protected function setUp() { + parent::setUp(); + + $this->publicKeyTokenProvider = $this->createMock(PublicKeyTokenProvider::class); + $this->defaultTokenProvider = $this->createMock(DefaultTokenProvider::class); + $this->manager = new Manager( + $this->defaultTokenProvider, + $this->publicKeyTokenProvider + ); + } + + public function testGenerateToken() { + $this->defaultTokenProvider->expects($this->never()) + ->method('generateToken'); + + $token = new PublicKeyToken(); + + $this->publicKeyTokenProvider->expects($this->once()) + ->method('generateToken') + ->with( + 'token', + 'uid', + 'loginName', + 'password', + 'name', + IToken::TEMPORARY_TOKEN, + IToken::REMEMBER + )->willReturn($token); + + $actual = $this->manager->generateToken( + 'token', + 'uid', + 'loginName', + 'password', + 'name', + IToken::TEMPORARY_TOKEN, + IToken::REMEMBER + ); + + $this->assertSame($token, $actual); + } + + public function tokenData(): array { + return [ + [new DefaultToken()], + [new PublicKeyToken()], + [$this->createMock(IToken::class)], + ]; + } + + protected function setNoCall(IToken $token) { + if (!($token instanceof DefaultToken)) { + $this->defaultTokenProvider->expects($this->never()) + ->method($this->anything()); + } + + if (!($token instanceof PublicKeyToken)) { + $this->publicKeyTokenProvider->expects($this->never()) + ->method($this->anything()); + } + } + + protected function setCall(IToken $token, string $function, $return = null) { + if ($token instanceof DefaultToken) { + $this->defaultTokenProvider->expects($this->once()) + ->method($function) + ->with($token) + ->willReturn($return); + } + + if ($token instanceof PublicKeyToken) { + $this->publicKeyTokenProvider->expects($this->once()) + ->method($function) + ->with($token) + ->willReturn($return); + } + } + + protected function setException(IToken $token) { + if (!($token instanceof DefaultToken) && !($token instanceof PublicKeyToken)) { + $this->expectException(InvalidTokenException::class); + } + } + + /** + * @dataProvider tokenData + */ + public function testUpdateToken(IToken $token) { + $this->setNoCall($token); + $this->setCall($token, 'updateToken'); + $this->setException($token); + + $this->manager->updateToken($token); + } + + /** + * @dataProvider tokenData + */ + public function testUpdateTokenActivity(IToken $token) { + $this->setNoCall($token); + $this->setCall($token, 'updateTokenActivity'); + $this->setException($token); + + $this->manager->updateTokenActivity($token); + } + + /** + * @dataProvider tokenData + */ + public function testGetPassword(IToken $token) { + $this->setNoCall($token); + $this->setCall($token, 'getPassword', 'password'); + $this->setException($token); + + $result = $this->manager->getPassword($token, 'tokenId', 'password'); + + $this->assertSame('password', $result); + } + + /** + * @dataProvider tokenData + */ + public function testSetPassword(IToken $token) { + $this->setNoCall($token); + $this->setCall($token, 'setPassword'); + $this->setException($token); + + $this->manager->setPassword($token, 'tokenId', 'password'); + } + + public function testInvalidateTokens() { + $this->defaultTokenProvider->expects($this->once()) + ->method('invalidateToken') + ->with('token'); + + $this->publicKeyTokenProvider->expects($this->once()) + ->method('invalidateToken') + ->with('token'); + + $this->manager->invalidateToken('token'); + } + + public function testInvalidateTokenById() { + $this->defaultTokenProvider->expects($this->once()) + ->method('invalidateTokenById') + ->with('uid', 42); + + $this->publicKeyTokenProvider->expects($this->once()) + ->method('invalidateTokenById') + ->with('uid', 42); + + $this->manager->invalidateTokenById('uid', 42); + } + + public function testInvalidateOldTokens() { + $this->defaultTokenProvider->expects($this->once()) + ->method('invalidateOldTokens'); + + $this->publicKeyTokenProvider->expects($this->once()) + ->method('invalidateOldTokens'); + + $this->manager->invalidateOldTokens(); + } + + public function testGetTokenByUser() { + $t1 = new DefaultToken(); + $t2 = new DefaultToken(); + $t3 = new PublicKeyToken(); + $t4 = new PublicKeyToken(); + + $this->defaultTokenProvider + ->method('getTokenByUser') + ->willReturn([$t1, $t2]); + + $this->publicKeyTokenProvider + ->method('getTokenByUser') + ->willReturn([$t3, $t4]); + + $result = $this->manager->getTokenByUser('uid'); + + $this->assertEquals([$t1, $t2, $t3, $t4], $result); + } + + public function testRenewSessionTokenPublicKey() { + $this->defaultTokenProvider->expects($this->never()) + ->method($this->anything()); + + $this->publicKeyTokenProvider->expects($this->once()) + ->method('renewSessionToken') + ->with('oldId', 'newId'); + + $this->manager->renewSessionToken('oldId', 'newId'); + } + + public function testRenewSessionTokenDefault() { + $this->publicKeyTokenProvider->expects($this->once()) + ->method('renewSessionToken') + ->with('oldId', 'newId') + ->willThrowException(new InvalidTokenException()); + + $this->defaultTokenProvider->expects($this->once()) + ->method('renewSessionToken') + ->with('oldId', 'newId'); + + $this->manager->renewSessionToken('oldId', 'newId'); + } + + public function testRenewSessionInvalid() { + $this->publicKeyTokenProvider->expects($this->once()) + ->method('renewSessionToken') + ->with('oldId', 'newId') + ->willThrowException(new InvalidTokenException()); + + $this->defaultTokenProvider->expects($this->once()) + ->method('renewSessionToken') + ->with('oldId', 'newId') + ->willThrowException(new InvalidTokenException()); + + $this->expectException(InvalidTokenException::class); + $this->manager->renewSessionToken('oldId', 'newId'); + } + + public function testGetTokenByIdPublicKey() { + $token = $this->createMock(IToken::class); + + $this->publicKeyTokenProvider->expects($this->once()) + ->method('getTokenById') + ->with(42) + ->willReturn($token); + + $this->defaultTokenProvider->expects($this->never()) + ->method($this->anything()); + + + $this->assertSame($token, $this->manager->getTokenById(42)); + } + + public function testGetTokenByIdDefault() { + $token = $this->createMock(IToken::class); + + $this->publicKeyTokenProvider->expects($this->once()) + ->method('getTokenById') + ->with(42) + ->willThrowException(new InvalidTokenException()); + + $this->defaultTokenProvider->expects($this->once()) + ->method('getTokenById') + ->with(42) + ->willReturn($token); + + $this->assertSame($token, $this->manager->getTokenById(42)); + } + + public function testGetTokenByIdInvalid() { + $this->publicKeyTokenProvider->expects($this->once()) + ->method('getTokenById') + ->with(42) + ->willThrowException(new InvalidTokenException()); + + $this->defaultTokenProvider->expects($this->once()) + ->method('getTokenById') + ->with(42) + ->willThrowException(new InvalidTokenException()); + + $this->expectException(InvalidTokenException::class); + $this->manager->getTokenById(42); + } + + public function testGetTokenPublicKey() { + $token = new PublicKeyToken(); + + $this->defaultTokenProvider->expects($this->never()) + ->method($this->anything()); + + $this->publicKeyTokenProvider + ->method('getToken') + ->with('tokenId') + ->willReturn($token); + + $this->assertSame($token, $this->manager->getToken('tokenId')); + } + + public function testGetTokenInvalid() { + $this->defaultTokenProvider + ->method('getToken') + ->with('tokenId') + ->willThrowException(new InvalidTokenException()); + + $this->publicKeyTokenProvider + ->method('getToken') + ->with('tokenId') + ->willThrowException(new InvalidTokenException()); + + $this->expectException(InvalidTokenException::class); + $this->manager->getToken('tokenId'); + } + + public function testGetTokenConvertPassword() { + $oldToken = new DefaultToken(); + $newToken = new PublicKeyToken(); + + $this->publicKeyTokenProvider + ->method('getToken') + ->with('tokenId') + ->willThrowException(new InvalidTokenException()); + + $this->defaultTokenProvider + ->method('getToken') + ->willReturn($oldToken); + + $this->defaultTokenProvider + ->method('getPassword') + ->with($oldToken, 'tokenId') + ->willReturn('password'); + + $this->publicKeyTokenProvider + ->method('convertToken') + ->with($oldToken, 'tokenId', 'password') + ->willReturn($newToken); + + $this->assertSame($newToken, $this->manager->getToken('tokenId')); + } + + public function testGetTokenConvertNoPassword() { + $oldToken = new DefaultToken(); + $newToken = new PublicKeyToken(); + + $this->publicKeyTokenProvider + ->method('getToken') + ->with('tokenId') + ->willThrowException(new InvalidTokenException()); + + $this->defaultTokenProvider + ->method('getToken') + ->willReturn($oldToken); + + $this->defaultTokenProvider + ->method('getPassword') + ->with($oldToken, 'tokenId') + ->willThrowException(new PasswordlessTokenException()); + + $this->publicKeyTokenProvider + ->method('convertToken') + ->with($oldToken, 'tokenId', null) + ->willReturn($newToken); + + $this->assertSame($newToken, $this->manager->getToken('tokenId')); + } + + public function testRotateInvalid() { + $this->expectException(InvalidTokenException::class); + $this->manager->rotate($this->createMock(IToken::class), 'oldId', 'newId'); + } + + public function testRotatePublicKey() { + $token = new PublicKeyToken(); + + $this->publicKeyTokenProvider + ->method('rotate') + ->with($token, 'oldId', 'newId') + ->willReturn($token); + + $this->assertSame($token, $this->manager->rotate($token, 'oldId', 'newId')); + } + + public function testRotateConvertPassword() { + $oldToken = new DefaultToken(); + $newToken = new PublicKeyToken(); + + $this->defaultTokenProvider + ->method('getPassword') + ->with($oldToken, 'oldId') + ->willReturn('password'); + + $this->publicKeyTokenProvider + ->method('convertToken') + ->with($oldToken, 'newId', 'password') + ->willReturn($newToken); + + $this->assertSame($newToken, $this->manager->rotate($oldToken, 'oldId', 'newId')); + } + + public function testRotateConvertNoPassword() { + $oldToken = new DefaultToken(); + $newToken = new PublicKeyToken(); + + $this->defaultTokenProvider + ->method('getPassword') + ->with($oldToken, 'oldId') + ->willThrowException(new PasswordlessTokenException()); + + $this->publicKeyTokenProvider + ->method('convertToken') + ->with($oldToken, 'newId', null) + ->willReturn($newToken); + + $this->assertSame($newToken, $this->manager->rotate($oldToken, 'oldId', 'newId')); + } +} diff --git a/tests/lib/Authentication/Token/PublicKeyTokenMapperTest.php b/tests/lib/Authentication/Token/PublicKeyTokenMapperTest.php new file mode 100644 index 00000000000..5a98747ab0d --- /dev/null +++ b/tests/lib/Authentication/Token/PublicKeyTokenMapperTest.php @@ -0,0 +1,250 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace Test\Authentication\Token; + +use OC; +use OC\Authentication\Token\PublicKeyToken; +use OC\Authentication\Token\PublicKeyTokenMapper; +use OC\Authentication\Token\IToken; +use OCP\DB\QueryBuilder\IQueryBuilder; +use OCP\IDBConnection; +use OCP\IUser; +use Test\TestCase; + +/** + * @group DB + */ +class PublicKeyTokenMapperTest extends TestCase { + + /** @var PublicKeyTokenMapper */ + private $mapper; + + /** @var IDBConnection */ + private $dbConnection; + + /** @var int */ + private $time; + + protected function setUp() { + parent::setUp(); + + $this->dbConnection = OC::$server->getDatabaseConnection(); + $this->time = time(); + $this->resetDatabase(); + + $this->mapper = new PublicKeyTokenMapper($this->dbConnection); + } + + private function resetDatabase() { + $qb = $this->dbConnection->getQueryBuilder(); + $qb->delete('authtoken')->execute(); + $qb->insert('authtoken')->values([ + 'uid' => $qb->createNamedParameter('user1'), + 'login_name' => $qb->createNamedParameter('User1'), + 'password' => $qb->createNamedParameter('a75c7116460c082912d8f6860a850904|3nz5qbG1nNSLLi6V|c55365a0e54cfdfac4a175bcf11a7612aea74492277bba6e5d96a24497fa9272488787cb2f3ad34d8b9b8060934fce02f008d371df3ff3848f4aa61944851ff0'), + 'name' => $qb->createNamedParameter('Firefox on Linux'), + 'token' => $qb->createNamedParameter('9c5a2e661482b65597408a6bb6c4a3d1af36337381872ac56e445a06cdb7fea2b1039db707545c11027a4966919918b19d875a8b774840b18c6cbb7ae56fe206'), + 'type' => $qb->createNamedParameter(IToken::TEMPORARY_TOKEN), + 'last_activity' => $qb->createNamedParameter($this->time - 120, IQueryBuilder::PARAM_INT), // Two minutes ago + 'last_check' => $this->time - 60 * 10, // 10mins ago + 'public_key' => $qb->createNamedParameter('public key'), + 'private_key' => $qb->createNamedParameter('private key'), + 'version' => $qb->createNamedParameter(2), + ])->execute(); + $qb->insert('authtoken')->values([ + 'uid' => $qb->createNamedParameter('user2'), + 'login_name' => $qb->createNamedParameter('User2'), + 'password' => $qb->createNamedParameter('971a337057853344700bbeccf836519f|UwOQwyb34sJHtqPV|036d4890f8c21d17bbc7b88072d8ef049a5c832a38e97f3e3d5f9186e896c2593aee16883f617322fa242728d0236ff32d163caeb4bd45e14ca002c57a88665f'), + 'name' => $qb->createNamedParameter('Firefox on Android'), + 'token' => $qb->createNamedParameter('1504445f1524fc801035448a95681a9378ba2e83930c814546c56e5d6ebde221198792fd900c88ed5ead0555780dad1ebce3370d7e154941cd5de87eb419899b'), + 'type' => $qb->createNamedParameter(IToken::TEMPORARY_TOKEN), + 'last_activity' => $qb->createNamedParameter($this->time - 60 * 60 * 24 * 3, IQueryBuilder::PARAM_INT), // Three days ago + 'last_check' => $this->time - 10, // 10secs ago + 'public_key' => $qb->createNamedParameter('public key'), + 'private_key' => $qb->createNamedParameter('private key'), + 'version' => $qb->createNamedParameter(2), + ])->execute(); + $qb->insert('authtoken')->values([ + 'uid' => $qb->createNamedParameter('user1'), + 'login_name' => $qb->createNamedParameter('User1'), + 'password' => $qb->createNamedParameter('063de945d6f6b26862d9b6f40652f2d5|DZ/z520tfdXPtd0T|395f6b89be8d9d605e409e20b9d9abe477fde1be38a3223f9e508f979bf906e50d9eaa4dca983ca4fb22a241eb696c3f98654e7775f78c4caf13108f98642b53'), + 'name' => $qb->createNamedParameter('Iceweasel on Linux'), + 'token' => $qb->createNamedParameter('47af8697ba590fb82579b5f1b3b6e8066773a62100abbe0db09a289a62f5d980dc300fa3d98b01d7228468d1ab05c1aa14c8d14bd5b6eee9cdf1ac14864680c3'), + 'type' => $qb->createNamedParameter(IToken::TEMPORARY_TOKEN), + 'last_activity' => $qb->createNamedParameter($this->time - 120, IQueryBuilder::PARAM_INT), // Two minutes ago + 'last_check' => $this->time - 60 * 10, // 10mins ago + 'public_key' => $qb->createNamedParameter('public key'), + 'private_key' => $qb->createNamedParameter('private key'), + 'version' => $qb->createNamedParameter(2), + ])->execute(); + } + + private function getNumberOfTokens() { + $qb = $this->dbConnection->getQueryBuilder(); + $result = $qb->select($qb->createFunction('count(*) as `count`')) + ->from('authtoken') + ->execute() + ->fetch(); + return (int) $result['count']; + } + + public function testInvalidate() { + $token = '9c5a2e661482b65597408a6bb6c4a3d1af36337381872ac56e445a06cdb7fea2b1039db707545c11027a4966919918b19d875a8b774840b18c6cbb7ae56fe206'; + + $this->mapper->invalidate($token); + + $this->assertSame(2, $this->getNumberOfTokens()); + } + + public function testInvalidateInvalid() { + $token = 'youwontfindthisoneinthedatabase'; + + $this->mapper->invalidate($token); + + $this->assertSame(3, $this->getNumberOfTokens()); + } + + public function testInvalidateOld() { + $olderThan = $this->time - 60 * 60; // One hour + + $this->mapper->invalidateOld($olderThan); + + $this->assertSame(2, $this->getNumberOfTokens()); + } + + public function testGetToken() { + $token = new PublicKeyToken(); + $token->setUid('user2'); + $token->setLoginName('User2'); + $token->setPassword('971a337057853344700bbeccf836519f|UwOQwyb34sJHtqPV|036d4890f8c21d17bbc7b88072d8ef049a5c832a38e97f3e3d5f9186e896c2593aee16883f617322fa242728d0236ff32d163caeb4bd45e14ca002c57a88665f'); + $token->setName('Firefox on Android'); + $token->setToken('1504445f1524fc801035448a95681a9378ba2e83930c814546c56e5d6ebde221198792fd900c88ed5ead0555780dad1ebce3370d7e154941cd5de87eb419899b'); + $token->setType(IToken::TEMPORARY_TOKEN); + $token->setRemember(IToken::DO_NOT_REMEMBER); + $token->setLastActivity($this->time - 60 * 60 * 24 * 3); + $token->setLastCheck($this->time - 10); + $token->setPublicKey('public key'); + $token->setPrivateKey('private key'); + $token->setVersion(PublicKeyToken::VERSION); + + $dbToken = $this->mapper->getToken($token->getToken()); + + $token->setId($dbToken->getId()); // We don't know the ID + $token->resetUpdatedFields(); + + $this->assertEquals($token, $dbToken); + } + + /** + * @expectedException \OCP\AppFramework\Db\DoesNotExistException + */ + public function testGetInvalidToken() { + $token = 'thisisaninvalidtokenthatisnotinthedatabase'; + + $this->mapper->getToken($token); + } + + public function testGetTokenById() { + $token = new PublicKeyToken(); + $token->setUid('user2'); + $token->setLoginName('User2'); + $token->setPassword('971a337057853344700bbeccf836519f|UwOQwyb34sJHtqPV|036d4890f8c21d17bbc7b88072d8ef049a5c832a38e97f3e3d5f9186e896c2593aee16883f617322fa242728d0236ff32d163caeb4bd45e14ca002c57a88665f'); + $token->setName('Firefox on Android'); + $token->setToken('1504445f1524fc801035448a95681a9378ba2e83930c814546c56e5d6ebde221198792fd900c88ed5ead0555780dad1ebce3370d7e154941cd5de87eb419899b'); + $token->setType(IToken::TEMPORARY_TOKEN); + $token->setRemember(IToken::DO_NOT_REMEMBER); + $token->setLastActivity($this->time - 60 * 60 * 24 * 3); + $token->setLastCheck($this->time - 10); + $token->setPublicKey('public key'); + $token->setPrivateKey('private key'); + $token->setVersion(PublicKeyToken::VERSION); + + $dbToken = $this->mapper->getToken($token->getToken()); + $token->setId($dbToken->getId()); // We don't know the ID + $token->resetUpdatedFields(); + + $dbToken = $this->mapper->getTokenById($token->getId()); + $this->assertEquals($token, $dbToken); + } + + /** + * @expectedException \OCP\AppFramework\Db\DoesNotExistException + */ + public function testGetTokenByIdNotFound() { + $this->mapper->getTokenById(-1); + } + + /** + * @expectedException \OCP\AppFramework\Db\DoesNotExistException + */ + public function testGetInvalidTokenById() { + $id = '42'; + + $this->mapper->getToken($id); + } + + public function testGetTokenByUser() { + $this->assertCount(2, $this->mapper->getTokenByUser('user1')); + } + + public function testGetTokenByUserNotFound() { + $this->assertCount(0, $this->mapper->getTokenByUser('user1000')); + } + + public function testDeleteById() { + /** @var IUser|\PHPUnit_Framework_MockObject_MockObject $user */ + $user = $this->createMock(IUser::class); + $qb = $this->dbConnection->getQueryBuilder(); + $qb->select('id') + ->from('authtoken') + ->where($qb->expr()->eq('token', $qb->createNamedParameter('9c5a2e661482b65597408a6bb6c4a3d1af36337381872ac56e445a06cdb7fea2b1039db707545c11027a4966919918b19d875a8b774840b18c6cbb7ae56fe206'))); + $result = $qb->execute(); + $id = $result->fetch()['id']; + + $this->mapper->deleteById('user1', (int)$id); + $this->assertEquals(2, $this->getNumberOfTokens()); + } + + public function testDeleteByIdWrongUser() { + /** @var IUser|\PHPUnit_Framework_MockObject_MockObject $user */ + $user = $this->createMock(IUser::class); + $id = 33; + + $this->mapper->deleteById('user1000', $id); + $this->assertEquals(3, $this->getNumberOfTokens()); + } + + public function testDeleteByName() { + $qb = $this->dbConnection->getQueryBuilder(); + $qb->select('name') + ->from('authtoken') + ->where($qb->expr()->eq('token', $qb->createNamedParameter('9c5a2e661482b65597408a6bb6c4a3d1af36337381872ac56e445a06cdb7fea2b1039db707545c11027a4966919918b19d875a8b774840b18c6cbb7ae56fe206'))); + $result = $qb->execute(); + $name = $result->fetch()['name']; + $this->mapper->deleteByName($name); + $this->assertEquals(2, $this->getNumberOfTokens()); + } + +} diff --git a/tests/lib/Authentication/Token/PublicKeyTokenProviderTest.php b/tests/lib/Authentication/Token/PublicKeyTokenProviderTest.php new file mode 100644 index 00000000000..cd3bcb81ba6 --- /dev/null +++ b/tests/lib/Authentication/Token/PublicKeyTokenProviderTest.php @@ -0,0 +1,506 @@ +<?php +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace Test\Authentication\Token; + +use OC\Authentication\Exceptions\InvalidTokenException; +use OC\Authentication\Exceptions\PasswordlessTokenException; +use OC\Authentication\Token\DefaultToken; +use OC\Authentication\Token\PublicKeyToken; +use OC\Authentication\Token\PublicKeyTokenMapper; +use OC\Authentication\Token\PublicKeyTokenProvider; +use OC\Authentication\Token\ExpiredTokenException; +use OC\Authentication\Token\IToken; +use OCP\AppFramework\Db\DoesNotExistException; +use OCP\AppFramework\Utility\ITimeFactory; +use OCP\IConfig; +use OCP\ILogger; +use OCP\IUser; +use OCP\Security\ICrypto; +use Test\TestCase; + +class PublicKeyTokenProviderTest extends TestCase { + + /** @var PublicKeyTokenProvider|\PHPUnit_Framework_MockObject_MockObject */ + private $tokenProvider; + /** @var PublicKeyTokenMapper|\PHPUnit_Framework_MockObject_MockObject */ + private $mapper; + /** @var ICrypto */ + private $crypto; + /** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */ + private $config; + /** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */ + private $logger; + /** @var ITimeFactory|\PHPUnit_Framework_MockObject_MockObject */ + private $timeFactory; + /** @var int */ + private $time; + + protected function setUp() { + parent::setUp(); + + $this->mapper = $this->createMock(PublicKeyTokenMapper::class); + $this->crypto = \OC::$server->getCrypto(); + $this->config = $this->createMock(IConfig::class); + $this->config->method('getSystemValue') + ->will($this->returnValueMap([ + ['session_lifetime', 60 * 60 * 24, 150], + ['remember_login_cookie_lifetime', 60 * 60 * 24 * 15, 300], + ['secret', '', '1f4h9s'], + ])); + $this->logger = $this->createMock(ILogger::class); + $this->timeFactory = $this->createMock(ITimeFactory::class); + $this->time = 1313131; + $this->timeFactory->method('getTime') + ->willReturn($this->time); + + $this->tokenProvider = new PublicKeyTokenProvider($this->mapper, $this->crypto, $this->config, $this->logger, + $this->timeFactory); + } + + public function testGenerateToken() { + $token = 'token'; + $uid = 'user'; + $user = 'User'; + $password = 'passme'; + $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'; + $type = IToken::PERMANENT_TOKEN; + + $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER); + + $this->assertInstanceOf(PublicKeyToken::class, $actual); + $this->assertSame($uid, $actual->getUID()); + $this->assertSame($user, $actual->getLoginName()); + $this->assertSame($name, $actual->getName()); + $this->assertSame(IToken::DO_NOT_REMEMBER, $actual->getRemember()); + $this->assertSame($password, $this->tokenProvider->getPassword($actual, $token)); + } + + public function testUpdateToken() { + $tk = new PublicKeyToken(); + $tk->setLastActivity($this->time - 200); + $this->mapper->expects($this->once()) + ->method('update') + ->with($tk); + + $this->tokenProvider->updateTokenActivity($tk); + + $this->assertEquals($this->time, $tk->getLastActivity()); + } + + public function testUpdateTokenDebounce() { + $tk = new PublicKeyToken(); + $tk->setLastActivity($this->time - 30); + $this->mapper->expects($this->never()) + ->method('update') + ->with($tk); + + $this->tokenProvider->updateTokenActivity($tk); + } + + public function testGetTokenByUser() { + $this->mapper->expects($this->once()) + ->method('getTokenByUser') + ->with('uid') + ->will($this->returnValue(['token'])); + + $this->assertEquals(['token'], $this->tokenProvider->getTokenByUser('uid')); + } + + public function testGetPassword() { + $token = 'token'; + $uid = 'user'; + $user = 'User'; + $password = 'passme'; + $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'; + $type = IToken::PERMANENT_TOKEN; + + $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER); + + $this->assertSame($password, $this->tokenProvider->getPassword($actual, $token)); + } + + /** + * @expectedException \OC\Authentication\Exceptions\PasswordlessTokenException + */ + public function testGetPasswordPasswordLessToken() { + $token = 'token1234'; + $tk = new PublicKeyToken(); + $tk->setPassword(null); + + $this->tokenProvider->getPassword($tk, $token); + } + + /** + * @expectedException \OC\Authentication\Exceptions\InvalidTokenException + */ + public function testGetPasswordInvalidToken() { + $token = 'token'; + $uid = 'user'; + $user = 'User'; + $password = 'passme'; + $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'; + $type = IToken::PERMANENT_TOKEN; + + $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER); + + $this->tokenProvider->getPassword($actual, 'wrongtoken'); + } + + public function testSetPassword() { + $token = 'token'; + $uid = 'user'; + $user = 'User'; + $password = 'passme'; + $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'; + $type = IToken::PERMANENT_TOKEN; + + $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER); + + $this->mapper->method('getTokenByUser') + ->with('user') + ->willReturn([$actual]); + + $newpass = 'newpass'; + $this->mapper->expects($this->once()) + ->method('update') + ->with($this->callback(function ($token) use ($newpass) { + return $newpass === $this->tokenProvider->getPassword($token, 'token'); + })); + + + $this->tokenProvider->setPassword($actual, $token, $newpass); + + $this->assertSame($newpass, $this->tokenProvider->getPassword($actual, 'token')); + } + + /** + * @expectedException \OC\Authentication\Exceptions\InvalidTokenException + */ + public function testSetPasswordInvalidToken() { + $token = $this->createMock(IToken::class); + $tokenId = 'token123'; + $password = '123456'; + + $this->tokenProvider->setPassword($token, $tokenId, $password); + } + + public function testInvalidateToken() { + $this->mapper->expects($this->once()) + ->method('invalidate') + ->with(hash('sha512', 'token7'.'1f4h9s')); + + $this->tokenProvider->invalidateToken('token7'); + } + + public function testInvaildateTokenById() { + $id = 123; + + $this->mapper->expects($this->once()) + ->method('deleteById') + ->with('uid', $id); + + $this->tokenProvider->invalidateTokenById('uid', $id); + } + + public function testInvalidateOldTokens() { + $defaultSessionLifetime = 60 * 60 * 24; + $defaultRememberMeLifetime = 60 * 60 * 24 * 15; + $this->config->expects($this->exactly(2)) + ->method('getSystemValue') + ->will($this->returnValueMap([ + ['session_lifetime', $defaultSessionLifetime, 150], + ['remember_login_cookie_lifetime', $defaultRememberMeLifetime, 300], + ])); + $this->mapper->expects($this->at(0)) + ->method('invalidateOld') + ->with($this->time - 150); + $this->mapper->expects($this->at(1)) + ->method('invalidateOld') + ->with($this->time - 300); + + $this->tokenProvider->invalidateOldTokens(); + } + + public function testRenewSessionTokenWithoutPassword() { + $token = 'oldId'; + $uid = 'user'; + $user = 'User'; + $password = null; + $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'; + $type = IToken::PERMANENT_TOKEN; + + $oldToken = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER); + + $this->mapper + ->expects($this->at(0)) + ->method('getToken') + ->with(hash('sha512', 'oldId' . '1f4h9s')) + ->willReturn($oldToken); + $this->mapper + ->expects($this->at(1)) + ->method('insert') + ->with($this->callback(function (PublicKeyToken $token) use ($user, $uid, $name) { + return $token->getUID() === $uid && + $token->getLoginName() === $user && + $token->getName() === $name && + $token->getType() === IToken::DO_NOT_REMEMBER && + $token->getLastActivity() === $this->time && + $token->getPassword() === null; + })); + $this->mapper + ->expects($this->at(2)) + ->method('delete') + ->with($this->callback(function($token) use ($oldToken) { + return $token === $oldToken; + })); + + $this->tokenProvider->renewSessionToken('oldId', 'newId'); + } + + public function testRenewSessionTokenWithPassword() { + $token = 'oldId'; + $uid = 'user'; + $user = 'User'; + $password = 'password'; + $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'; + $type = IToken::PERMANENT_TOKEN; + + $oldToken = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER); + + $this->mapper + ->expects($this->at(0)) + ->method('getToken') + ->with(hash('sha512', 'oldId' . '1f4h9s')) + ->willReturn($oldToken); + $this->mapper + ->expects($this->at(1)) + ->method('insert') + ->with($this->callback(function (PublicKeyToken $token) use ($user, $uid, $name) { + return $token->getUID() === $uid && + $token->getLoginName() === $user && + $token->getName() === $name && + $token->getType() === IToken::DO_NOT_REMEMBER && + $token->getLastActivity() === $this->time && + $token->getPassword() !== null && + $this->tokenProvider->getPassword($token, 'newId') === 'password'; + })); + $this->mapper + ->expects($this->at(2)) + ->method('delete') + ->with($this->callback(function($token) use ($oldToken) { + return $token === $oldToken; + })); + + $this->tokenProvider->renewSessionToken('oldId', 'newId'); + } + + public function testGetToken() { + $token = new PublicKeyToken(); + + $this->config->method('getSystemValue') + ->with('secret') + ->willReturn('mysecret'); + + $this->mapper->method('getToken') + ->with( + $this->callback(function (string $token) { + return hash('sha512', 'unhashedToken'.'1f4h9s') === $token; + }) + )->willReturn($token); + + $this->assertSame($token, $this->tokenProvider->getToken('unhashedToken')); + } + + public function testGetInvalidToken() { + $this->expectException(InvalidTokenException::class); + + $this->mapper->method('getToken') + ->with( + $this->callback(function (string $token) { + return hash('sha512', 'unhashedToken'.'1f4h9s') === $token; + }) + )->willThrowException(new DoesNotExistException('nope')); + + $this->tokenProvider->getToken('unhashedToken'); + } + + public function testGetExpiredToken() { + $token = 'token'; + $uid = 'user'; + $user = 'User'; + $password = 'passme'; + $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'; + $type = IToken::PERMANENT_TOKEN; + + $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER); + $actual->setExpires(42); + + $this->mapper->method('getToken') + ->with( + $this->callback(function (string $token) { + return hash('sha512', 'token'.'1f4h9s') === $token; + }) + )->willReturn($actual); + + try { + $this->tokenProvider->getToken('token'); + $this->fail(); + } catch (ExpiredTokenException $e) { + $this->assertSame($actual, $e->getToken()); + } + + } + + public function testGetTokenById() { + $token = $this->createMock(PublicKeyToken::class); + + $this->mapper->expects($this->once()) + ->method('getTokenById') + ->with($this->equalTo(42)) + ->willReturn($token); + + $this->assertSame($token, $this->tokenProvider->getTokenById(42)); + } + + public function testGetInvalidTokenById() { + $this->expectException(InvalidTokenException::class); + + $this->mapper->expects($this->once()) + ->method('getTokenById') + ->with($this->equalTo(42)) + ->willThrowException(new DoesNotExistException('nope')); + + $this->tokenProvider->getTokenById(42); + } + + public function testGetExpiredTokenById() { + $token = new PublicKeyToken(); + $token->setExpires(42); + + $this->mapper->expects($this->once()) + ->method('getTokenById') + ->with($this->equalTo(42)) + ->willReturn($token); + + try { + $this->tokenProvider->getTokenById(42); + $this->fail(); + } catch (ExpiredTokenException $e) { + $this->assertSame($token, $e->getToken()); + } + } + + public function testRotate() { + $token = 'oldtoken'; + $uid = 'user'; + $user = 'User'; + $password = 'password'; + $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'; + $type = IToken::PERMANENT_TOKEN; + + $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER); + + $new = $this->tokenProvider->rotate($actual, 'oldtoken', 'newtoken'); + + $this->assertSame('password', $this->tokenProvider->getPassword($new, 'newtoken')); + } + + public function testRotateNoPassword() { + $token = 'oldtoken'; + $uid = 'user'; + $user = 'User'; + $password = null; + $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' + . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'; + $type = IToken::PERMANENT_TOKEN; + + $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER); + + $oldPrivate = $actual->getPrivateKey(); + + $new = $this->tokenProvider->rotate($actual, 'oldtoken', 'newtoken'); + + $newPrivate = $new->getPrivateKey(); + + $this->assertNotSame($newPrivate, $oldPrivate); + $this->assertNull($new->getPassword()); + } + + public function testConvertToken() { + $defaultToken = new DefaultToken(); + $defaultToken->setId(42); + $defaultToken->setPassword('oldPass'); + $defaultToken->setExpires(1337); + $defaultToken->setToken('oldToken'); + $defaultToken->setUid('uid'); + $defaultToken->setLoginName('loginName'); + $defaultToken->setLastActivity(999); + $defaultToken->setName('name'); + $defaultToken->setRemember(IToken::REMEMBER); + $defaultToken->setType(IToken::PERMANENT_TOKEN); + + $this->mapper->expects($this->once()) + ->method('update') + ->willReturnArgument(0); + + $newToken = $this->tokenProvider->convertToken($defaultToken, 'newToken', 'newPassword'); + + $this->assertSame(42, $newToken->getId()); + $this->assertSame('newPassword', $this->tokenProvider->getPassword($newToken, 'newToken')); + $this->assertSame(1337, $newToken->getExpires()); + $this->assertSame('uid', $newToken->getUID()); + $this->assertSame('loginName', $newToken->getLoginName()); + $this->assertSame(1313131, $newToken->getLastActivity()); + $this->assertSame(1313131, $newToken->getLastCheck()); + $this->assertSame('name', $newToken->getName()); + $this->assertSame(IToken::REMEMBER, $newToken->getRemember()); + $this->assertSame(IToken::PERMANENT_TOKEN, $newToken->getType()); + } +} diff --git a/tests/lib/Authentication/Token/PublicKeyTokenTest.php b/tests/lib/Authentication/Token/PublicKeyTokenTest.php new file mode 100644 index 00000000000..d0226eb9902 --- /dev/null +++ b/tests/lib/Authentication/Token/PublicKeyTokenTest.php @@ -0,0 +1,44 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace Test\Authentication\Token; + +use OC\Authentication\Token\PublicKeyToken; +use Test\TestCase; + +class PublicKeyTokenTest extends TestCase { + public function testSetScopeAsArray() { + $scope = ['filesystem' => false]; + $token = new PublicKeyToken(); + $token->setScope($scope); + $this->assertEquals(json_encode($scope), $token->getScope()); + $this->assertEquals($scope, $token->getScopeAsArray()); + } + + public function testDefaultScope() { + $scope = ['filesystem' => true]; + $token = new PublicKeyToken(); + $this->assertEquals($scope, $token->getScopeAsArray()); + } +} diff --git a/tests/lib/AvatarTest.php b/tests/lib/AvatarTest.php index 4914c02bd14..759dd385564 100644 --- a/tests/lib/AvatarTest.php +++ b/tests/lib/AvatarTest.php @@ -48,6 +48,9 @@ class AvatarTest extends \Test\TestCase { $this->createMock(ILogger::class), $this->config ); + + // abcdefghi is a convenient name that our algorithm convert to our nextcloud blue 0082c9 + $this->user->method('getDisplayName')->willReturn('abcdefghi'); } public function testGetNoAvatar() { @@ -226,4 +229,37 @@ class AvatarTest extends \Test\TestCase { $this->avatar->set($image->data()); } + public function testGenerateSvgAvatar() { + $avatar = $this->invokePrivate($this->avatar, 'getAvatarVector', [64]); + + $svg = '<?xml version="1.0" encoding="UTF-8" standalone="no"?> + <svg width="64" height="64" version="1.1" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg"> + <rect width="100%" height="100%" fill="#0082c9"></rect> + <text x="50%" y="350" style="font-weight:600;font-size:278px;font-family:\'Open Sans\';text-anchor:middle;fill:#fff">A</text> + </svg>'; + $this->assertEquals($avatar, $svg); + } + + public function testHashToInt() { + $hashToInt = $this->invokePrivate($this->avatar, 'hashToInt', ['abcdef', 18]); + $this->assertTrue(gettype($hashToInt) === 'integer'); + } + + public function testMixPalette() { + $colorFrom = new \OC\Color(0,0,0); + $colorTo = new \OC\Color(6,12,18); + $steps = 6; + $palette = $this->invokePrivate($this->avatar, 'mixPalette', [$steps, $colorFrom, $colorTo]); + foreach($palette as $j => $color) { + // calc increment + $incR = $colorTo->r / $steps * $j; + $incG = $colorTo->g / $steps * $j; + $incB = $colorTo->b / $steps * $j; + // ensure everything is equal + $this->assertEquals($color, new \OC\Color($incR, $incG,$incB)); + } + $hashToInt = $this->invokePrivate($this->avatar, 'hashToInt', ['abcdef', 18]); + $this->assertTrue(gettype($hashToInt) === 'integer'); + } + } diff --git a/tests/lib/Group/GroupTest.php b/tests/lib/Group/GroupTest.php index c7cbbc2321b..a0b77bbe4d7 100644 --- a/tests/lib/Group/GroupTest.php +++ b/tests/lib/Group/GroupTest.php @@ -303,7 +303,7 @@ class GroupTest extends \Test\TestCase { $users = $group->searchUsers('2'); $this->assertEquals(1, count($users)); - $user2 = $users[0]; + $user2 = $users['user2']; $this->assertEquals('user2', $user2->getUID()); } @@ -329,7 +329,7 @@ class GroupTest extends \Test\TestCase { $users = $group->searchUsers('2'); $this->assertEquals(1, count($users)); - $user2 = $users[0]; + $user2 = $users['user2']; $this->assertEquals('user2', $user2->getUID()); } @@ -348,7 +348,7 @@ class GroupTest extends \Test\TestCase { $users = $group->searchUsers('user', 1, 1); $this->assertEquals(1, count($users)); - $user2 = $users[0]; + $user2 = $users['user2']; $this->assertEquals('user2', $user2->getUID()); } @@ -374,8 +374,8 @@ class GroupTest extends \Test\TestCase { $users = $group->searchUsers('user', 2, 1); $this->assertEquals(2, count($users)); - $user2 = $users[0]; - $user1 = $users[1]; + $user2 = $users['user2']; + $user1 = $users['user1']; $this->assertEquals('user2', $user2->getUID()); $this->assertEquals('user1', $user1->getUID()); } diff --git a/tests/lib/Http/Client/ClientTest.php b/tests/lib/Http/Client/ClientTest.php index ec4ca6ec90c..7f12a824d17 100644 --- a/tests/lib/Http/Client/ClientTest.php +++ b/tests/lib/Http/Client/ClientTest.php @@ -27,6 +27,8 @@ class ClientTest extends \Test\TestCase { private $client; /** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */ private $config; + /** @var array */ + private $defaultRequestOptions; public function setUp() { parent::setUp(); @@ -85,42 +87,167 @@ class ClientTest extends \Test\TestCase { $this->assertSame('username:password@foo', self::invokePrivate($this->client, 'getProxyUri')); } + private function setUpDefaultRequestOptions() { + $this->config + ->expects($this->at(0)) + ->method('getSystemValue') + ->with('proxy', null) + ->willReturn('foo'); + $this->config + ->expects($this->at(1)) + ->method('getSystemValue') + ->with('proxyuserpwd', null) + ->willReturn(null); + $this->certificateManager + ->expects($this->once()) + ->method('getAbsoluteBundlePath') + ->with(null) + ->willReturn('/my/path.crt'); + + $this->defaultRequestOptions = [ + 'verify' => '/my/path.crt', + 'proxy' => 'foo' + ]; + } + public function testGet() { + $this->setUpDefaultRequestOptions(); + $this->guzzleClient->method('request') + ->with('get', 'http://localhost/', $this->defaultRequestOptions) ->willReturn(new Response(1337)); $this->assertEquals(1337, $this->client->get('http://localhost/', [])->getStatusCode()); } + public function testGetWithOptions() { + $this->setUpDefaultRequestOptions(); + + $options = [ + 'verify' => false, + 'proxy' => 'bar' + ]; + + $this->guzzleClient->method('request') + ->with('get', 'http://localhost/', $options) + ->willReturn(new Response(1337)); + $this->assertEquals(1337, $this->client->get('http://localhost/', $options)->getStatusCode()); + } + public function testPost() { + $this->setUpDefaultRequestOptions(); + $this->guzzleClient->method('request') + ->with('post', 'http://localhost/', $this->defaultRequestOptions) ->willReturn(new Response(1337)); $this->assertEquals(1337, $this->client->post('http://localhost/', [])->getStatusCode()); } + public function testPostWithOptions() { + $this->setUpDefaultRequestOptions(); + + $options = [ + 'verify' => false, + 'proxy' => 'bar' + ]; + + $this->guzzleClient->method('request') + ->with('post', 'http://localhost/', $options) + ->willReturn(new Response(1337)); + $this->assertEquals(1337, $this->client->post('http://localhost/', $options)->getStatusCode()); + } + public function testPut() { + $this->setUpDefaultRequestOptions(); + $this->guzzleClient->method('request') + ->with('put', 'http://localhost/', $this->defaultRequestOptions) ->willReturn(new Response(1337)); $this->assertEquals(1337, $this->client->put('http://localhost/', [])->getStatusCode()); } + public function testPutWithOptions() { + $this->setUpDefaultRequestOptions(); + + $options = [ + 'verify' => false, + 'proxy' => 'bar' + ]; + + $this->guzzleClient->method('request') + ->with('put', 'http://localhost/', $options) + ->willReturn(new Response(1337)); + $this->assertEquals(1337, $this->client->put('http://localhost/', $options)->getStatusCode()); + } + public function testDelete() { + $this->setUpDefaultRequestOptions(); + $this->guzzleClient->method('request') + ->with('delete', 'http://localhost/', $this->defaultRequestOptions) ->willReturn(new Response(1337)); $this->assertEquals(1337, $this->client->delete('http://localhost/', [])->getStatusCode()); } + public function testDeleteWithOptions() { + $this->setUpDefaultRequestOptions(); + + $options = [ + 'verify' => false, + 'proxy' => 'bar' + ]; + + $this->guzzleClient->method('request') + ->with('delete', 'http://localhost/', $options) + ->willReturn(new Response(1337)); + $this->assertEquals(1337, $this->client->delete('http://localhost/', $options)->getStatusCode()); + } + public function testOptions() { + $this->setUpDefaultRequestOptions(); + $this->guzzleClient->method('request') + ->with('options', 'http://localhost/', $this->defaultRequestOptions) ->willReturn(new Response(1337)); $this->assertEquals(1337, $this->client->options('http://localhost/', [])->getStatusCode()); } + public function testOptionsWithOptions() { + $this->setUpDefaultRequestOptions(); + + $options = [ + 'verify' => false, + 'proxy' => 'bar' + ]; + + $this->guzzleClient->method('request') + ->with('options', 'http://localhost/', $options) + ->willReturn(new Response(1337)); + $this->assertEquals(1337, $this->client->options('http://localhost/', $options)->getStatusCode()); + } + public function testHead() { + $this->setUpDefaultRequestOptions(); + $this->guzzleClient->method('request') + ->with('head', 'http://localhost/', $this->defaultRequestOptions) ->willReturn(new Response(1337)); $this->assertEquals(1337, $this->client->head('http://localhost/', [])->getStatusCode()); } + public function testHeadWithOptions() { + $this->setUpDefaultRequestOptions(); + + $options = [ + 'verify' => false, + 'proxy' => 'bar' + ]; + + $this->guzzleClient->method('request') + ->with('head', 'http://localhost/', $options) + ->willReturn(new Response(1337)); + $this->assertEquals(1337, $this->client->head('http://localhost/', $options)->getStatusCode()); + } + public function testSetDefaultOptionsWithNotInstalled() { $this->config ->expects($this->at(0)) diff --git a/version.php b/version.php index a7b0fdbcc67..0a9aee66adc 100644 --- a/version.php +++ b/version.php @@ -29,7 +29,7 @@ // between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel // when updating major/minor version number. -$OC_Version = array(14, 0, 0, 4); +$OC_Version = array(14, 0, 0, 5); // The human readable string $OC_VersionString = '14.0.0 alpha'; |