diff --git a/apps/comments/l10n/pl.js b/apps/comments/l10n/pl.js
index 19d5148477cd110de26895328ad1768f18b8855c..79c2f364578d7a13a6df5f7f527863573247d95f 100644
--- a/apps/comments/l10n/pl.js
+++ b/apps/comments/l10n/pl.js
@@ -3,7 +3,7 @@ OC.L10N.register(
     {
     "Comments" : "Komentarze",
     "Unknown user" : "Nieznany użytkownik",
-    "New comment …" : "Nowy komentarz ...",
+    "New comment …" : "Nowy komentarz...",
     "Delete comment" : "Skasuj komentarz",
     "Post" : "Zapisz",
     "Cancel" : "Anuluj",
@@ -16,9 +16,9 @@ OC.L10N.register(
     "Error occurred while retrieving comment with id {id}" : "W trakcie otrzymywania komentarza o identyfikatorze {id} wystąpił błąd.",
     "Error occurred while updating comment with id {id}" : "W trakcie aktualizacji komentarza o identyfikatorze {id} wystąpił błąd.",
     "Error occurred while posting comment" : "Podczas wysyłania komentarza wystąpił błąd",
-    "_%n unread comment_::_%n unread comments_" : ["%n nieprzeczytany komentarz","%n nieprzeczytane komentarze","%n nieprzeczytanych komentarzy"],
+    "_%n unread comment_::_%n unread comments_" : ["%n nieprzeczytany komentarz","%n nieprzeczytane komentarze","%n nieprzeczytanych komentarzy","%n nieprzeczytanych komentarzy"],
     "Comment" : "Komentarz",
-    "You commented" : "Skomentowałeś/łaś",
+    "You commented" : "Skomentowałeś",
     "%1$s commented" : "%1$s skomentował",
     "{author} commented" : "{author} skomentował",
     "You commented on %1$s" : "Skomentowałeś w %1$s",
@@ -34,6 +34,6 @@ OC.L10N.register(
     "No other comments available" : "Nie ma więcej komentarzy",
     "More comments..." : "Więcej komentarzy...",
     "{count} unread comments" : "{count} nieprzeczytanych komentarzy",
-    "You commented on %2$s" : "Skomentowałeś/łaś %2$s"
+    "You commented on %2$s" : "Skomentowałeś %2$s"
 },
 "nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/comments/l10n/pl.json b/apps/comments/l10n/pl.json
index 838f4d1aa44dc0f4ee1d90feb3306cda5fdc07d2..90566fdfd868ca08bca54b7d09dd6a25b3b1a1a5 100644
--- a/apps/comments/l10n/pl.json
+++ b/apps/comments/l10n/pl.json
@@ -1,7 +1,7 @@
 { "translations": {
     "Comments" : "Komentarze",
     "Unknown user" : "Nieznany użytkownik",
-    "New comment …" : "Nowy komentarz ...",
+    "New comment …" : "Nowy komentarz...",
     "Delete comment" : "Skasuj komentarz",
     "Post" : "Zapisz",
     "Cancel" : "Anuluj",
@@ -14,9 +14,9 @@
     "Error occurred while retrieving comment with id {id}" : "W trakcie otrzymywania komentarza o identyfikatorze {id} wystąpił błąd.",
     "Error occurred while updating comment with id {id}" : "W trakcie aktualizacji komentarza o identyfikatorze {id} wystąpił błąd.",
     "Error occurred while posting comment" : "Podczas wysyłania komentarza wystąpił błąd",
-    "_%n unread comment_::_%n unread comments_" : ["%n nieprzeczytany komentarz","%n nieprzeczytane komentarze","%n nieprzeczytanych komentarzy"],
+    "_%n unread comment_::_%n unread comments_" : ["%n nieprzeczytany komentarz","%n nieprzeczytane komentarze","%n nieprzeczytanych komentarzy","%n nieprzeczytanych komentarzy"],
     "Comment" : "Komentarz",
-    "You commented" : "Skomentowałeś/łaś",
+    "You commented" : "Skomentowałeś",
     "%1$s commented" : "%1$s skomentował",
     "{author} commented" : "{author} skomentował",
     "You commented on %1$s" : "Skomentowałeś w %1$s",
@@ -32,6 +32,6 @@
     "No other comments available" : "Nie ma więcej komentarzy",
     "More comments..." : "Więcej komentarzy...",
     "{count} unread comments" : "{count} nieprzeczytanych komentarzy",
-    "You commented on %2$s" : "Skomentowałeś/łaś %2$s"
+    "You commented on %2$s" : "Skomentowałeś %2$s"
 },"pluralForm" :"nplurals=3; plural=(n==1 ? 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/dav/l10n/nb_NO.js b/apps/dav/l10n/nb_NO.js
index 7c6204574366e7b334cdea32afd5ec75fefe7697..364f305189d94737cf8f5745901f862dc645b916 100644
--- a/apps/dav/l10n/nb_NO.js
+++ b/apps/dav/l10n/nb_NO.js
@@ -1,6 +1,44 @@
 OC.L10N.register(
     "dav",
     {
+    "Calendar" : "Kalender",
+    "Todos" : "Gjøremål",
+    "{actor} created calendar {calendar}" : "{actor} opprettet kalenderen {calendar}",
+    "You created calendar {calendar}" : "Du opprettet kalenderen {calendar}",
+    "{actor} deleted calendar {calendar}" : "{actor} slettet kalenderen {calendar}",
+    "You deleted calendar {calendar}" : "Du slettet kalenderen {calendar}",
+    "{actor} updated calendar {calendar}" : "{actor} oppdaterte kalenderen {calendar}",
+    "You updated calendar {calendar}" : "Du oppdaterte kalenderen {calendar}",
+    "{actor} shared calendar {calendar} with you" : "{actor} delte kalenderen {calendar} med deg",
+    "You shared calendar {calendar} with {user}" : "Du delte kalenderen {calendar} med {user}",
+    "{actor} shared calendar {calendar} with {user}" : "{actor} delte kalenderen {calendar} med {user}",
+    "{actor} unshared calendar {calendar} from you" : "{actor} fjernet delingen av kalenderen {calendar} med deg",
+    "You unshared calendar {calendar} from {user}" : "Du fjernet delingen av kalender {calendar} med {user}",
+    "{actor} unshared calendar {calendar} from {user}" : "{actor} fjernet delingen av kalender {calendar} med {user}",
+    "{actor} unshared calendar {calendar} from themselves" : "{actor} fjernet delingen av kalender {calendar} med seg selv",
+    "You shared calendar {calendar} with group {group}" : "Du delte kalender {calendar} med gruppe {group}",
+    "{actor} shared calendar {calendar} with group {group}" : "{actor} delte kalenderen {calendar} med gruppe {group}",
+    "You unshared calendar {calendar} from group {group}" : "Du fjernet deling av kalenderen {calendar} med gruppe {group}",
+    "{actor} unshared calendar {calendar} from group {group}" : "{actor} fjernet deling av kalenderen {calendar} med gruppe {group}",
+    "{actor} created event {event} in calendar {calendar}" : "{actor} opprettet en hendelse {event} i kalenderen {calendar}",
+    "You created event {event} in calendar {calendar}" : "Du opprettet en hendelse {event} i kalenderen {calendar}",
+    "{actor} deleted event {event} from calendar {calendar}" : "{actor} slettet hendelsen {event} fra kalenderen {calendar}",
+    "You deleted event {event} from calendar {calendar}" : "Du slettet hendelsen {event} fra kalenderen {calendar}",
+    "{actor} updated event {event} in calendar {calendar}" : "{actor} oppdaterte hendelse {event} i kalenderen {calendar}",
+    "You updated event {event} in calendar {calendar}" : "Du oppdaterte hendelse {event} i kalenderen {calendar}",
+    "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgave {todo} i listen {calendar}",
+    "You created todo {todo} in list {calendar}" : "Du opprettet en oppgave {todo} i listen {calendar}",
+    "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet en oppgave {todo} fra listen {calendar}",
+    "You deleted todo {todo} from list {calendar}" : "Du slettet en oppgave {todo} fra listen {calendar}",
+    "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte en oppgave {todo} i listen {calendar}",
+    "You updated todo {todo} in list {calendar}" : "Du oppdaterte en oppgave {todo} i listen {calendar}",
+    "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte oppgaven {todo} i listen {calendar}",
+    "You solved todo {todo} in list {calendar}" : "Du ferdigstilte oppgaven {todo} i listen {calendar}",
+    "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet oppgaven {todo} i listen {calendar}",
+    "You reopened todo {todo} in list {calendar}" : "Du gjenåpnet oppgaven {todo} i listen {calendar}",
+    "A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> ble endret",
+    "A calendar <strong>event</strong> was modified" : "En kalender <strong>hendelse</strong> ble endret",
+    "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret",
     "Contact birthdays" : "Kontakters fødelsdag",
     "Personal" : "Personlig",
     "Contacts" : "Kontakter",
diff --git a/apps/dav/l10n/nb_NO.json b/apps/dav/l10n/nb_NO.json
index 5c305db045c440f45af888c6d2c42a86d4796796..3725ba697faffc477341df2bbb2d1c8fbf6eca28 100644
--- a/apps/dav/l10n/nb_NO.json
+++ b/apps/dav/l10n/nb_NO.json
@@ -1,4 +1,42 @@
 { "translations": {
+    "Calendar" : "Kalender",
+    "Todos" : "Gjøremål",
+    "{actor} created calendar {calendar}" : "{actor} opprettet kalenderen {calendar}",
+    "You created calendar {calendar}" : "Du opprettet kalenderen {calendar}",
+    "{actor} deleted calendar {calendar}" : "{actor} slettet kalenderen {calendar}",
+    "You deleted calendar {calendar}" : "Du slettet kalenderen {calendar}",
+    "{actor} updated calendar {calendar}" : "{actor} oppdaterte kalenderen {calendar}",
+    "You updated calendar {calendar}" : "Du oppdaterte kalenderen {calendar}",
+    "{actor} shared calendar {calendar} with you" : "{actor} delte kalenderen {calendar} med deg",
+    "You shared calendar {calendar} with {user}" : "Du delte kalenderen {calendar} med {user}",
+    "{actor} shared calendar {calendar} with {user}" : "{actor} delte kalenderen {calendar} med {user}",
+    "{actor} unshared calendar {calendar} from you" : "{actor} fjernet delingen av kalenderen {calendar} med deg",
+    "You unshared calendar {calendar} from {user}" : "Du fjernet delingen av kalender {calendar} med {user}",
+    "{actor} unshared calendar {calendar} from {user}" : "{actor} fjernet delingen av kalender {calendar} med {user}",
+    "{actor} unshared calendar {calendar} from themselves" : "{actor} fjernet delingen av kalender {calendar} med seg selv",
+    "You shared calendar {calendar} with group {group}" : "Du delte kalender {calendar} med gruppe {group}",
+    "{actor} shared calendar {calendar} with group {group}" : "{actor} delte kalenderen {calendar} med gruppe {group}",
+    "You unshared calendar {calendar} from group {group}" : "Du fjernet deling av kalenderen {calendar} med gruppe {group}",
+    "{actor} unshared calendar {calendar} from group {group}" : "{actor} fjernet deling av kalenderen {calendar} med gruppe {group}",
+    "{actor} created event {event} in calendar {calendar}" : "{actor} opprettet en hendelse {event} i kalenderen {calendar}",
+    "You created event {event} in calendar {calendar}" : "Du opprettet en hendelse {event} i kalenderen {calendar}",
+    "{actor} deleted event {event} from calendar {calendar}" : "{actor} slettet hendelsen {event} fra kalenderen {calendar}",
+    "You deleted event {event} from calendar {calendar}" : "Du slettet hendelsen {event} fra kalenderen {calendar}",
+    "{actor} updated event {event} in calendar {calendar}" : "{actor} oppdaterte hendelse {event} i kalenderen {calendar}",
+    "You updated event {event} in calendar {calendar}" : "Du oppdaterte hendelse {event} i kalenderen {calendar}",
+    "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgave {todo} i listen {calendar}",
+    "You created todo {todo} in list {calendar}" : "Du opprettet en oppgave {todo} i listen {calendar}",
+    "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet en oppgave {todo} fra listen {calendar}",
+    "You deleted todo {todo} from list {calendar}" : "Du slettet en oppgave {todo} fra listen {calendar}",
+    "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte en oppgave {todo} i listen {calendar}",
+    "You updated todo {todo} in list {calendar}" : "Du oppdaterte en oppgave {todo} i listen {calendar}",
+    "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte oppgaven {todo} i listen {calendar}",
+    "You solved todo {todo} in list {calendar}" : "Du ferdigstilte oppgaven {todo} i listen {calendar}",
+    "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet oppgaven {todo} i listen {calendar}",
+    "You reopened todo {todo} in list {calendar}" : "Du gjenåpnet oppgaven {todo} i listen {calendar}",
+    "A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> ble endret",
+    "A calendar <strong>event</strong> was modified" : "En kalender <strong>hendelse</strong> ble endret",
+    "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret",
     "Contact birthdays" : "Kontakters fødelsdag",
     "Personal" : "Personlig",
     "Contacts" : "Kontakter",
diff --git a/apps/encryption/l10n/zh_CN.js b/apps/encryption/l10n/zh_CN.js
index 31077e16584372adad74048863fd65ec2c1cd5d5..729bf2a962c617188ae00ce4ca3e5ab8692b9528 100644
--- a/apps/encryption/l10n/zh_CN.js
+++ b/apps/encryption/l10n/zh_CN.js
@@ -30,8 +30,10 @@ OC.L10N.register(
     "one-time password for server-side-encryption" : "用于服务器端加密的一次性密码",
     "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : " 无法解密这个文件(或许这是一个共享文件?),请询问文件所有者重新与您分享这个文件。",
     "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "无法读取此文件,可能这是一个共享文件。请让文件所有者重新共享该文件。",
+    "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "您好,\n管理员已启用服务器端加密,您的文件已使用密码 '%s' 加密。\n\n请登陆网页界面,进入个人设置中的“基础加密模块”部分,在“旧登陆密码”处输入上述密码并输入您的当前登陆密码,即可更新加密密码。\n",
     "The share will expire on %s." : "此分享将在 %s 过期。",
     "Cheers!" : "干杯!",
+    "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "您好,<br><br>管理员已启用服务器端加密,您的文件已使用密码 <strong>%s</strong> 加密。<br><br>\n请登陆网页界面,进入个人设置中的“基础加密模块”部分,在“旧登陆密码”处输入上述密码并输入您的当前登陆密码,即可更新加密密码。<br><br>",
     "Default encryption module" : "默认加密模块",
     "Encrypt the home storage" : "加密主目录储存",
     "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "启用此选项将加密存储在主存储上的所有文件,否则只会加密外部存储上的文件.",
diff --git a/apps/encryption/l10n/zh_CN.json b/apps/encryption/l10n/zh_CN.json
index 99ffde1b4be406486cbb60bee4c67f6a09cc2e32..8fc58e8824eee622d368982931160569a994a083 100644
--- a/apps/encryption/l10n/zh_CN.json
+++ b/apps/encryption/l10n/zh_CN.json
@@ -28,8 +28,10 @@
     "one-time password for server-side-encryption" : "用于服务器端加密的一次性密码",
     "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : " 无法解密这个文件(或许这是一个共享文件?),请询问文件所有者重新与您分享这个文件。",
     "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "无法读取此文件,可能这是一个共享文件。请让文件所有者重新共享该文件。",
+    "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "您好,\n管理员已启用服务器端加密,您的文件已使用密码 '%s' 加密。\n\n请登陆网页界面,进入个人设置中的“基础加密模块”部分,在“旧登陆密码”处输入上述密码并输入您的当前登陆密码,即可更新加密密码。\n",
     "The share will expire on %s." : "此分享将在 %s 过期。",
     "Cheers!" : "干杯!",
+    "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "您好,<br><br>管理员已启用服务器端加密,您的文件已使用密码 <strong>%s</strong> 加密。<br><br>\n请登陆网页界面,进入个人设置中的“基础加密模块”部分,在“旧登陆密码”处输入上述密码并输入您的当前登陆密码,即可更新加密密码。<br><br>",
     "Default encryption module" : "默认加密模块",
     "Encrypt the home storage" : "加密主目录储存",
     "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "启用此选项将加密存储在主存储上的所有文件,否则只会加密外部存储上的文件.",
diff --git a/apps/federatedfilesharing/l10n/zh_CN.js b/apps/federatedfilesharing/l10n/zh_CN.js
index c98f000cdc313ffc25203b54ee5ad11aafb81d01..292e6b8deed87215ee56ce3e440aa99956aad5f8 100644
--- a/apps/federatedfilesharing/l10n/zh_CN.js
+++ b/apps/federatedfilesharing/l10n/zh_CN.js
@@ -2,21 +2,44 @@ OC.L10N.register(
     "federatedfilesharing",
     {
     "Federated sharing" : "联合云共享",
+    "Do you want to add the remote share {name} from {owner}@{remote}?" : "你想要添加远程共享 {名称} 来自 {所属}@{远程}?",
+    "Remote share" : "远程分享",
+    "Remote share password" : "远程分享密码",
+    "Cancel" : "取消",
+    "Add remote share" : "添加远程分享",
+    "Copy" : "复制",
+    "Copied!" : "已复制!",
+    "Not supported!" : "不支持!",
+    "Press ⌘-C to copy." : "请按 ⌘-C 键复制",
+    "Press Ctrl-C to copy." : "请按 Ctrl-C 键复制",
     "Invalid Federated Cloud ID" : "联合云ID不正确",
+    "Server to server sharing is not enabled on this server" : "此服务器未启用服务器到服务器分享功能",
+    "Couldn't establish a federated share." : "无法建立一个远程分享",
+    "Couldn't establish a federated share, maybe the password was wrong." : "无法建立分享,可能密码是错误的。",
+    "Federated Share request was successful, you will receive a invitation. Check your notifications." : "联合共享请求已成功,您将会收到邀请信息,请检查您的通知。",
+    "The mountpoint name contains invalid characters." : "挂载点的名称包含无效字符。",
+    "Invalid or untrusted SSL certificate" : "无效或是不被信任的 SSL 证书",
+    "Could not authenticate to remote share, password might be wrong" : "无法验证远程共享,可能是密码错误",
+    "Storage not valid" : "存储不可用",
+    "Federated Share successfully added" : "已成功添加联合共享",
+    "Couldn't add remote share" : "无法添加远程共享",
     "Sharing %s failed, because this item is already shared with %s" : "共享 %s 失败,因为它已经共享给 %s",
     "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,请检查设置或联系管理员。",
+    "File is already shared with %s" : "文件已经共享与 %s",
+    "Could not find share" : "没有发现共享",
     "Accept" : "接受",
     "Decline" : "拒绝",
     "Federated Cloud Sharing" : "联合云共享",
     "Open documentation" : "打开文档",
     "Allow users on this server to send shares to other servers" : "允许用户分享文件给其他服务器上的用户",
     "Allow users on this server to receive shares from other servers" : "允许用户从其他服务器接收分享",
+    "Search global and public address book for users" : "在全局和公开地址簿中寻找用户",
     "Federated Cloud" : "联合云",
     "Your Federated Cloud ID:" : "你的联合云ID:",
     "Share it:" : "分享它:",
     "Add to your website" : "添加到您的网站",
     "Share with me via Nextcloud" : "通过联合云与我共享",
-    "HTML Code:" : "HTML 代码:"
+    "HTML Code:" : "HTML 代码:",
+    "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "共享 %s 失败,联合云无法找到 %s,请检查设置或联系管理员。"
 },
 "nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/zh_CN.json b/apps/federatedfilesharing/l10n/zh_CN.json
index c996e02dc1e3059ca2a77238bc9df1fe2976267e..8bffea630c52ee0be37500d67f2580f1e0b4a621 100644
--- a/apps/federatedfilesharing/l10n/zh_CN.json
+++ b/apps/federatedfilesharing/l10n/zh_CN.json
@@ -1,20 +1,43 @@
 { "translations": {
     "Federated sharing" : "联合云共享",
+    "Do you want to add the remote share {name} from {owner}@{remote}?" : "你想要添加远程共享 {名称} 来自 {所属}@{远程}?",
+    "Remote share" : "远程分享",
+    "Remote share password" : "远程分享密码",
+    "Cancel" : "取消",
+    "Add remote share" : "添加远程分享",
+    "Copy" : "复制",
+    "Copied!" : "已复制!",
+    "Not supported!" : "不支持!",
+    "Press ⌘-C to copy." : "请按 ⌘-C 键复制",
+    "Press Ctrl-C to copy." : "请按 Ctrl-C 键复制",
     "Invalid Federated Cloud ID" : "联合云ID不正确",
+    "Server to server sharing is not enabled on this server" : "此服务器未启用服务器到服务器分享功能",
+    "Couldn't establish a federated share." : "无法建立一个远程分享",
+    "Couldn't establish a federated share, maybe the password was wrong." : "无法建立分享,可能密码是错误的。",
+    "Federated Share request was successful, you will receive a invitation. Check your notifications." : "联合共享请求已成功,您将会收到邀请信息,请检查您的通知。",
+    "The mountpoint name contains invalid characters." : "挂载点的名称包含无效字符。",
+    "Invalid or untrusted SSL certificate" : "无效或是不被信任的 SSL 证书",
+    "Could not authenticate to remote share, password might be wrong" : "无法验证远程共享,可能是密码错误",
+    "Storage not valid" : "存储不可用",
+    "Federated Share successfully added" : "已成功添加联合共享",
+    "Couldn't add remote share" : "无法添加远程共享",
     "Sharing %s failed, because this item is already shared with %s" : "共享 %s 失败,因为它已经共享给 %s",
     "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,请检查设置或联系管理员。",
+    "File is already shared with %s" : "文件已经共享与 %s",
+    "Could not find share" : "没有发现共享",
     "Accept" : "接受",
     "Decline" : "拒绝",
     "Federated Cloud Sharing" : "联合云共享",
     "Open documentation" : "打开文档",
     "Allow users on this server to send shares to other servers" : "允许用户分享文件给其他服务器上的用户",
     "Allow users on this server to receive shares from other servers" : "允许用户从其他服务器接收分享",
+    "Search global and public address book for users" : "在全局和公开地址簿中寻找用户",
     "Federated Cloud" : "联合云",
     "Your Federated Cloud ID:" : "你的联合云ID:",
     "Share it:" : "分享它:",
     "Add to your website" : "添加到您的网站",
     "Share with me via Nextcloud" : "通过联合云与我共享",
-    "HTML Code:" : "HTML 代码:"
+    "HTML Code:" : "HTML 代码:",
+    "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "共享 %s 失败,联合云无法找到 %s,请检查设置或联系管理员。"
 },"pluralForm" :"nplurals=1; plural=0;"
 }
\ No newline at end of file
diff --git a/apps/files/l10n/nb_NO.js b/apps/files/l10n/nb_NO.js
index c88bd8d2f5bfe3644caeeaa578274fc2ae3d63fc..807a9c141e6e4e15a0f9f1530fefb36629908be8 100644
--- a/apps/files/l10n/nb_NO.js
+++ b/apps/files/l10n/nb_NO.js
@@ -61,7 +61,7 @@ OC.L10N.register(
     "Storage of {owner} is full, files can not be updated or synced anymore!" : "Lagringsplass for {owner} er full, filer kan ikke oppdateres eller synkroniseres lenger!",
     "Your storage is full, files can not be updated or synced anymore!" : "Lagringsplass er oppbrukt, filer kan ikke lenger oppdateres eller synkroniseres!",
     "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Lagringsplass for {owner} er nesten full ({usedSpacePercent}%)",
-    "Your storage is almost full ({usedSpacePercent}%)" : "Lagringsplass er nesten brukt opp ([usedSpacePercent}%)",
+    "Your storage is almost full ({usedSpacePercent}%)" : "Lagringsplass er nesten brukt opp ({usedSpacePercent}%)",
     "_matches '{filter}'_::_match '{filter}'_" : [" stemmer med '{filter}'"," stemmer med '{filter}'"],
     "View in folder" : "Vis i mappe",
     "Path" : "Sti",
diff --git a/apps/files/l10n/nb_NO.json b/apps/files/l10n/nb_NO.json
index b1aa817289cd46a42a0fbd85b4469ad330644023..c32c5d80e3d967d01d994e27ef9b1d39d36a30ac 100644
--- a/apps/files/l10n/nb_NO.json
+++ b/apps/files/l10n/nb_NO.json
@@ -59,7 +59,7 @@
     "Storage of {owner} is full, files can not be updated or synced anymore!" : "Lagringsplass for {owner} er full, filer kan ikke oppdateres eller synkroniseres lenger!",
     "Your storage is full, files can not be updated or synced anymore!" : "Lagringsplass er oppbrukt, filer kan ikke lenger oppdateres eller synkroniseres!",
     "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Lagringsplass for {owner} er nesten full ({usedSpacePercent}%)",
-    "Your storage is almost full ({usedSpacePercent}%)" : "Lagringsplass er nesten brukt opp ([usedSpacePercent}%)",
+    "Your storage is almost full ({usedSpacePercent}%)" : "Lagringsplass er nesten brukt opp ({usedSpacePercent}%)",
     "_matches '{filter}'_::_match '{filter}'_" : [" stemmer med '{filter}'"," stemmer med '{filter}'"],
     "View in folder" : "Vis i mappe",
     "Path" : "Sti",
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index d718109c59236b0541efa5cb5900289083a99f72..ab84ccc90acc25c4986044b3613d1dc6c778910f 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -27,6 +27,7 @@ OC.L10N.register(
     "Delete" : "Usuń",
     "Disconnect storage" : "Odłącz magazyn",
     "Unshare" : "Zatrzymaj udostępnianie",
+    "Could not load info for file \"{file}\"" : "Nie można było załadować informacji o pliku \"{file}\"",
     "Files" : "Pliki",
     "Details" : "Szczegóły",
     "Select" : "Wybierz",
@@ -48,12 +49,12 @@ OC.L10N.register(
     "Name" : "Nazwa",
     "Size" : "Rozmiar",
     "Modified" : "Modyfikacja",
-    "_%n folder_::_%n folders_" : ["%n katalog","%n katalogi","%n katalogów"],
-    "_%n file_::_%n files_" : ["%n plik","%n pliki","%n plików"],
+    "_%n folder_::_%n folders_" : ["%n katalog","%n katalogi","%n katalogów","%n katalogów"],
+    "_%n file_::_%n files_" : ["%n plik","%n pliki","%n plików","%n plików"],
     "{dirs} and {files}" : "{dirs} i {files}",
-    "_including %n hidden_::_including %n hidden_" : ["w tym %n ukryty","w tym %n ukryte","w tym %n ukrytych"],
+    "_including %n hidden_::_including %n hidden_" : ["w tym %n ukryty","w tym %n ukryte","w tym %n ukrytych","w tym %n ukrytych"],
     "You don’t have permission to upload or create files here" : "Nie masz uprawnień do wczytywania lub tworzenia plików w tym miejscu",
-    "_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"],
+    "_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików","Wysyłanie %n plików"],
     "New" : "Nowy",
     "\"{name}\" is an invalid file name." : "\"{name}\" jest nieprawidłową nazwą pliku.",
     "File name cannot be empty." : "Nazwa pliku nie może być pusta.",
@@ -61,10 +62,10 @@ OC.L10N.register(
     "Your storage is full, files can not be updated or synced anymore!" : "Magazyn jest pełny. Pliki nie mogą zostać zaktualizowane lub zsynchronizowane!",
     "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Miejsce dla {owner} jest na wyczerpaniu ({usedSpacePercent}%)",
     "Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)",
-    "_matches '{filter}'_::_match '{filter}'_" : ["pasujÄ…cy '{filter}'","pasujÄ…ce '{filter}'","pasujÄ…cych '{filter}'"],
+    "_matches '{filter}'_::_match '{filter}'_" : ["pasujÄ…cy '{filter}'","pasujÄ…ce '{filter}'","pasujÄ…cych '{filter}'","pasujÄ…cych '{filter}'"],
     "View in folder" : "Zobacz w katalogu",
     "Path" : "Ścieżka",
-    "_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtów"],
+    "_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtów","%n bajtów"],
     "Favorited" : "Ulubiony",
     "Favorite" : "Ulubione",
     "Copy local link" : "Kopiowanie lokalnego linku",
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index 36fa8c901c6de6a02837b0ee55734fa41510cdea..7a7fdb17f6b25e1044134605aace891f38a2ceed 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -25,6 +25,7 @@
     "Delete" : "Usuń",
     "Disconnect storage" : "Odłącz magazyn",
     "Unshare" : "Zatrzymaj udostępnianie",
+    "Could not load info for file \"{file}\"" : "Nie można było załadować informacji o pliku \"{file}\"",
     "Files" : "Pliki",
     "Details" : "Szczegóły",
     "Select" : "Wybierz",
@@ -46,12 +47,12 @@
     "Name" : "Nazwa",
     "Size" : "Rozmiar",
     "Modified" : "Modyfikacja",
-    "_%n folder_::_%n folders_" : ["%n katalog","%n katalogi","%n katalogów"],
-    "_%n file_::_%n files_" : ["%n plik","%n pliki","%n plików"],
+    "_%n folder_::_%n folders_" : ["%n katalog","%n katalogi","%n katalogów","%n katalogów"],
+    "_%n file_::_%n files_" : ["%n plik","%n pliki","%n plików","%n plików"],
     "{dirs} and {files}" : "{dirs} i {files}",
-    "_including %n hidden_::_including %n hidden_" : ["w tym %n ukryty","w tym %n ukryte","w tym %n ukrytych"],
+    "_including %n hidden_::_including %n hidden_" : ["w tym %n ukryty","w tym %n ukryte","w tym %n ukrytych","w tym %n ukrytych"],
     "You don’t have permission to upload or create files here" : "Nie masz uprawnień do wczytywania lub tworzenia plików w tym miejscu",
-    "_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"],
+    "_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików","Wysyłanie %n plików"],
     "New" : "Nowy",
     "\"{name}\" is an invalid file name." : "\"{name}\" jest nieprawidłową nazwą pliku.",
     "File name cannot be empty." : "Nazwa pliku nie może być pusta.",
@@ -59,10 +60,10 @@
     "Your storage is full, files can not be updated or synced anymore!" : "Magazyn jest pełny. Pliki nie mogą zostać zaktualizowane lub zsynchronizowane!",
     "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Miejsce dla {owner} jest na wyczerpaniu ({usedSpacePercent}%)",
     "Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)",
-    "_matches '{filter}'_::_match '{filter}'_" : ["pasujÄ…cy '{filter}'","pasujÄ…ce '{filter}'","pasujÄ…cych '{filter}'"],
+    "_matches '{filter}'_::_match '{filter}'_" : ["pasujÄ…cy '{filter}'","pasujÄ…ce '{filter}'","pasujÄ…cych '{filter}'","pasujÄ…cych '{filter}'"],
     "View in folder" : "Zobacz w katalogu",
     "Path" : "Ścieżka",
-    "_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtów"],
+    "_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtów","%n bajtów"],
     "Favorited" : "Ulubiony",
     "Favorite" : "Ulubione",
     "Copy local link" : "Kopiowanie lokalnego linku",
diff --git a/apps/files_external/l10n/pl.js b/apps/files_external/l10n/pl.js
index 9467d73d0f14039c00923270cb60903d95985810..1b25fa1aec8f5b12ea9fc60cc89c61840c3d8a9f 100644
--- a/apps/files_external/l10n/pl.js
+++ b/apps/files_external/l10n/pl.js
@@ -25,6 +25,7 @@ OC.L10N.register(
     "Save" : "Zapisz",
     "Empty response from the server" : "Puste odpowiedzi z serwera",
     "Couldn't access. Please logout and login to activate this mount point" : "Nie można uzyskać dostępu. Należy wylogować się i ponownie zalogować się, aby włączyć ten punkt montowania",
+    "Couldn't get the information from the remote server: {code} {type}" : "Nie można otrzymać informacji od zdalnego serwera: {code} {type}",
     "Couldn't get the list of external mount points: {type}" : "Nie udało się uzyskać listy zewnętrznych punktów montowania: {type}",
     "There was an error with message: " : "Wystąpił błąd o treści:",
     "External mount error" : "Błąd przy montowaniu zewnętrznym",
@@ -43,6 +44,7 @@ OC.L10N.register(
     "Objectstore forbidden" : "Zabroniony obiekt sklepu",
     "Invalid storage backend \"%s\"" : "Nieprawidłowy magazyn zaplecza \"%s\"",
     "Not permitted to use backend \"%s\"" : "Nie można używać powrotu \"%s\"",
+    "Not permitted to use authentication mechanism \"%s\"" : "Nie można używać mechanizmu uwierzytelnienia \"%s\"",
     "Insufficient data: %s" : "NiewystarczajÄ…ce dane: %s",
     "%s" : "%s",
     "Access key" : "Klucz dostępu",
@@ -57,6 +59,7 @@ OC.L10N.register(
     "Client secret" : "Hasło klienta",
     "OpenStack" : "OpenStack",
     "Tenant name" : "Nazwa dzierżawcy",
+    "Rackspace" : "Rackspace",
     "API key" : "Klucz API",
     "Global credentials" : "Globalne poświadczenia",
     "Username and password" : "Nazwa użytkownika i hasło",
diff --git a/apps/files_external/l10n/pl.json b/apps/files_external/l10n/pl.json
index e058ad41707fcbb11bbf5b610a41ff92d8bc153e..088a1235cffb9c11feddc47675604d485d374462 100644
--- a/apps/files_external/l10n/pl.json
+++ b/apps/files_external/l10n/pl.json
@@ -23,6 +23,7 @@
     "Save" : "Zapisz",
     "Empty response from the server" : "Puste odpowiedzi z serwera",
     "Couldn't access. Please logout and login to activate this mount point" : "Nie można uzyskać dostępu. Należy wylogować się i ponownie zalogować się, aby włączyć ten punkt montowania",
+    "Couldn't get the information from the remote server: {code} {type}" : "Nie można otrzymać informacji od zdalnego serwera: {code} {type}",
     "Couldn't get the list of external mount points: {type}" : "Nie udało się uzyskać listy zewnętrznych punktów montowania: {type}",
     "There was an error with message: " : "Wystąpił błąd o treści:",
     "External mount error" : "Błąd przy montowaniu zewnętrznym",
@@ -41,6 +42,7 @@
     "Objectstore forbidden" : "Zabroniony obiekt sklepu",
     "Invalid storage backend \"%s\"" : "Nieprawidłowy magazyn zaplecza \"%s\"",
     "Not permitted to use backend \"%s\"" : "Nie można używać powrotu \"%s\"",
+    "Not permitted to use authentication mechanism \"%s\"" : "Nie można używać mechanizmu uwierzytelnienia \"%s\"",
     "Insufficient data: %s" : "NiewystarczajÄ…ce dane: %s",
     "%s" : "%s",
     "Access key" : "Klucz dostępu",
@@ -55,6 +57,7 @@
     "Client secret" : "Hasło klienta",
     "OpenStack" : "OpenStack",
     "Tenant name" : "Nazwa dzierżawcy",
+    "Rackspace" : "Rackspace",
     "API key" : "Klucz API",
     "Global credentials" : "Globalne poświadczenia",
     "Username and password" : "Nazwa użytkownika i hasło",
diff --git a/apps/files_versions/l10n/fr.js b/apps/files_versions/l10n/fr.js
index 23cc8be44f38f89a5303a61fb7d6231c7ceb36c4..0e28369303d3c414a10a77b8dd85fae1745032e9 100644
--- a/apps/files_versions/l10n/fr.js
+++ b/apps/files_versions/l10n/fr.js
@@ -3,7 +3,7 @@ OC.L10N.register(
     {
     "Could not revert: %s" : "Impossible de restaurer %s",
     "Versions" : "Versions",
-    "Failed to revert {file} to revision {timestamp}." : "Échec du retour du fichier {file} à la révision {timestamp}.",
+    "Failed to revert {file} to revision {timestamp}." : "Échec de la restauration du fichier {file} à la révision {timestamp}.",
     "_%n byte_::_%n bytes_" : ["%n octet","%n octets"],
     "Restore" : "Restaurer",
     "No versions available" : "Aucune version n'est disponible",
diff --git a/apps/files_versions/l10n/fr.json b/apps/files_versions/l10n/fr.json
index ed563578a6dcabdeae03aae943dfb90631d7a379..10798a0aa200bc92c9af7aa084f003e9bdb744e2 100644
--- a/apps/files_versions/l10n/fr.json
+++ b/apps/files_versions/l10n/fr.json
@@ -1,7 +1,7 @@
 { "translations": {
     "Could not revert: %s" : "Impossible de restaurer %s",
     "Versions" : "Versions",
-    "Failed to revert {file} to revision {timestamp}." : "Échec du retour du fichier {file} à la révision {timestamp}.",
+    "Failed to revert {file} to revision {timestamp}." : "Échec de la restauration du fichier {file} à la révision {timestamp}.",
     "_%n byte_::_%n bytes_" : ["%n octet","%n octets"],
     "Restore" : "Restaurer",
     "No versions available" : "Aucune version n'est disponible",
diff --git a/apps/files_versions/l10n/pl.js b/apps/files_versions/l10n/pl.js
index 1b6778ca9e02af7cfaa9ee182a098d36b6fcff8b..e330499d8efc509bb5e04fa82f12df5f22619c5a 100644
--- a/apps/files_versions/l10n/pl.js
+++ b/apps/files_versions/l10n/pl.js
@@ -4,7 +4,7 @@ OC.L10N.register(
     "Could not revert: %s" : "Nie można było przywrócić: %s",
     "Versions" : "Wersje",
     "Failed to revert {file} to revision {timestamp}." : "Nie udało się przywrócić {file} do wersji z {timestamp}.",
-    "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtów","%n bajtów"],
+    "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtów","%n bajtów","%n bajtów"],
     "Restore" : "Przywróć",
     "No versions available" : "Brak wersji",
     "More versions..." : "Więcej wersji...",
diff --git a/apps/files_versions/l10n/pl.json b/apps/files_versions/l10n/pl.json
index 1d8a2ed33cc445a4532b3349ad30eee0a7da7358..7d241cc42542213b974c6fb8b31b2e2f488b95e3 100644
--- a/apps/files_versions/l10n/pl.json
+++ b/apps/files_versions/l10n/pl.json
@@ -2,7 +2,7 @@
     "Could not revert: %s" : "Nie można było przywrócić: %s",
     "Versions" : "Wersje",
     "Failed to revert {file} to revision {timestamp}." : "Nie udało się przywrócić {file} do wersji z {timestamp}.",
-    "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtów","%n bajtów"],
+    "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtów","%n bajtów","%n bajtów"],
     "Restore" : "Przywróć",
     "No versions available" : "Brak wersji",
     "More versions..." : "Więcej wersji...",
diff --git a/apps/twofactor_backupcodes/l10n/nb_NO.js b/apps/twofactor_backupcodes/l10n/nb_NO.js
index cd6f0699255c3dd39eaeb6dc89cb7378827caa5f..98ad943d2cdbb3335209c890b30949276059b119 100644
--- a/apps/twofactor_backupcodes/l10n/nb_NO.js
+++ b/apps/twofactor_backupcodes/l10n/nb_NO.js
@@ -13,9 +13,9 @@ OC.L10N.register(
     "Two-factor authentication" : "To-trinns bekreftelse",
     "You successfully logged in using two-factor authentication (%1$s)" : "Din innlogging med to-trinns bekreftelse var velykket (%1$s)",
     "A login attempt using two-factor authentication failed (%1$s)" : "En innlogging med to-trinns bekreftelse mislyktes (%1$s)",
-    "You created two-factor backup codes for your account" : "Du opprettet to-trinns bekreftelses sikkerhetskopi-koder",
+    "You created two-factor backup codes for your account" : "Du opprettet to-trinns bekreftelse sikkerhetskopi-koder",
     "Backup code" : "Sikkerhetskopi-kode",
     "Use backup code" : "Bruker sikkerhetskopi-kode",
-    "Second-factor backup codes" : "To-trinns bekreftelses sikkerhetskopi-koder"
+    "Second-factor backup codes" : "To-trinns bekreftelse sikkerhetskopi-koder"
 },
 "nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/nb_NO.json b/apps/twofactor_backupcodes/l10n/nb_NO.json
index 33f26496b8e3c1d84414f29c881bd52a6a8fdb80..1fe3d2a9a32ea8f73c844e97f8cab816adbf7b96 100644
--- a/apps/twofactor_backupcodes/l10n/nb_NO.json
+++ b/apps/twofactor_backupcodes/l10n/nb_NO.json
@@ -11,9 +11,9 @@
     "Two-factor authentication" : "To-trinns bekreftelse",
     "You successfully logged in using two-factor authentication (%1$s)" : "Din innlogging med to-trinns bekreftelse var velykket (%1$s)",
     "A login attempt using two-factor authentication failed (%1$s)" : "En innlogging med to-trinns bekreftelse mislyktes (%1$s)",
-    "You created two-factor backup codes for your account" : "Du opprettet to-trinns bekreftelses sikkerhetskopi-koder",
+    "You created two-factor backup codes for your account" : "Du opprettet to-trinns bekreftelse sikkerhetskopi-koder",
     "Backup code" : "Sikkerhetskopi-kode",
     "Use backup code" : "Bruker sikkerhetskopi-kode",
-    "Second-factor backup codes" : "To-trinns bekreftelses sikkerhetskopi-koder"
+    "Second-factor backup codes" : "To-trinns bekreftelse sikkerhetskopi-koder"
 },"pluralForm" :"nplurals=2; plural=(n != 1);"
 }
\ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/pl.js b/apps/twofactor_backupcodes/l10n/pl.js
index 1291e75856f265a02fb2fd3aa407c10767dd73f3..2fdb0332e7a5b2b90933d819cf9040378630c675 100644
--- a/apps/twofactor_backupcodes/l10n/pl.js
+++ b/apps/twofactor_backupcodes/l10n/pl.js
@@ -10,6 +10,10 @@ OC.L10N.register(
     "If you regenerate backup codes, you automatically invalidate old codes." : "Jeśli generujesz kody zapasowe ponownie, automatycznie unieważnia stare kody.",
     "An error occurred while generating your backup codes" : "Wystąpił błąd podczas generowania kodów zapasowych.",
     "Nextcloud backup codes" : "Kody zapasowe Nextcloud",
+    "Two-factor authentication" : "Uwierzytelnienie dwuetapowe",
+    "You successfully logged in using two-factor authentication (%1$s)" : "Zalogowałeś się z wykorzystaniem uwierzytelnienia dwuetapowego (%1$s)",
+    "A login attempt using two-factor authentication failed (%1$s)" : "Próba zalogowania się z użyciem uwierzytelnienia dwuetapowego nie udała się (%1$s)",
+    "You created two-factor backup codes for your account" : "Stworzyłeś zapasowe kody uwierzytelnienia dwuetapowego swojego konta",
     "Backup code" : "Kopia zapasowa kodów",
     "Use backup code" : "Użyj kodu zapasowego",
     "Second-factor backup codes" : "Druga opcja kodów zapasowych"
diff --git a/apps/twofactor_backupcodes/l10n/pl.json b/apps/twofactor_backupcodes/l10n/pl.json
index be569fe740fa2a5d1fd46291d12de723aed5af6c..5662387446cb170096a0a6135cf5f5dcb3d1d809 100644
--- a/apps/twofactor_backupcodes/l10n/pl.json
+++ b/apps/twofactor_backupcodes/l10n/pl.json
@@ -8,6 +8,10 @@
     "If you regenerate backup codes, you automatically invalidate old codes." : "Jeśli generujesz kody zapasowe ponownie, automatycznie unieważnia stare kody.",
     "An error occurred while generating your backup codes" : "Wystąpił błąd podczas generowania kodów zapasowych.",
     "Nextcloud backup codes" : "Kody zapasowe Nextcloud",
+    "Two-factor authentication" : "Uwierzytelnienie dwuetapowe",
+    "You successfully logged in using two-factor authentication (%1$s)" : "Zalogowałeś się z wykorzystaniem uwierzytelnienia dwuetapowego (%1$s)",
+    "A login attempt using two-factor authentication failed (%1$s)" : "Próba zalogowania się z użyciem uwierzytelnienia dwuetapowego nie udała się (%1$s)",
+    "You created two-factor backup codes for your account" : "Stworzyłeś zapasowe kody uwierzytelnienia dwuetapowego swojego konta",
     "Backup code" : "Kopia zapasowa kodów",
     "Use backup code" : "Użyj kodu zapasowego",
     "Second-factor backup codes" : "Druga opcja kodów zapasowych"
diff --git a/apps/user_ldap/l10n/pl.js b/apps/user_ldap/l10n/pl.js
index 0c2955c288152a81c11cbc6ca6557dfef5999e7d..37ebe04de0202ff54917e0731be3514ea0bcdd46 100644
--- a/apps/user_ldap/l10n/pl.js
+++ b/apps/user_ldap/l10n/pl.js
@@ -6,7 +6,7 @@ OC.L10N.register(
     "The configuration is invalid: anonymous bind is not allowed." : "Konfiguracja jest nieprawidłowa: anonimowe złączenie nie jest dozwolone.",
     "The configuration is valid and the connection could be established!" : "Konfiguracja jest prawidłowa i można ustanowić połączenie!",
     "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Konfiguracja jest prawidłowa, ale Bind nie. Sprawdź ustawienia serwera i poświadczenia.",
-    "The configuration is invalid. Please have a look at the logs for further details." : "Konfiguracja jest nieprawidłowa. Proszę rzucić okiem na dzienniki dalszych szczegółów.",
+    "The configuration is invalid. Please have a look at the logs for further details." : "Konfiguracja jest nieprawidłowa. Proszę rzucić okiem na dzienniki dla dalszych szczegółów.",
     "No action specified" : "Nie określono akcji",
     "No configuration specified" : "Nie określono konfiguracji",
     "No data specified" : "Nie określono danych",
@@ -32,17 +32,25 @@ OC.L10N.register(
     "Confirm Deletion" : "Potwierdź usunięcie",
     "Mappings cleared successfully!" : "Mapowanie wyczyszczone!",
     "Error while clearing the mappings." : "Błąd podczas czyszczenia mapowania.",
+    "Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonimowe połączenie nie jest dozwolone. Proszę podać DN użytkownika i hasło.",
+    "LDAP Operations error. Anonymous bind might not be allowed." : "Błąd operacji LDAP. Anonimowe połączenie nie jest dozwolone.",
+    "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Zapis się nie udał. Proszę upewnij się, że baza danych jest uruchomiona. Przeładuj przed kontynuowaniem.",
     "Mode switch" : "Przełącznik trybów",
     "Select attributes" : "Wybierz atrybuty",
     "User found and settings verified." : "Użytkownik nie znalazł ustawienia zweryfikowanego.",
-    "_%s group found_::_%s groups found_" : ["%s znaleziona grupa","%s znalezionych grup","%s znalezionych grup"],
-    "_%s user found_::_%s users found_" : ["%s znaleziony użytkownik","%s znalezionych użytkowników","%s znalezionych użytkowników"],
+    "Settings verified, but more than one user found. Only the first will be able to login. Consider a more narrow filter." : "Ustawienia są poprawne, ale znaleziono więcej niż jednego użytkownika. Tylko pierwszy będzie mógł się zalogować. Rozważ większe zawężenie filtrami.",
+    "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Błąd połączenia do LDAP / AD, proszę sprawdzić adres hosta, port i poświadczenia.",
+    "Password change rejected. Hint: " : "Zmiana hasła odrzucona: Wskazówka:",
+    "LDAP / AD integration" : "Integracja z LDAP / AD",
+    "_%s group found_::_%s groups found_" : ["%s znaleziona grupa","%s znalezionych grup","%s znalezionych grup","%s znalezionych grup"],
+    "_%s user found_::_%s users found_" : ["%s znaleziony użytkownik","%s znalezionych użytkowników","%s znalezionych użytkowników","%s znalezionych użytkowników"],
     "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nie udało się wykryć atrybutu wyświetlanej nazwy użytkownika. Określ ją w zaawansowanych ustawieniach LDAP.",
     "Could not find the desired feature" : "Nie można znaleźć żądanej funkcji",
     "Invalid Host" : "Niepoprawny Host",
     "Test Configuration" : "Konfiguracja testowa",
     "Help" : "Pomoc",
     "Groups meeting these criteria are available in %s:" : "Przyłączenie do grupy z tymi ustawieniami dostępne jest w %s:",
+    "Only these object classes:" : "Tylko te klasy obiektów:",
     "Only from these groups:" : "Tylko z tych grup:",
     "Search groups" : "Przeszukaj grupy",
     "Available groups" : "Dostępne grupy",
@@ -54,11 +62,14 @@ OC.L10N.register(
     "When logging in, %s will find the user based on the following attributes:" : "Podczas logowania, %s znajdzie użytkownika na podstawie następujących atrybutów:",
     "LDAP / AD Username:" : "Nazwa użytkownika LDAP / AD:",
     "LDAP / AD Email Address:" : "Adres email LDAP/AD:",
+    "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Pozwól na logowanie poprzez atrybut email. Mail i mailPrimaryAddress będą dozwolone.",
     "Other Attributes:" : "Inne atrybuty:",
     "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Określa jakiego filtru użyć podczas próby zalogowania. %%uid zastępuje nazwę użytkownika w procesie logowania. Przykład: \"uid=%%uid\"",
+    "Test Loginname" : "Testowa nazwa użytkownika",
     "Verify settings" : "Weryfikuj ustawienia",
     "1. Server" : "1. Serwer",
     "%s. Server:" : "%s. Serwer:",
+    "Add a new and blank configuration" : "Dodaj nowÄ… pustÄ… konfiguracjÄ™",
     "Copy current configuration into new directory binding" : "Kopiuje aktualnÄ… konfiguracjÄ™ do nowej lokalizacji",
     "Delete the current configuration" : "Usuwa aktualnÄ… konfiguracjÄ™",
     "Host" : "Host",
@@ -71,9 +82,13 @@ OC.L10N.register(
     "For anonymous access, leave DN and Password empty." : "Dla dostępu anonimowego pozostawić DN i hasło puste.",
     "One Base DN per line" : "Jedna baza DN na liniÄ™",
     "You can specify Base DN for users and groups in the Advanced tab" : "Bazę DN można określić dla użytkowników i grup w karcie Zaawansowane",
+    "Detect Base DN" : "Wykryj DN bazy danych LDAP / AD",
+    "Test Base DN" : "Sprawdź DN bazy danych LDAP / AD",
     "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Zapobiega automatycznym zapytaniom LDAP. Lepsze dla większych instalacji, lecz wymaga pewnej wiedzy o LDAP.",
     "Manually enter LDAP filters (recommended for large directories)" : "Ręcznie wprowadzaj filtry LDAP (zalecane dla dużych katalogów)",
+    "%s access is limited to users meeting these criteria:" : "%s dostęp jest ograniczony dla użytkowników spełniających te warunki:",
     "The filter specifies which LDAP users shall have access to the %s instance." : "Filtr określa, którzy użytkownicy LDAP powinni mieć dostęp do instancji %s.",
+    "Verify settings and count users" : "Sprawdź ustawienia i policz użytkowników",
     "Saving" : "ZapisujÄ™",
     "Back" : "Wróć",
     "Continue" : "Kontynuuj ",
@@ -101,6 +116,8 @@ OC.L10N.register(
     "Directory Settings" : "Ustawienia katalogów",
     "User Display Name Field" : "Pole wyświetlanej nazwy użytkownika",
     "The LDAP attribute to use to generate the user's display name." : "Atrybut LDAP służący do generowania wyświetlanej nazwy użytkownika ownCloud.",
+    "2nd User Display Name Field" : "Drugie pole wyświetlanej nazwy użytkownika",
+    "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "Opcjonalnie. Atrybut LDAP, który będzie w nawiasach dodany do wyświetlanej nazwy użytkownika. Przykładowy wynik: »John Doe (john.doe@example.org)«.",
     "Base User Tree" : "Drzewo bazy użytkowników",
     "One User Base DN per line" : "Jeden użytkownik Bazy DN na linię",
     "User Search Attributes" : "Szukaj atrybutów",
@@ -116,6 +133,8 @@ OC.L10N.register(
     "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Kiedy włączone, grupy, które zawierają grupy, są wspierane. (Działa tylko, jeśli członek grupy ma ustawienie DNs)",
     "Paging chunksize" : "Wielkość stronicowania",
     "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Długość łańcucha jest używana do stronicowanych wyszukiwań LDAP, które mogą zwracać duże zbiory jak lista grup, czy użytkowników. (Ustawienie na 0 wyłącza stronicowane wyszukiwania w takich sytuacjach.)",
+    "Enable LDAP password changes per user" : "Włącz zmianę hasła LDAP przez użytkownika",
+    "(New password is sent as plain text to LDAP)" : "(Nowe hasło jest wysyłane do LDAP-a czystym tekstem)",
     "Special Attributes" : "Specjalne atrybuty",
     "Quota Field" : "Pole przydziału",
     "Quota Default" : "Przydział domyślny",
diff --git a/apps/user_ldap/l10n/pl.json b/apps/user_ldap/l10n/pl.json
index 9f73cc4c7531d16418345d0556d0daa5e5d66ee5..6c9f4d2aeefa28b16041c1b2baf19d4db5188f86 100644
--- a/apps/user_ldap/l10n/pl.json
+++ b/apps/user_ldap/l10n/pl.json
@@ -4,7 +4,7 @@
     "The configuration is invalid: anonymous bind is not allowed." : "Konfiguracja jest nieprawidłowa: anonimowe złączenie nie jest dozwolone.",
     "The configuration is valid and the connection could be established!" : "Konfiguracja jest prawidłowa i można ustanowić połączenie!",
     "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Konfiguracja jest prawidłowa, ale Bind nie. Sprawdź ustawienia serwera i poświadczenia.",
-    "The configuration is invalid. Please have a look at the logs for further details." : "Konfiguracja jest nieprawidłowa. Proszę rzucić okiem na dzienniki dalszych szczegółów.",
+    "The configuration is invalid. Please have a look at the logs for further details." : "Konfiguracja jest nieprawidłowa. Proszę rzucić okiem na dzienniki dla dalszych szczegółów.",
     "No action specified" : "Nie określono akcji",
     "No configuration specified" : "Nie określono konfiguracji",
     "No data specified" : "Nie określono danych",
@@ -30,17 +30,25 @@
     "Confirm Deletion" : "Potwierdź usunięcie",
     "Mappings cleared successfully!" : "Mapowanie wyczyszczone!",
     "Error while clearing the mappings." : "Błąd podczas czyszczenia mapowania.",
+    "Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonimowe połączenie nie jest dozwolone. Proszę podać DN użytkownika i hasło.",
+    "LDAP Operations error. Anonymous bind might not be allowed." : "Błąd operacji LDAP. Anonimowe połączenie nie jest dozwolone.",
+    "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Zapis się nie udał. Proszę upewnij się, że baza danych jest uruchomiona. Przeładuj przed kontynuowaniem.",
     "Mode switch" : "Przełącznik trybów",
     "Select attributes" : "Wybierz atrybuty",
     "User found and settings verified." : "Użytkownik nie znalazł ustawienia zweryfikowanego.",
-    "_%s group found_::_%s groups found_" : ["%s znaleziona grupa","%s znalezionych grup","%s znalezionych grup"],
-    "_%s user found_::_%s users found_" : ["%s znaleziony użytkownik","%s znalezionych użytkowników","%s znalezionych użytkowników"],
+    "Settings verified, but more than one user found. Only the first will be able to login. Consider a more narrow filter." : "Ustawienia są poprawne, ale znaleziono więcej niż jednego użytkownika. Tylko pierwszy będzie mógł się zalogować. Rozważ większe zawężenie filtrami.",
+    "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Błąd połączenia do LDAP / AD, proszę sprawdzić adres hosta, port i poświadczenia.",
+    "Password change rejected. Hint: " : "Zmiana hasła odrzucona: Wskazówka:",
+    "LDAP / AD integration" : "Integracja z LDAP / AD",
+    "_%s group found_::_%s groups found_" : ["%s znaleziona grupa","%s znalezionych grup","%s znalezionych grup","%s znalezionych grup"],
+    "_%s user found_::_%s users found_" : ["%s znaleziony użytkownik","%s znalezionych użytkowników","%s znalezionych użytkowników","%s znalezionych użytkowników"],
     "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nie udało się wykryć atrybutu wyświetlanej nazwy użytkownika. Określ ją w zaawansowanych ustawieniach LDAP.",
     "Could not find the desired feature" : "Nie można znaleźć żądanej funkcji",
     "Invalid Host" : "Niepoprawny Host",
     "Test Configuration" : "Konfiguracja testowa",
     "Help" : "Pomoc",
     "Groups meeting these criteria are available in %s:" : "Przyłączenie do grupy z tymi ustawieniami dostępne jest w %s:",
+    "Only these object classes:" : "Tylko te klasy obiektów:",
     "Only from these groups:" : "Tylko z tych grup:",
     "Search groups" : "Przeszukaj grupy",
     "Available groups" : "Dostępne grupy",
@@ -52,11 +60,14 @@
     "When logging in, %s will find the user based on the following attributes:" : "Podczas logowania, %s znajdzie użytkownika na podstawie następujących atrybutów:",
     "LDAP / AD Username:" : "Nazwa użytkownika LDAP / AD:",
     "LDAP / AD Email Address:" : "Adres email LDAP/AD:",
+    "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Pozwól na logowanie poprzez atrybut email. Mail i mailPrimaryAddress będą dozwolone.",
     "Other Attributes:" : "Inne atrybuty:",
     "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Określa jakiego filtru użyć podczas próby zalogowania. %%uid zastępuje nazwę użytkownika w procesie logowania. Przykład: \"uid=%%uid\"",
+    "Test Loginname" : "Testowa nazwa użytkownika",
     "Verify settings" : "Weryfikuj ustawienia",
     "1. Server" : "1. Serwer",
     "%s. Server:" : "%s. Serwer:",
+    "Add a new and blank configuration" : "Dodaj nowÄ… pustÄ… konfiguracjÄ™",
     "Copy current configuration into new directory binding" : "Kopiuje aktualnÄ… konfiguracjÄ™ do nowej lokalizacji",
     "Delete the current configuration" : "Usuwa aktualnÄ… konfiguracjÄ™",
     "Host" : "Host",
@@ -69,9 +80,13 @@
     "For anonymous access, leave DN and Password empty." : "Dla dostępu anonimowego pozostawić DN i hasło puste.",
     "One Base DN per line" : "Jedna baza DN na liniÄ™",
     "You can specify Base DN for users and groups in the Advanced tab" : "Bazę DN można określić dla użytkowników i grup w karcie Zaawansowane",
+    "Detect Base DN" : "Wykryj DN bazy danych LDAP / AD",
+    "Test Base DN" : "Sprawdź DN bazy danych LDAP / AD",
     "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Zapobiega automatycznym zapytaniom LDAP. Lepsze dla większych instalacji, lecz wymaga pewnej wiedzy o LDAP.",
     "Manually enter LDAP filters (recommended for large directories)" : "Ręcznie wprowadzaj filtry LDAP (zalecane dla dużych katalogów)",
+    "%s access is limited to users meeting these criteria:" : "%s dostęp jest ograniczony dla użytkowników spełniających te warunki:",
     "The filter specifies which LDAP users shall have access to the %s instance." : "Filtr określa, którzy użytkownicy LDAP powinni mieć dostęp do instancji %s.",
+    "Verify settings and count users" : "Sprawdź ustawienia i policz użytkowników",
     "Saving" : "ZapisujÄ™",
     "Back" : "Wróć",
     "Continue" : "Kontynuuj ",
@@ -99,6 +114,8 @@
     "Directory Settings" : "Ustawienia katalogów",
     "User Display Name Field" : "Pole wyświetlanej nazwy użytkownika",
     "The LDAP attribute to use to generate the user's display name." : "Atrybut LDAP służący do generowania wyświetlanej nazwy użytkownika ownCloud.",
+    "2nd User Display Name Field" : "Drugie pole wyświetlanej nazwy użytkownika",
+    "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "Opcjonalnie. Atrybut LDAP, który będzie w nawiasach dodany do wyświetlanej nazwy użytkownika. Przykładowy wynik: »John Doe (john.doe@example.org)«.",
     "Base User Tree" : "Drzewo bazy użytkowników",
     "One User Base DN per line" : "Jeden użytkownik Bazy DN na linię",
     "User Search Attributes" : "Szukaj atrybutów",
@@ -114,6 +131,8 @@
     "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Kiedy włączone, grupy, które zawierają grupy, są wspierane. (Działa tylko, jeśli członek grupy ma ustawienie DNs)",
     "Paging chunksize" : "Wielkość stronicowania",
     "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Długość łańcucha jest używana do stronicowanych wyszukiwań LDAP, które mogą zwracać duże zbiory jak lista grup, czy użytkowników. (Ustawienie na 0 wyłącza stronicowane wyszukiwania w takich sytuacjach.)",
+    "Enable LDAP password changes per user" : "Włącz zmianę hasła LDAP przez użytkownika",
+    "(New password is sent as plain text to LDAP)" : "(Nowe hasło jest wysyłane do LDAP-a czystym tekstem)",
     "Special Attributes" : "Specjalne atrybuty",
     "Quota Field" : "Pole przydziału",
     "Quota Default" : "Przydział domyślny",
diff --git a/apps/workflowengine/l10n/pl.js b/apps/workflowengine/l10n/pl.js
index 12920d852065a98075bbc94cbbcd67d9c1afae57..84e63e0189082530a5c63e4ec5c8eb8314df258e 100644
--- a/apps/workflowengine/l10n/pl.js
+++ b/apps/workflowengine/l10n/pl.js
@@ -3,6 +3,7 @@ OC.L10N.register(
     {
     "Successfully saved" : "Zapisywanie powiodło się",
     "Saving failed:" : "Zapisywanie nie powiodło się:",
+    "File mime type" : "Typ MIME pliku",
     "is" : "jest",
     "is not" : "nie jest",
     "matches" : "pasuje",
@@ -31,13 +32,16 @@ OC.L10N.register(
     "Request URL" : "Żądanie URL",
     "Predefined URLs" : "Przedefiniowanie URLs",
     "Files WebDAV" : "Pliki WebDAV",
+    "Request user agent" : "Żądanie agenta użytkownika",
     "Sync clients" : "Klienci synchronizacji",
     "Android client" : "Klient Android",
     "iOS client" : "Klient iOS",
     "Desktop client" : "Klient na komputer",
+    "User group membership" : "Członkostwo grupy użytkownika",
     "is member of" : "Jest członkiem z",
     "is not member of" : "Nie jest członkiem z",
     "The given operator is invalid" : "Dana operacja jest nieprawidłowa",
+    "The given regular expression is invalid" : "Podane wyrażenie regularne jest błędne",
     "The given file size is invalid" : "Podany rozmiar pliku jest nieprawidłowy",
     "The given tag id is invalid" : "Podane id etykiety jest nieprawidłowe",
     "The given IP range is invalid" : "Podany zakres adresów IP jest nieprawidłowy",
diff --git a/apps/workflowengine/l10n/pl.json b/apps/workflowengine/l10n/pl.json
index c2f3a149b6ac90ac74370bb8928948ef4706e983..31bcd2aca3e6200b69708f357337fe41f0ea8fa9 100644
--- a/apps/workflowengine/l10n/pl.json
+++ b/apps/workflowengine/l10n/pl.json
@@ -1,6 +1,7 @@
 { "translations": {
     "Successfully saved" : "Zapisywanie powiodło się",
     "Saving failed:" : "Zapisywanie nie powiodło się:",
+    "File mime type" : "Typ MIME pliku",
     "is" : "jest",
     "is not" : "nie jest",
     "matches" : "pasuje",
@@ -29,13 +30,16 @@
     "Request URL" : "Żądanie URL",
     "Predefined URLs" : "Przedefiniowanie URLs",
     "Files WebDAV" : "Pliki WebDAV",
+    "Request user agent" : "Żądanie agenta użytkownika",
     "Sync clients" : "Klienci synchronizacji",
     "Android client" : "Klient Android",
     "iOS client" : "Klient iOS",
     "Desktop client" : "Klient na komputer",
+    "User group membership" : "Członkostwo grupy użytkownika",
     "is member of" : "Jest członkiem z",
     "is not member of" : "Nie jest członkiem z",
     "The given operator is invalid" : "Dana operacja jest nieprawidłowa",
+    "The given regular expression is invalid" : "Podane wyrażenie regularne jest błędne",
     "The given file size is invalid" : "Podany rozmiar pliku jest nieprawidłowy",
     "The given tag id is invalid" : "Podane id etykiety jest nieprawidłowe",
     "The given IP range is invalid" : "Podany zakres adresów IP jest nieprawidłowy",
diff --git a/apps/workflowengine/l10n/zh_CN.js b/apps/workflowengine/l10n/zh_CN.js
index 044a841046c085be5fba8c3062f5f9bca45e7065..9f7071a6c88c3b0e5f679514bb1d0b319c620ab1 100644
--- a/apps/workflowengine/l10n/zh_CN.js
+++ b/apps/workflowengine/l10n/zh_CN.js
@@ -19,6 +19,7 @@ OC.L10N.register(
     "is not tagged with" : "未标记为",
     "Select tag…" : "选择标签...",
     "Request remote address" : "要求远程地址",
+    "matches IPv4" : "匹配 IPv4",
     "does not match IPv4" : "不匹配IPv4",
     "matches IPv6" : "匹配IPv6",
     "does not match IPv6" : "不匹配IPv6",
diff --git a/apps/workflowengine/l10n/zh_CN.json b/apps/workflowengine/l10n/zh_CN.json
index b8252d8a88e574c3f7708674eb30e95e7d181b9d..b5138ba8e8f8efff82edf0c76d5862a4519f6f62 100644
--- a/apps/workflowengine/l10n/zh_CN.json
+++ b/apps/workflowengine/l10n/zh_CN.json
@@ -17,6 +17,7 @@
     "is not tagged with" : "未标记为",
     "Select tag…" : "选择标签...",
     "Request remote address" : "要求远程地址",
+    "matches IPv4" : "匹配 IPv4",
     "does not match IPv4" : "不匹配IPv4",
     "matches IPv6" : "匹配IPv6",
     "does not match IPv6" : "不匹配IPv6",
diff --git a/core/l10n/nb_NO.js b/core/l10n/nb_NO.js
index b3141566eecf624b39d7850c1f467884fa4eae7d..4a34917025bef6272840d25cefba38e22278b4d6 100644
--- a/core/l10n/nb_NO.js
+++ b/core/l10n/nb_NO.js
@@ -143,6 +143,7 @@ OC.L10N.register(
     "{sharee} (remote)" : "{sharee} (ekstern)",
     "{sharee} (email)" : "{sharee} (email)",
     "Share" : "Del",
+    "Share with people on other servers using their Federated Cloud ID username@example.com/nextcloud" : "Del med andre brukere på andre tjenere ved å bruke «Federated Cloud ID» brukernavn@eksempel.com/nextcloud",
     "Share with users or by mail..." : "Del med brukere eller på e-post...",
     "Share with users or remote users..." : "Del med brukere eller eksterne brukere...",
     "Share with users, remote users or by mail..." : "Del med brukere, eksterne brukere eller på e-post...",
@@ -225,6 +226,7 @@ OC.L10N.register(
     "Database name" : "Databasenavn",
     "Database tablespace" : "Database tabellområde",
     "Database host" : "Databasevert",
+    "Please specify the port number along with the host name (e.g., localhost:5432)." : "Vennligst spesifiser portnr. sammen med tjenernavnet (eks., localhost:5432).",
     "Performance warning" : "Ytelsesadvarsel",
     "SQLite will be used as database." : "SQLite vil bli brukt som database.",
     "For larger installations we recommend to choose a different database backend." : "For større installasjoner anbefaler vi å velge en annen database.",
diff --git a/core/l10n/nb_NO.json b/core/l10n/nb_NO.json
index 35df1224439cc7d9c316e60030ad35c482d0a4ab..a7504ffb97f699a6d753ca1b2ded0b7cfa331e67 100644
--- a/core/l10n/nb_NO.json
+++ b/core/l10n/nb_NO.json
@@ -141,6 +141,7 @@
     "{sharee} (remote)" : "{sharee} (ekstern)",
     "{sharee} (email)" : "{sharee} (email)",
     "Share" : "Del",
+    "Share with people on other servers using their Federated Cloud ID username@example.com/nextcloud" : "Del med andre brukere på andre tjenere ved å bruke «Federated Cloud ID» brukernavn@eksempel.com/nextcloud",
     "Share with users or by mail..." : "Del med brukere eller på e-post...",
     "Share with users or remote users..." : "Del med brukere eller eksterne brukere...",
     "Share with users, remote users or by mail..." : "Del med brukere, eksterne brukere eller på e-post...",
@@ -223,6 +224,7 @@
     "Database name" : "Databasenavn",
     "Database tablespace" : "Database tabellområde",
     "Database host" : "Databasevert",
+    "Please specify the port number along with the host name (e.g., localhost:5432)." : "Vennligst spesifiser portnr. sammen med tjenernavnet (eks., localhost:5432).",
     "Performance warning" : "Ytelsesadvarsel",
     "SQLite will be used as database." : "SQLite vil bli brukt som database.",
     "For larger installations we recommend to choose a different database backend." : "For større installasjoner anbefaler vi å velge en annen database.",
diff --git a/core/l10n/pl.js b/core/l10n/pl.js
index a8c54a6af180df333b54fe0d01cf4a91a5764491..44bb7d06d17a5015a891c8dc9b6989b576083be6 100644
--- a/core/l10n/pl.js
+++ b/core/l10n/pl.js
@@ -70,7 +70,7 @@ OC.L10N.register(
     "Ok" : "OK",
     "Error loading message template: {error}" : "Błąd podczas ładowania szablonu wiadomości: {error}",
     "read-only" : "tylko odczyt",
-    "_{count} file conflict_::_{count} file conflicts_" : ["{count} konfliktów plików","{count} konfliktów plików","{count} konfliktów plików"],
+    "_{count} file conflict_::_{count} file conflicts_" : ["{count} konfliktów plików","{count} konfliktów plików","{count} konfliktów plików","{count} konfliktów plików"],
     "One file conflict" : "Konflikt pliku",
     "New Files" : "Nowe pliki",
     "Already existing files" : "Już istniejące pliki",
@@ -165,7 +165,7 @@ OC.L10N.register(
     "Hello {name}, the weather is {weather}" : "Cześć {name}, dzisiejsza pogoda jest {weather}",
     "Hello {name}" : "Witaj {name}",
     "new" : "nowy",
-    "_download %n file_::_download %n files_" : ["pobrano %n plik","pobrano %n plików","pobrano %n plików"],
+    "_download %n file_::_download %n files_" : ["pobrano %n plik","pobrano %n plików","pobrano %n plików","pobrano %n plików"],
     "The update is in progress, leaving this page might interrupt the process in some environments." : "Trwa aktualizacja. W niektórych przypadkach, opuszczenie tej strony może przerwać ten proces.",
     "Update to {version}" : "Uaktualnij do {version}",
     "An error occurred." : "Wystąpił błąd",
@@ -176,7 +176,7 @@ OC.L10N.register(
     "The update was successful. Redirecting you to Nextcloud now." : "Aktualizacja przebiegła pomyślnie. Trwa przekierowywanie do Nextcloud.",
     "Searching other places" : "Przeszukaj inne miejsca",
     "No search results in other folders for '{tag}{filter}{endtag}'" : "Brak wyników wyszukiwania w innych folderach '{tag}{filter}{endtag}'",
-    "_{count} search result in another folder_::_{count} search results in other folders_" : ["Liczba wyników wyszukiwania w innych folderach - {count} ","Liczba wyników wyszukiwania w innych folderach - {count} ","Liczba wyników wyszukiwania w innych folderach - {count} "],
+    "_{count} search result in another folder_::_{count} search results in other folders_" : ["Liczba wyników wyszukiwania w innych folderach - {count} ","Liczba wyników wyszukiwania w innych folderach - {count} ","Liczba wyników wyszukiwania w innych folderach - {count} ","Liczba wyników wyszukiwania w innych folderach - {count} "],
     "Personal" : "Osobiste",
     "Users" : "Użytkownicy",
     "Apps" : "Aplikacje",
@@ -218,6 +218,7 @@ OC.L10N.register(
     "Database name" : "Nazwa bazy danych",
     "Database tablespace" : "Obszar tabel bazy danych",
     "Database host" : "Komputer bazy danych",
+    "Please specify the port number along with the host name (e.g., localhost:5432)." : "Wskaż proszę numer portu wraz z adresem (np. localhost:5432).",
     "Performance warning" : "Ostrzeżenie o wydajności",
     "SQLite will be used as database." : "SQLite będzie używane jako baza danych.",
     "For larger installations we recommend to choose a different database backend." : "Dla większych instalacji zalecamy użycie innej bazy danych.",
diff --git a/core/l10n/pl.json b/core/l10n/pl.json
index 52f23012923421fcf2d196a9085d2b3dd331584d..a7ccd87a34c87aec7bb7033f481c4195621deaa1 100644
--- a/core/l10n/pl.json
+++ b/core/l10n/pl.json
@@ -68,7 +68,7 @@
     "Ok" : "OK",
     "Error loading message template: {error}" : "Błąd podczas ładowania szablonu wiadomości: {error}",
     "read-only" : "tylko odczyt",
-    "_{count} file conflict_::_{count} file conflicts_" : ["{count} konfliktów plików","{count} konfliktów plików","{count} konfliktów plików"],
+    "_{count} file conflict_::_{count} file conflicts_" : ["{count} konfliktów plików","{count} konfliktów plików","{count} konfliktów plików","{count} konfliktów plików"],
     "One file conflict" : "Konflikt pliku",
     "New Files" : "Nowe pliki",
     "Already existing files" : "Już istniejące pliki",
@@ -163,7 +163,7 @@
     "Hello {name}, the weather is {weather}" : "Cześć {name}, dzisiejsza pogoda jest {weather}",
     "Hello {name}" : "Witaj {name}",
     "new" : "nowy",
-    "_download %n file_::_download %n files_" : ["pobrano %n plik","pobrano %n plików","pobrano %n plików"],
+    "_download %n file_::_download %n files_" : ["pobrano %n plik","pobrano %n plików","pobrano %n plików","pobrano %n plików"],
     "The update is in progress, leaving this page might interrupt the process in some environments." : "Trwa aktualizacja. W niektórych przypadkach, opuszczenie tej strony może przerwać ten proces.",
     "Update to {version}" : "Uaktualnij do {version}",
     "An error occurred." : "Wystąpił błąd",
@@ -174,7 +174,7 @@
     "The update was successful. Redirecting you to Nextcloud now." : "Aktualizacja przebiegła pomyślnie. Trwa przekierowywanie do Nextcloud.",
     "Searching other places" : "Przeszukaj inne miejsca",
     "No search results in other folders for '{tag}{filter}{endtag}'" : "Brak wyników wyszukiwania w innych folderach '{tag}{filter}{endtag}'",
-    "_{count} search result in another folder_::_{count} search results in other folders_" : ["Liczba wyników wyszukiwania w innych folderach - {count} ","Liczba wyników wyszukiwania w innych folderach - {count} ","Liczba wyników wyszukiwania w innych folderach - {count} "],
+    "_{count} search result in another folder_::_{count} search results in other folders_" : ["Liczba wyników wyszukiwania w innych folderach - {count} ","Liczba wyników wyszukiwania w innych folderach - {count} ","Liczba wyników wyszukiwania w innych folderach - {count} ","Liczba wyników wyszukiwania w innych folderach - {count} "],
     "Personal" : "Osobiste",
     "Users" : "Użytkownicy",
     "Apps" : "Aplikacje",
@@ -216,6 +216,7 @@
     "Database name" : "Nazwa bazy danych",
     "Database tablespace" : "Obszar tabel bazy danych",
     "Database host" : "Komputer bazy danych",
+    "Please specify the port number along with the host name (e.g., localhost:5432)." : "Wskaż proszę numer portu wraz z adresem (np. localhost:5432).",
     "Performance warning" : "Ostrzeżenie o wydajności",
     "SQLite will be used as database." : "SQLite będzie używane jako baza danych.",
     "For larger installations we recommend to choose a different database backend." : "Dla większych instalacji zalecamy użycie innej bazy danych.",
diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js
index 1ce7f1c45f3b68cd1c16e091f0802a462b7e0d3c..4157cb3d1c31727fba3a9475cc6ee7dcbb08dbae 100644
--- a/core/l10n/zh_CN.js
+++ b/core/l10n/zh_CN.js
@@ -1,7 +1,7 @@
 OC.L10N.register(
     "core",
     {
-    "Please select a file." : "请选择一个文件",
+    "Please select a file." : "请选择一个文件.",
     "File is too big" : "文件太大",
     "The selected file is not an image." : "所选文件不是一张图片.",
     "The selected file cannot be read." : "无法读取所选文件.",
diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json
index bac9b3468a1a4141ed3ca4745aa90ee17d3e8327..b99348b05eef868ee8a451094bedc7a6a54b71d7 100644
--- a/core/l10n/zh_CN.json
+++ b/core/l10n/zh_CN.json
@@ -1,5 +1,5 @@
 { "translations": {
-    "Please select a file." : "请选择一个文件",
+    "Please select a file." : "请选择一个文件.",
     "File is too big" : "文件太大",
     "The selected file is not an image." : "所选文件不是一张图片.",
     "The selected file cannot be read." : "无法读取所选文件.",
diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js
index a3fc8f21d5c679f934e8a12042ec802803930219..81b2e43f908fb346d74fa1c3b958c771f906aba1 100644
--- a/core/l10n/zh_TW.js
+++ b/core/l10n/zh_TW.js
@@ -49,14 +49,20 @@ OC.L10N.register(
     "Problem loading page, reloading in 5 seconds" : "載入頁面出錯,5 秒後重新整理",
     "Saving..." : "儲存中...",
     "Dismiss" : "知道了",
+    "Authentication required" : "需要認證",
     "Password" : "密碼",
     "Cancel" : "取消",
+    "Confirm" : "確認",
+    "Failed to authenticate, try again" : "認證失敗,再試一次。",
     "seconds ago" : "幾秒前",
+    "Logging in …" : "載入中......",
     "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." : "重設密碼的連結已經 email 至你的信箱,如果你在一段時間內沒收到,請檢查垃圾郵件資料夾,如果還是找不到,請聯絡系統管理員。",
+    "Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "您的檔案是加密的,當您重設密碼之後將無法存取您的資料。<br/>如果不確定該怎麼做,請聯絡您的系統管理員。<br/>您確定要繼續嗎?",
     "I know what I'm doing" : "我知道我在幹嘛",
     "Password can not be changed. Please contact your administrator." : "無法變更密碼,請聯絡您的系統管理員",
     "No" : "否",
     "Yes" : "是",
+    "No files in here" : "沒有任何檔案",
     "Choose" : "選擇",
     "Error loading file picker template: {error}" : "載入檔案選擇器樣板出錯: {error}",
     "Ok" : "好",
@@ -72,6 +78,7 @@ OC.L10N.register(
     "(all selected)" : "(已全選)",
     "({count} selected)" : "(已選 {count} 項)",
     "Error loading file exists template" : "載入檔案存在樣板出錯",
+    "Pending" : "等候中",
     "Very weak password" : "密碼強度非常弱",
     "Weak password" : "密碼強度弱",
     "So-so password" : "密碼強度普通",
@@ -79,6 +86,7 @@ OC.L10N.register(
     "Strong password" : "密碼強度極佳",
     "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "您的網頁伺服器無法提供檔案同步功能,因為 WebDAV 界面有問題",
     "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "您的網頁伺服器並未正確設定來解析 \"{url}\" ,請查看我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>以瞭解更多",
+    "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. We suggest to enable Internet connection for this server if you want to have all features." : "伺服器沒有網際網路連線,有些功能,像是外部儲存、更新版通知將無法運作。從遠端存取資料或是寄送 email 通知可能也無法運作。建議您設定好網際網路連線以使用所有功能。",
     "Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤",
     "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 檔案並未生效,我們強烈建議您設定您的網頁伺服器,拒絕資料目錄的公開存取,或者將您的資料目錄移出網頁伺服器根目錄。",
     "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP 標頭配置與 \"{expected}\"不一樣,這是一個潛在安全性或者隱私上的風險,因此我們建議您調整此設定",
diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json
index f14939e854ed10c6799eb86566da6dd14e0ac98e..8dd18be415a1f2dbf4ee8293af7d27eb19289b70 100644
--- a/core/l10n/zh_TW.json
+++ b/core/l10n/zh_TW.json
@@ -47,14 +47,20 @@
     "Problem loading page, reloading in 5 seconds" : "載入頁面出錯,5 秒後重新整理",
     "Saving..." : "儲存中...",
     "Dismiss" : "知道了",
+    "Authentication required" : "需要認證",
     "Password" : "密碼",
     "Cancel" : "取消",
+    "Confirm" : "確認",
+    "Failed to authenticate, try again" : "認證失敗,再試一次。",
     "seconds ago" : "幾秒前",
+    "Logging in …" : "載入中......",
     "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." : "重設密碼的連結已經 email 至你的信箱,如果你在一段時間內沒收到,請檢查垃圾郵件資料夾,如果還是找不到,請聯絡系統管理員。",
+    "Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "您的檔案是加密的,當您重設密碼之後將無法存取您的資料。<br/>如果不確定該怎麼做,請聯絡您的系統管理員。<br/>您確定要繼續嗎?",
     "I know what I'm doing" : "我知道我在幹嘛",
     "Password can not be changed. Please contact your administrator." : "無法變更密碼,請聯絡您的系統管理員",
     "No" : "否",
     "Yes" : "是",
+    "No files in here" : "沒有任何檔案",
     "Choose" : "選擇",
     "Error loading file picker template: {error}" : "載入檔案選擇器樣板出錯: {error}",
     "Ok" : "好",
@@ -70,6 +76,7 @@
     "(all selected)" : "(已全選)",
     "({count} selected)" : "(已選 {count} 項)",
     "Error loading file exists template" : "載入檔案存在樣板出錯",
+    "Pending" : "等候中",
     "Very weak password" : "密碼強度非常弱",
     "Weak password" : "密碼強度弱",
     "So-so password" : "密碼強度普通",
@@ -77,6 +84,7 @@
     "Strong password" : "密碼強度極佳",
     "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "您的網頁伺服器無法提供檔案同步功能,因為 WebDAV 界面有問題",
     "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "您的網頁伺服器並未正確設定來解析 \"{url}\" ,請查看我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>以瞭解更多",
+    "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. We suggest to enable Internet connection for this server if you want to have all features." : "伺服器沒有網際網路連線,有些功能,像是外部儲存、更新版通知將無法運作。從遠端存取資料或是寄送 email 通知可能也無法運作。建議您設定好網際網路連線以使用所有功能。",
     "Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤",
     "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 檔案並未生效,我們強烈建議您設定您的網頁伺服器,拒絕資料目錄的公開存取,或者將您的資料目錄移出網頁伺服器根目錄。",
     "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP 標頭配置與 \"{expected}\"不一樣,這是一個潛在安全性或者隱私上的風險,因此我們建議您調整此設定",
diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js
index e345d5a079f88a37eabdfb1592499b142d1b0030..39ced184a0fb6b95748344deef73bb282f221040 100644
--- a/lib/l10n/pl.js
+++ b/lib/l10n/pl.js
@@ -22,13 +22,13 @@ OC.L10N.register(
     "Avatar image is not square" : "Obraz awataru nie jest kwadratowy",
     "today" : "dziÅ›",
     "yesterday" : "wczoraj",
-    "_%n day ago_::_%n days ago_" : ["%d dzień temu","%n dni temu","%n dni temu"],
+    "_%n day ago_::_%n days ago_" : ["%d dzień temu","%n dni temu","%n dni temu","%n dni temu"],
     "last month" : "w zeszłym miesiącu",
-    "_%n month ago_::_%n months ago_" : ["%n miesiąc temu","%n miesięcy temu","%n miesięcy temu"],
+    "_%n month ago_::_%n months ago_" : ["%n miesiąc temu","%n miesięcy temu","%n miesięcy temu","%n miesięcy temu"],
     "last year" : "w zeszłym roku",
-    "_%n year ago_::_%n years ago_" : ["%n rok temu","%n lata temu","%n lat temu"],
-    "_%n hour ago_::_%n hours ago_" : ["%n godzinÄ™ temu","%n godzin temu","%n godzin temu"],
-    "_%n minute ago_::_%n minutes ago_" : ["%n minute temu","%n minut temu","%n minut temu"],
+    "_%n year ago_::_%n years ago_" : ["%n rok temu","%n lata temu","%n lat temu","%n lat temu"],
+    "_%n hour ago_::_%n hours ago_" : ["%n godzinÄ™ temu","%n godzin temu","%n godzin temu","%n godzin temu"],
+    "_%n minute ago_::_%n minutes ago_" : ["%n minute temu","%n minut temu","%n minut temu","%n minut temu"],
     "seconds ago" : "sekund temu",
     "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Moduł z id: %s nie istnieje. Należy go włączyć w ustawieniach aplikacji lub skontaktować się z administratorem.",
     "File name is a reserved word" : "Nazwa pliku jest zarezerwowana",
diff --git a/lib/l10n/pl.json b/lib/l10n/pl.json
index 7414b134f53459b8ce922dbf63e7f347ce751f69..22b595e87d4b181fc2a4026803f9e7e37c11acb1 100644
--- a/lib/l10n/pl.json
+++ b/lib/l10n/pl.json
@@ -20,13 +20,13 @@
     "Avatar image is not square" : "Obraz awataru nie jest kwadratowy",
     "today" : "dziÅ›",
     "yesterday" : "wczoraj",
-    "_%n day ago_::_%n days ago_" : ["%d dzień temu","%n dni temu","%n dni temu"],
+    "_%n day ago_::_%n days ago_" : ["%d dzień temu","%n dni temu","%n dni temu","%n dni temu"],
     "last month" : "w zeszłym miesiącu",
-    "_%n month ago_::_%n months ago_" : ["%n miesiąc temu","%n miesięcy temu","%n miesięcy temu"],
+    "_%n month ago_::_%n months ago_" : ["%n miesiąc temu","%n miesięcy temu","%n miesięcy temu","%n miesięcy temu"],
     "last year" : "w zeszłym roku",
-    "_%n year ago_::_%n years ago_" : ["%n rok temu","%n lata temu","%n lat temu"],
-    "_%n hour ago_::_%n hours ago_" : ["%n godzinÄ™ temu","%n godzin temu","%n godzin temu"],
-    "_%n minute ago_::_%n minutes ago_" : ["%n minute temu","%n minut temu","%n minut temu"],
+    "_%n year ago_::_%n years ago_" : ["%n rok temu","%n lata temu","%n lat temu","%n lat temu"],
+    "_%n hour ago_::_%n hours ago_" : ["%n godzinÄ™ temu","%n godzin temu","%n godzin temu","%n godzin temu"],
+    "_%n minute ago_::_%n minutes ago_" : ["%n minute temu","%n minut temu","%n minut temu","%n minut temu"],
     "seconds ago" : "sekund temu",
     "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Moduł z id: %s nie istnieje. Należy go włączyć w ustawieniach aplikacji lub skontaktować się z administratorem.",
     "File name is a reserved word" : "Nazwa pliku jest zarezerwowana",
diff --git a/settings/l10n/cs_CZ.js b/settings/l10n/cs_CZ.js
index 0ce52997e1c6bca2561e60f7bb5a8ba60c208b70..ebc36fcd11997d9dfa82aac80bf617b654dc4314 100644
--- a/settings/l10n/cs_CZ.js
+++ b/settings/l10n/cs_CZ.js
@@ -25,6 +25,7 @@ OC.L10N.register(
     "You need to set your user email before being able to send test emails." : "Pro možnost odeslání zkušebních emailů musíte nejprve nastavit svou emailovou adresu.",
     "Invalid request" : "Neplatný požadavek",
     "Invalid mail address" : "Neplatná emailová adresa",
+    "No valid group selected" : "Není vybrána platná skupina",
     "A user with that name already exists." : "Uživatel tohoto jména již existuje.",
     "Unable to create user." : "Nelze vytvořit uživatele.",
     "Your %s account was created" : "Účet %s byl vytvořen",
diff --git a/settings/l10n/cs_CZ.json b/settings/l10n/cs_CZ.json
index 78f17d4f8274d3f603d93196d9850d2eba20fecf..7e73f9f69898f3ee77c3f87a3e77fc050413fa2f 100644
--- a/settings/l10n/cs_CZ.json
+++ b/settings/l10n/cs_CZ.json
@@ -23,6 +23,7 @@
     "You need to set your user email before being able to send test emails." : "Pro možnost odeslání zkušebních emailů musíte nejprve nastavit svou emailovou adresu.",
     "Invalid request" : "Neplatný požadavek",
     "Invalid mail address" : "Neplatná emailová adresa",
+    "No valid group selected" : "Není vybrána platná skupina",
     "A user with that name already exists." : "Uživatel tohoto jména již existuje.",
     "Unable to create user." : "Nelze vytvořit uživatele.",
     "Your %s account was created" : "Účet %s byl vytvořen",
diff --git a/settings/l10n/pl.js b/settings/l10n/pl.js
index 84b81f181a1cc4a4b7f5df1399a58b4a00960b62..b746aadd750492f0b1f2cf885659de858409cbf9 100644
--- a/settings/l10n/pl.js
+++ b/settings/l10n/pl.js
@@ -48,7 +48,7 @@ OC.L10N.register(
     "Official" : "Oficjalny",
     "All" : "Wszystkie",
     "Update to %s" : "Uaktualnij do %s",
-    "_You have %n app update pending_::_You have %n app updates pending_" : ["Masz %n oczekujÄ…cÄ… aktualizacjÄ™ aplikacji","Masz %n oczekujÄ…ce aktualizacje aplikacji","Masz %n oczekujÄ…cych aktualizacji aplikacji"],
+    "_You have %n app update pending_::_You have %n app updates pending_" : ["Masz %n oczekujÄ…cÄ… aktualizacjÄ™ aplikacji","Masz %n oczekujÄ…ce aktualizacje aplikacji","Masz %n oczekujÄ…cych aktualizacji aplikacji","Masz %n oczekujÄ…cych aktualizacji aplikacji"],
     "No apps found for your version" : "Nie znaleziono aplikacji dla twojej wersji",
     "The app will be downloaded from the app store" : "Aplikacja zostanie pobrana z App Store",
     "Error while disabling app" : "Błąd podczas wyłączania aplikacji",
diff --git a/settings/l10n/pl.json b/settings/l10n/pl.json
index 01e92aeef88fdeb3b13d2b63c09bdd2f1ac4c54d..e060b28d5ed087455b97be9beee4acabf64e7b1d 100644
--- a/settings/l10n/pl.json
+++ b/settings/l10n/pl.json
@@ -46,7 +46,7 @@
     "Official" : "Oficjalny",
     "All" : "Wszystkie",
     "Update to %s" : "Uaktualnij do %s",
-    "_You have %n app update pending_::_You have %n app updates pending_" : ["Masz %n oczekujÄ…cÄ… aktualizacjÄ™ aplikacji","Masz %n oczekujÄ…ce aktualizacje aplikacji","Masz %n oczekujÄ…cych aktualizacji aplikacji"],
+    "_You have %n app update pending_::_You have %n app updates pending_" : ["Masz %n oczekujÄ…cÄ… aktualizacjÄ™ aplikacji","Masz %n oczekujÄ…ce aktualizacje aplikacji","Masz %n oczekujÄ…cych aktualizacji aplikacji","Masz %n oczekujÄ…cych aktualizacji aplikacji"],
     "No apps found for your version" : "Nie znaleziono aplikacji dla twojej wersji",
     "The app will be downloaded from the app store" : "Aplikacja zostanie pobrana z App Store",
     "Error while disabling app" : "Błąd podczas wyłączania aplikacji",