diff --git a/.gitignore b/.gitignore index 30e1aafe2..b4ea62660 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,4 @@ examples/**/target/ vcpkg_installed flutter/lib/generated_plugin_registrant.dart libsciter.dylib +flutter/web/ \ No newline at end of file diff --git a/flutter/lib/desktop/pages/file_manager_page.dart b/flutter/lib/desktop/pages/file_manager_page.dart index 5557783b5..ba1a37fb1 100644 --- a/flutter/lib/desktop/pages/file_manager_page.dart +++ b/flutter/lib/desktop/pages/file_manager_page.dart @@ -490,6 +490,9 @@ class _FileManagerViewState extends State { } Widget headTools() { + var uploadButtonTapPosition = RelativeRect.fill; + RxBool isUploadFolder = + (bind.mainGetLocalOption(key: 'upload-folder-button') == 'Y').obs; return Container( child: Column( children: [ @@ -814,48 +817,64 @@ class _FileManagerViewState extends State { ), if (isWeb) Obx(() => ElevatedButton.icon( - style: ButtonStyle( - padding: MaterialStateProperty.all( - isLocal - ? EdgeInsets.only(left: 10) - : EdgeInsets.only(right: 10)), - backgroundColor: MaterialStateProperty.all( - selectedItems.items.isEmpty - ? MyTheme.accent80 - : MyTheme.accent, + style: ButtonStyle( + padding: MaterialStateProperty.all( + isLocal + ? EdgeInsets.only(left: 10) + : EdgeInsets.only(right: 10)), + backgroundColor: MaterialStateProperty.all( + selectedItems.items.isEmpty + ? MyTheme.accent80 + : MyTheme.accent, + ), ), - ), - onPressed: () => {webselectFiles(is_folder: true)}, - icon: Offstage(), - label: Text( - translate('Upload folder'), - textAlign: TextAlign.right, - style: TextStyle( - color: Colors.white, + onPressed: () => + {webselectFiles(is_folder: isUploadFolder.value)}, + label: InkWell( + hoverColor: Colors.transparent, + splashColor: Colors.transparent, + highlightColor: Colors.transparent, + focusColor: Colors.transparent, + onTapDown: (e) { + final x = e.globalPosition.dx; + final y = e.globalPosition.dy; + uploadButtonTapPosition = + RelativeRect.fromLTRB(x, y, x, y); + }, + onTap: () async { + final value = await showMenu( + context: context, + position: uploadButtonTapPosition, + items: [ + PopupMenuItem( + value: false, + child: Text(translate('Upload files')), + ), + PopupMenuItem( + value: true, + child: Text(translate('Upload folder')), + ), + ]); + if (value != null) { + isUploadFolder.value = value; + bind.mainSetLocalOption( + key: 'upload-folder-button', + value: value ? 'Y' : ''); + webselectFiles(is_folder: value); + } + }, + child: Icon(Icons.arrow_drop_down), ), - ))).marginOnly(left: 16), - if (isWeb) - Obx(() => ElevatedButton.icon( - style: ButtonStyle( - padding: MaterialStateProperty.all( - isLocal - ? EdgeInsets.only(left: 10) - : EdgeInsets.only(right: 10)), - backgroundColor: MaterialStateProperty.all( - selectedItems.items.isEmpty - ? MyTheme.accent80 - : MyTheme.accent, - ), - ), - onPressed: () => {webselectFiles(is_folder: false)}, - icon: Offstage(), - label: Text( - translate('Upload files'), - textAlign: TextAlign.right, - style: TextStyle( - color: Colors.white, - ), - ))).marginOnly(left: 16), + icon: Text( + translate(isUploadFolder.isTrue + ? 'Upload folder' + : 'Upload files'), + textAlign: TextAlign.right, + style: TextStyle( + color: Colors.white, + ), + ).marginOnly(left: 8), + )).marginOnly(left: 16), Obx(() => ElevatedButton.icon( style: ButtonStyle( padding: MaterialStateProperty.all( diff --git a/flutter/lib/web/bridge.dart b/flutter/lib/web/bridge.dart index ec1fea86e..9238d054a 100644 --- a/flutter/lib/web/bridge.dart +++ b/flutter/lib/web/bridge.dart @@ -1209,7 +1209,12 @@ class RustdeskImpl { } Future mainLoadAb({dynamic hint}) { - return Future(() => js.context.callMethod('getByName', ['load_ab'])); + Completer completer = Completer(); + js.context["onLoadAbFinished"] = (String s) { + completer.complete(s); + }; + js.context.callMethod('setByName', ['load_ab']); + return completer.future; } Future mainSaveGroup({required String json, dynamic hint}) { @@ -1222,7 +1227,12 @@ class RustdeskImpl { } Future mainLoadGroup({dynamic hint}) { - return Future(() => js.context.callMethod('getByName', ['load_group'])); + Completer completer = Completer(); + js.context["onLoadGroupFinished"] = (String s) { + completer.complete(s); + }; + js.context.callMethod('setByName', ['load_group']); + return completer.future; } Future sessionSendPointer( diff --git a/src/lang/ar.rs b/src/lang/ar.rs index 0990614e2..879414cd6 100644 --- a/src/lang/ar.rs +++ b/src/lang/ar.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/be.rs b/src/lang/be.rs index 2b9167a9c..501438fd0 100644 --- a/src/lang/be.rs +++ b/src/lang/be.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/bg.rs b/src/lang/bg.rs index 7e7e7a05c..cf972ee76 100644 --- a/src/lang/bg.rs +++ b/src/lang/bg.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ca.rs b/src/lang/ca.rs index cd262589d..4001c1e6e 100644 --- a/src/lang/ca.rs +++ b/src/lang/ca.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "Autenticació requerida"), ("Authenticate", "Autentica"), ("web_id_input_tip", "Podeu inserir el número ID al propi servidor; l'accés directe per IP no és compatible amb el client web.\nSi voleu accedir a un dispositiu d'un altre servidor, afegiu l'adreça del servidor, com ara @?key= (p. ex.\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nSi voleu accedir a un dispositiu en un servidor públic, no cal que inseriu la clau pública «@» per al servidor públic."), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/cn.rs b/src/lang/cn.rs index 7cc616e14..17b3ba159 100644 --- a/src/lang/cn.rs +++ b/src/lang/cn.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "需要身份验证"), ("Authenticate", "认证"), ("web_id_input_tip", "可以输入同一个服务器内的 ID,web 客户端不支持直接 IP 访问。\n要访问另一台服务器上的设备,请附加服务器地址(@<服务器地址>?key=<密钥>)。比如,\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=。\n要访问公共服务器上的设备,请输入 \"@public\",无需密钥。"), + ("Download", "下载"), + ("Upload folder", "上传文件夹"), + ("Upload files", "上传文件"), ].iter().cloned().collect(); } diff --git a/src/lang/cs.rs b/src/lang/cs.rs index c93dd37b7..8404ee3e4 100644 --- a/src/lang/cs.rs +++ b/src/lang/cs.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/da.rs b/src/lang/da.rs index f59accfe1..c59f3efc9 100644 --- a/src/lang/da.rs +++ b/src/lang/da.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/de.rs b/src/lang/de.rs index 4a7bb08db..11a0dbb32 100644 --- a/src/lang/de.rs +++ b/src/lang/de.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "Authentifizierung erforderlich"), ("Authenticate", "Authentifizieren"), ("web_id_input_tip", "Sie können eine ID auf demselben Server eingeben, direkter IP-Zugriff wird im Web-Client nicht unterstützt.\nWenn Sie auf ein Gerät auf einem anderen Server zugreifen wollen, fügen Sie bitte die Serveradresse (@?key=) hinzu, zum Beispiel\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nWenn Sie auf ein Gerät auf einem öffentlichen Server zugreifen wollen, geben Sie bitte \"@public\" ein. Der Schlüssel wird für öffentliche Server nicht benötigt."), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/el.rs b/src/lang/el.rs index 779e71d23..eaa31c55f 100644 --- a/src/lang/el.rs +++ b/src/lang/el.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/eo.rs b/src/lang/eo.rs index ba369e4ec..e7daf0ff7 100644 --- a/src/lang/eo.rs +++ b/src/lang/eo.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/es.rs b/src/lang/es.rs index 369cd5b95..bd7e4df15 100644 --- a/src/lang/es.rs +++ b/src/lang/es.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "Se requiere autenticación"), ("Authenticate", "Autenticar"), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/et.rs b/src/lang/et.rs index db7970f16..131e3b215 100644 --- a/src/lang/et.rs +++ b/src/lang/et.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/eu.rs b/src/lang/eu.rs index 90976236e..267431efd 100644 --- a/src/lang/eu.rs +++ b/src/lang/eu.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/fa.rs b/src/lang/fa.rs index 71bea4e78..c070f18e2 100644 --- a/src/lang/fa.rs +++ b/src/lang/fa.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/fr.rs b/src/lang/fr.rs index 97f8d6514..2fa41f3fe 100644 --- a/src/lang/fr.rs +++ b/src/lang/fr.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/he.rs b/src/lang/he.rs index 526873de3..5d5e4637e 100644 --- a/src/lang/he.rs +++ b/src/lang/he.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/hr.rs b/src/lang/hr.rs index e210e7566..378f0e909 100644 --- a/src/lang/hr.rs +++ b/src/lang/hr.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/hu.rs b/src/lang/hu.rs index ccb2be1cb..8aaaa3a13 100644 --- a/src/lang/hu.rs +++ b/src/lang/hu.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/id.rs b/src/lang/id.rs index efedb1597..44703afc6 100644 --- a/src/lang/id.rs +++ b/src/lang/id.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "Diperlukan autentikasi"), ("Authenticate", "Autentikasi"), ("web_id_input_tip", "Kamu bisa memasukkan ID pada server yang sama, akses IP langsung tidak didukung di klien web.\nJika Anda ingin mengakses perangkat di server lain, silakan tambahkan alamat server (@?key=), contohnya:\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nUntuk mengakses perangkat di server publik, cukup masukkan \"@public\", tanpa kunci/key."), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/it.rs b/src/lang/it.rs index 68a242659..3aa0966d4 100644 --- a/src/lang/it.rs +++ b/src/lang/it.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "Richiesta autenticazione"), ("Authenticate", "Autentica"), ("web_id_input_tip", "È possibile inserire un ID nello stesso server, nel client web non è supportato l'accesso con IP diretto.\nSe vuoi accedere ad un dispositivo in un altro server, aggiungi l'indirizzo del server (@?key=), ad esempio,\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nSe vuoi accedere ad un dispositivo in un server pubblico, inserisci \"@public\", la chiave non è necessaria per il server pubblico."), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ja.rs b/src/lang/ja.rs index eca28da86..41fcca10c 100644 --- a/src/lang/ja.rs +++ b/src/lang/ja.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ko.rs b/src/lang/ko.rs index a3c24e98c..5c9660560 100644 --- a/src/lang/ko.rs +++ b/src/lang/ko.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "인증 필요함"), ("Authenticate", "인증"), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/kz.rs b/src/lang/kz.rs index 404e9b511..3b5aba5e4 100644 --- a/src/lang/kz.rs +++ b/src/lang/kz.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/lt.rs b/src/lang/lt.rs index a93cef88c..c6915aab3 100644 --- a/src/lang/lt.rs +++ b/src/lang/lt.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/lv.rs b/src/lang/lv.rs index 0cddcb951..4a24a38a0 100644 --- a/src/lang/lv.rs +++ b/src/lang/lv.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "Nepieciešama autentifikācija"), ("Authenticate", "Autentificēt"), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/nb.rs b/src/lang/nb.rs index 7f08f83d1..a5b501aa4 100644 --- a/src/lang/nb.rs +++ b/src/lang/nb.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/nl.rs b/src/lang/nl.rs index 1b8a96e54..6263cccb8 100644 --- a/src/lang/nl.rs +++ b/src/lang/nl.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "Verificatie vereist"), ("Authenticate", "Verificatie"), ("web_id_input_tip", "Je kunt een ID invoeren op dezelfde server, directe IP-toegang wordt niet ondersteund in de webclient.\nAls je toegang wilt tot een apparaat op een andere server, voeg je het serveradres toe (@?key=), bijvoorbeeld,\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nAls je toegang wilt krijgen tot een apparaat op een publieke server, voer dan \"@public\" in, sleutel is niet nodig voor de publieke server."), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/pl.rs b/src/lang/pl.rs index a7216e780..8479949b3 100644 --- a/src/lang/pl.rs +++ b/src/lang/pl.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/pt_PT.rs b/src/lang/pt_PT.rs index 994d5cc63..a30692c42 100644 --- a/src/lang/pt_PT.rs +++ b/src/lang/pt_PT.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ptbr.rs b/src/lang/ptbr.rs index ba6fe051b..45dc2259b 100644 --- a/src/lang/ptbr.rs +++ b/src/lang/ptbr.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ro.rs b/src/lang/ro.rs index 429c2534a..506876865 100644 --- a/src/lang/ro.rs +++ b/src/lang/ro.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ru.rs b/src/lang/ru.rs index 3ab54b42a..4bc1516d1 100644 --- a/src/lang/ru.rs +++ b/src/lang/ru.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "Требуется аутентификация"), ("Authenticate", "Аутентификация"), ("web_id_input_tip", "Можно ввести ID на том же сервере, прямой доступ по IP в веб-клиенте не поддерживается.\nЕсли вы хотите получить доступ к устройству на другом сервере, добавьте адрес сервера (@<адрес_сервера>?key=<ключ>), например,\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nЕсли вы хотите получить доступ к устройству на публичном сервере, введите \"@public\", для публичного сервера ключ не нужен."), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sk.rs b/src/lang/sk.rs index 1e5a51f9f..dabec3ed3 100644 --- a/src/lang/sk.rs +++ b/src/lang/sk.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sl.rs b/src/lang/sl.rs index 7d18ef829..f834687c7 100755 --- a/src/lang/sl.rs +++ b/src/lang/sl.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "Potrebno je preverjanje pristnosti"), ("Authenticate", "Preverjanje pristnosti"), ("web_id_input_tip", "Vnesete lahko ID iz istega strežnika, neposredni dostop preko IP naslova v spletnem odjemalcu ni podprt.\nČe želite dostopati do naprave na drugem strežniku, pripnite naslov strežnika (@?key=), npr. 9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nČe želite dostopati do naprave na javnem strežniku, vnesite »@public«; ključ za javni strežnik ni potreben."), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sq.rs b/src/lang/sq.rs index b3e85a351..acc5a627f 100644 --- a/src/lang/sq.rs +++ b/src/lang/sq.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sr.rs b/src/lang/sr.rs index ee84a68e1..0ade32f81 100644 --- a/src/lang/sr.rs +++ b/src/lang/sr.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sv.rs b/src/lang/sv.rs index 9ba9bb536..5dd93ea4e 100644 --- a/src/lang/sv.rs +++ b/src/lang/sv.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/template.rs b/src/lang/template.rs index e62119843..eb62d5621 100644 --- a/src/lang/template.rs +++ b/src/lang/template.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/th.rs b/src/lang/th.rs index a2f8bc910..deb7f9741 100644 --- a/src/lang/th.rs +++ b/src/lang/th.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/tr.rs b/src/lang/tr.rs index 78b09dca4..656feb0ef 100644 --- a/src/lang/tr.rs +++ b/src/lang/tr.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/tw.rs b/src/lang/tw.rs index 5bb26acce..776151ae7 100644 --- a/src/lang/tw.rs +++ b/src/lang/tw.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "需要身分驗證"), ("Authenticate", "認證"), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/uk.rs b/src/lang/uk.rs index ac38e3479..35ffa1c29 100644 --- a/src/lang/uk.rs +++ b/src/lang/uk.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", "Потрібна автентифікація"), ("Authenticate", "Автентифікувати"), ("web_id_input_tip", "Ви можете ввести ID з того самого серверу, прямий IP-доступ у веб-клієнті не підтримується.\nЯкщо ви хочете отримати доступ до пристрою на іншому сервері, будь ласка, додайте адресу сервера (@<адреса_сервера>?key=<значення_ключа>), наприклад,\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nЯкщо ви хочете отримати доступ до пристрою на публічному сервері, будь ласка, введіть \"@public\", для публічного сервера ключ не потрібен."), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); } diff --git a/src/lang/vn.rs b/src/lang/vn.rs index bc6311fcd..d07225ba0 100644 --- a/src/lang/vn.rs +++ b/src/lang/vn.rs @@ -648,5 +648,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Authentication Required", ""), ("Authenticate", ""), ("web_id_input_tip", ""), + ("Download", ""), + ("Upload folder", ""), + ("Upload files", ""), ].iter().cloned().collect(); }