From ff195a92b04affbad2e6bfb9d2a2651dffb84f74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 2 Sep 2024 22:48:36 +0200 Subject: [PATCH 1/4] Add new translation strings --- assets/lang/ar_AE.ini | 1 + assets/lang/az_AZ.ini | 1 + assets/lang/bg_BG.ini | 1 + assets/lang/ca_ES.ini | 1 + assets/lang/cz_CZ.ini | 1 + assets/lang/da_DK.ini | 1 + assets/lang/de_DE.ini | 1 + assets/lang/dr_ID.ini | 1 + assets/lang/en_US.ini | 1 + assets/lang/es_ES.ini | 1 + assets/lang/es_LA.ini | 1 + assets/lang/fa_IR.ini | 1 + assets/lang/fi_FI.ini | 1 + assets/lang/fr_FR.ini | 1 + assets/lang/gl_ES.ini | 1 + assets/lang/gr_EL.ini | 1 + assets/lang/he_IL.ini | 1 + assets/lang/he_IL_invert.ini | 1 + assets/lang/hr_HR.ini | 1 + assets/lang/hu_HU.ini | 1 + assets/lang/id_ID.ini | 1 + assets/lang/it_IT.ini | 1 + assets/lang/ja_JP.ini | 1 + assets/lang/jv_ID.ini | 1 + assets/lang/ko_KR.ini | 1 + assets/lang/ku_SO.ini | 1 + assets/lang/lo_LA.ini | 1 + assets/lang/lt-LT.ini | 1 + assets/lang/ms_MY.ini | 1 + assets/lang/nl_NL.ini | 1 + assets/lang/no_NO.ini | 1 + assets/lang/pl_PL.ini | 1 + assets/lang/pt_BR.ini | 1 + assets/lang/pt_PT.ini | 1 + assets/lang/ro_RO.ini | 1 + assets/lang/ru_RU.ini | 1 + assets/lang/sv_SE.ini | 1 + assets/lang/tg_PH.ini | 1 + assets/lang/th_TH.ini | 1 + assets/lang/tr_TR.ini | 1 + assets/lang/uk_UA.ini | 1 + assets/lang/vi_VN.ini | 1 + assets/lang/zh_CN.ini | 1 + assets/lang/zh_TW.ini | 1 + 44 files changed, 44 insertions(+) diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index aab76c0b090e..283379aa4b85 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -381,6 +381,7 @@ ConfirmLoad = ‎تحميل هذه البيانات? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = ‎مسح Delete all = ‎مسح الكل diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index 0a8b383a0175..797e2ce62a28 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -373,6 +373,7 @@ ConfirmLoad = Load this data? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Sil Delete all = Delete all diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index ecdc968fb831..381bdd1db8af 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -373,6 +373,7 @@ ConfirmLoad = Зареди тези данни? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Изтрий Delete all = Delete all diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index d18b38b2cb11..033c70bb3c4a 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -373,6 +373,7 @@ ConfirmLoad = Vols carregar les dades? ConnectingAP = Connectant al punt d'accés.\nPer favor espera... ConnectingPleaseWait = Connectant.\nPer favor espera... ConnectionName = Nom de la connexió +Copy to clipboard = Copy to clipboard Corrupted Data = Dades corruptes Delete = Eliminar Delete all = Eliminar tot diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index 57e1be836b3a..9771c207d11d 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -373,6 +373,7 @@ ConfirmLoad = Načíst tyto data? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Smazat Delete all = Smazat vše diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index 4ab5ee9cf2bb..46e7c6009791 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -373,6 +373,7 @@ ConfirmLoad = Hent dette data? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Slet Delete all = Slet alt diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index 8325657fb425..10a37868a9e7 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -373,6 +373,7 @@ ConfirmLoad = Wollen Sie diese Daten laden? ConnectingAP = Verbinde zu dem Access Point.\nBitte warten... ConnectingPleaseWait = Verbinde.\nBitte warten... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Löschen Delete all = Alle löschen diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index df23942807ac..9bc1a36abf28 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -373,6 +373,7 @@ ConfirmLoad = Bukka'mi te' data? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Hapusi Delete all = Delete all diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index 3268f021c123..46040c70cff3 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -397,6 +397,7 @@ ConfirmLoad = Load this data? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Delete Delete all = Delete all diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index 77c4a118b2a4..03e7dcee8312 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -373,6 +373,7 @@ ConfirmLoad = ¿Deseas cargar estos datos guardados? ConnectingAP = Conectando al punto de acceso.\nPor favor espera... ConnectingPleaseWait = Conectando.\nPor favor espera... ConnectionName = Nombre de la conexión +Copy to clipboard = Copy to clipboard Corrupted Data = Datos corruptos Delete = Borrar Delete all = Borrar todo diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index 3025dba50a0a..30010bcc4f7f 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -373,6 +373,7 @@ ConfirmLoad = ¿Deseas cargar estos datos guardados? ConnectingAP = Conectando a un punto de acceso.\nEspere un momento... ConnectingPleaseWait = Conectando \nEspere un momento... ConnectionName = Nombre de conexión +Copy to clipboard = Copy to clipboard Corrupted Data = Datos dañados Delete = Borrar Delete all = Borrar todos diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index e6995a5a7d66..33d0f0686244 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -373,6 +373,7 @@ ConfirmLoad = ‎بارگیری این داده؟ ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = نام اتصال +Copy to clipboard = Copy to clipboard Corrupted Data = داده‌ها خراب شده Delete = ‎حذف Delete all = حذف همه diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index 865411c75c28..73440874c9e5 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -373,6 +373,7 @@ ConfirmLoad = Load this data? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Poista Delete all = Poista kaikki diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index 8d83984e05d1..388ac7525348 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -373,6 +373,7 @@ ConfirmLoad = Charger ces données ? ConnectingAP = Connexion au point d'accès\nVeuillez patienter... ConnectingPleaseWait = Connexion en cours\nVeuillez patienter... ConnectionName = Nom de la connexion +Copy to clipboard = Copy to clipboard Corrupted Data = Données corrompues Delete = Supprimer Delete all = Tout supprimer diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index 4f061996bc28..f4030c5e22b8 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -373,6 +373,7 @@ ConfirmLoad = Desexas cargar estes datos gardados? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Borrar Delete all = Borrar todo diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index ad291dbfe3f4..9b179d31e7eb 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -373,6 +373,7 @@ ConfirmLoad = ΦΟΡΤΩΣΗ ΔΕΔΟΜΕΝΩΝ; ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = ΔΙΑΓΡΑΦΗ Delete all = ΔΙΑΓΡΑΦΗ ΟΛΩΝ diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index eb69980ab7b8..7f7108c7d18b 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -373,6 +373,7 @@ ConfirmLoad = ?ולא םינותנ ןועטל הצור ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = קחמ Delete all = Delete all diff --git a/assets/lang/he_IL_invert.ini b/assets/lang/he_IL_invert.ini index f9c67702cb8c..736d624478c2 100644 --- a/assets/lang/he_IL_invert.ini +++ b/assets/lang/he_IL_invert.ini @@ -373,6 +373,7 @@ ConfirmLoad = ?ולא םינותנ ןועטל הצור ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = קחמ Delete all = Delete all diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index d057fd3ec406..dab94600bc8f 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -373,6 +373,7 @@ ConfirmLoad = Učitaj ovu datu? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Izbriši Delete all = Izbriši sve diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index f512134877b7..f195cd5cd42c 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -373,6 +373,7 @@ ConfirmLoad = Betöltöd ezt a mentést? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Töröl Delete all = Mindet töröl diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index 7aee6961ce70..172aa34f8f70 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -373,6 +373,7 @@ ConfirmLoad = Muat data ini? ConnectingAP = Menghubungkan ke titik akses.\nHarap tunggu... ConnectingPleaseWait = Menghubungkan.\nHarap tunggu... ConnectionName = Nama koneksi +Copy to clipboard = Copy to clipboard Corrupted Data = Data rusak Delete = Hapus Delete all = Hapus semua diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index ccf8a321cce6..574e1b4741b2 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -373,6 +373,7 @@ ConfirmLoad = Caricare questi dati? ConnectingAP = Connessione in corso dal punto di accesso.\nAttendere, prego... ConnectingPleaseWait = Connessione in corso.\nAttendere, prego... ConnectionName = Nome connessione +Copy to clipboard = Copy to clipboard Corrupted Data = Dati corrotti Delete = Elimina Delete all = Elimina tutto diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index 2728417e050c..0f55bbc08937 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -373,6 +373,7 @@ ConfirmLoad = データをロードしますか? ConnectingAP = アクセスポイントに接続中.\nしばらくお待ちください... ConnectingPleaseWait = 接続中.\nしばらくお待ちください... ConnectionName = 接続名 +Copy to clipboard = Copy to clipboard Corrupted Data = 破損したデータ Delete = 削除 Delete all = 全て削除 diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index d44d4d380915..fa6442f7bceb 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -373,6 +373,7 @@ ConfirmLoad = Mbukak data iki? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Mbusek Delete all = Mbusek Kabeh diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index f04008b76046..f52a7c4e25dd 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -373,6 +373,7 @@ ConfirmLoad = 이 데이터를 불러오겠습니까? ConnectingAP = 접속 포인트에 연결하는 중입니다.\n잠시만 기다려 주세요... ConnectingPleaseWait = 연결 중입니다.\n잠시만 기다려 주세요... ConnectionName = 연결 이름 +Copy to clipboard = Copy to clipboard Corrupted Data = 손상된 데이터 Delete = 삭제 Delete all = 모두 삭제 diff --git a/assets/lang/ku_SO.ini b/assets/lang/ku_SO.ini index 9f3d4adc01e7..16c5e29718c6 100644 --- a/assets/lang/ku_SO.ini +++ b/assets/lang/ku_SO.ini @@ -387,6 +387,7 @@ ConfirmLoad = ئەم زانیاریانا لۆد ئەکەیت؟ ConnectingAP = پەیوەندی ئەکەین بە خاڵی دەست بە یەک گەستن.\nتکایە بووەستە... ConnectingPleaseWait = پەیوەندی ئەکەین.\nتکایە بووەستە... ConnectionName = ناوی پەیوەندی +Copy to clipboard = Copy to clipboard Corrupted Data = زانیاریەکە تێکچووە Delete = سڕینەوە Delete all = سڕینەوەی هەمووی diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index 13caac75af15..8e774b5b5230 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -373,6 +373,7 @@ ConfirmLoad = ຕ້ອງການໂຫຼດຂໍ້ມູນນີ້ຫຼ ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = ລຶບ Delete all = ລຶບທັງໝົດ diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index a8aeb92bac38..298ae415c720 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -373,6 +373,7 @@ ConfirmLoad = Ar krauti šitus duomenis? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Ištrinti Delete all = Ištrinti viską diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index d1dafd097ab1..96385207135b 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -373,6 +373,7 @@ ConfirmLoad = Muatkan data ini? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Padam Delete all = Padam semua diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index cbfafe6119eb..3423fa0d34c7 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -373,6 +373,7 @@ ConfirmLoad = Wilt u deze data laden? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Wissen Delete all = Alles wissen diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index e678c21d1904..db0bccc5f0e8 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -373,6 +373,7 @@ ConfirmLoad = Load this data? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Slett Delete all = Delete all diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index f5c2bdb72960..bcd7ee36daa7 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -373,6 +373,7 @@ ConfirmLoad = Wczytać te dane? ConnectingAP = Łączenie do punktu dostępowego.\nProszę czekać... ConnectingPleaseWait = Łączenie.\nProszę czekać... ConnectionName = Nazwa Połączenia +Copy to clipboard = Copy to clipboard Corrupted Data = Uszkodzone dane Delete = Usuń Delete all = Usuń wszystko diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index 360203adbf21..16441c386e6b 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -397,6 +397,7 @@ ConfirmLoad = Carregar estes dados? ConnectingAP = Conectando ao ponto de acesso.\nPor favor espere... ConnectingPleaseWait = Conectando.\nPor favor espere... ConnectionName = Nome da conexão +Copy to clipboard = Copy to clipboard Corrupted Data = Dados corrompidos Delete = Apagar Delete all = Apagar tudo diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index 6472baa080d3..4eea2af927c7 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -397,6 +397,7 @@ ConfirmLoad = Carregar estes dados? ConnectingAP = A conectar ao ponto de acesso.\nPor favor espere... ConnectingPleaseWait = A conectar.\nPor favor espere... ConnectionName = Nome da conexão +Copy to clipboard = Copy to clipboard Corrupted Data = Dados Corrompidos Delete = Eliminar Delete all = Eliminar tudo diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index 167e94cb46ab..d41fc376a80a 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -374,6 +374,7 @@ ConfirmLoad = Incarcă datele acestea? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Șterge Delete all = Șterge tot diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index 0e1989c96e35..0dbfb1981755 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -373,6 +373,7 @@ ConfirmLoad = Загрузить эти данные? ConnectingAP = Подключение к точке доступа.\nПожалуйста, подождите... ConnectingPleaseWait = Подключение.\nПожалуйста, подождите... ConnectionName = Имя повреждено +Copy to clipboard = Copy to clipboard Corrupted Data = Данные повреждены Delete = Удалить Delete all = Удалить всё diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index 12371e25e3db..bb02d4275877 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -373,6 +373,7 @@ ConfirmLoad = Ladda denna data? ConnectingAP = Kopplar upp till acceesspunkten.\nVänta... ConnectingPleaseWait = Kopplar upp.\nVänta... ConnectionName = Uppkopplingsnamn +Copy to clipboard = Copy to clipboard Corrupted Data = Korrupt data #Default = Default Delete = Radera diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index 7b1f719739b6..20f6d86d8941 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -374,6 +374,7 @@ ConfirmLoad = Nais mo bang i-load ang datos? ConnectingAP = Kumokonekta na sa access point.\nSandali lamang... ConnectingPleaseWait = Kumokonekta na.\nSandali lamang... ConnectionName = Pangalan ng Koneksyon +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted ang data Delete = Burahin Delete all = Burahin Lahat diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index 7763d26f8d67..4a26dd438ed9 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -374,6 +374,7 @@ ConfirmLoad = ต้องการโหลดข้อมูลนี้หร ConnectingAP = กำลังเชื่อมต่อกับแอคเซสพอยต์\nโปรดรอสักครู่... ConnectingPleaseWait = กำลังเชื่อมต่อ\nโปรดรอ... ConnectionName = ชื่อเครือข่าย +Copy to clipboard = Copy to clipboard Corrupted Data = ข้อมูลเสียหาย Delete = ลบ Delete all = ลบทั้งหมด diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index 7e8ddea67de2..d704b98a1b7c 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -375,6 +375,7 @@ ConfirmLoad = Veriyi yüklemek istiyor musunuz? ConnectingAP = Erişim noktasına bağlanılıyor.\nLütfen bekleyin.... ConnectingPleaseWait = Bağlanılıyor.\nLütfen bekleyin... ConnectionName = Bağlantı adı +Copy to clipboard = Copy to clipboard Corrupted Data = Bozuk veri Delete = Sil Delete all = Hepsini sil diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index 244eb60a394a..482301e8182f 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -373,6 +373,7 @@ ConfirmLoad = Завантажити ці дані? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Видалити Delete all = Видалити все diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index 1c255969b6ac..384048bd4cf5 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -373,6 +373,7 @@ ConfirmLoad = Load dữ liệu này? ConnectingAP = Connecting to the access point.\nPlease wait... ConnectingPleaseWait = Connecting.\nPlease wait... ConnectionName = Connection name +Copy to clipboard = Copy to clipboard Corrupted Data = Corrupted data Delete = Xóa Delete all = Xóa tất cả diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index ece60a01ff2a..ac504a03cedf 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -373,6 +373,7 @@ ConfirmLoad = 您要载入这个存档吗? ConnectingAP = 连接到接入点。\n请稍候… ConnectingPleaseWait = 连接中。\n请稍候… ConnectionName = 连接名称 +Copy to clipboard = Copy to clipboard Corrupted Data = 数据损坏 Delete = 删除 Delete all = 全部删除 diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index 98bd616df52a..6a8c42ffac24 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -373,6 +373,7 @@ ConfirmLoad = 要載入這個存檔的資料嗎? ConnectingAP = 正在連線至存取點\n請稍候… ConnectingPleaseWait = 正在連線\n請稍候… ConnectionName = 連線名稱 +Copy to clipboard = Copy to clipboard Corrupted Data = 已損毀的資料 Delete = 刪除 Delete all = 全部刪除 From d6b4a76e98c2ae6ba59435e3c39f66ca9aba23fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 2 Sep 2024 22:48:47 +0200 Subject: [PATCH 2/4] Add Copy button for calculated CRCs on game info screen --- Common/System/System.h | 1 + Qt/QtMain.cpp | 2 ++ SDL/SDLMain.cpp | 1 + UI/GameScreen.cpp | 29 +++++++++++++++++++++++++++-- UI/GameScreen.h | 1 + UWP/PPSSPP_UWPMain.cpp | 1 + Windows/main.cpp | 2 +- 7 files changed, 34 insertions(+), 3 deletions(-) diff --git a/Common/System/System.h b/Common/System/System.h index 78e954b7b5d4..b0f83d70bdf0 100644 --- a/Common/System/System.h +++ b/Common/System/System.h @@ -146,6 +146,7 @@ enum SystemProperty { SYSPROP_HAS_ACCELEROMETER, // Used to enable/disable tilt input settings SYSPROP_HAS_OPEN_DIRECTORY, SYSPROP_HAS_LOGIN_DIALOG, + SYSPROP_HAS_TEXT_CLIPBOARD, SYSPROP_HAS_TEXT_INPUT_DIALOG, // Indicates that System_InputBoxGetString is available. SYSPROP_CAN_CREATE_SHORTCUT, diff --git a/Qt/QtMain.cpp b/Qt/QtMain.cpp index 9e6e759df1fb..5122131e103c 100644 --- a/Qt/QtMain.cpp +++ b/Qt/QtMain.cpp @@ -247,6 +247,8 @@ float System_GetPropertyFloat(SystemProperty prop) { bool System_GetPropertyBool(SystemProperty prop) { switch (prop) { + case SYSPROP_HAS_TEXT_CLIPBOARD: + return true; case SYSPROP_HAS_BACK_BUTTON: return true; case SYSPROP_HAS_IMAGE_BROWSER: diff --git a/SDL/SDLMain.cpp b/SDL/SDLMain.cpp index 716ebde8a95e..9c97bc74cdc7 100644 --- a/SDL/SDLMain.cpp +++ b/SDL/SDLMain.cpp @@ -543,6 +543,7 @@ float System_GetPropertyFloat(SystemProperty prop) { bool System_GetPropertyBool(SystemProperty prop) { switch (prop) { + case SYSPROP_HAS_TEXT_CLIPBOARD: case SYSPROP_CAN_SHOW_FILE: #if PPSSPP_PLATFORM(WINDOWS) || PPSSPP_PLATFORM(MAC) || (PPSSPP_PLATFORM(LINUX) && !PPSSPP_PLATFORM(ANDROID)) return true; diff --git a/UI/GameScreen.cpp b/UI/GameScreen.cpp index 2c089e582645..fd661088e6be 100644 --- a/UI/GameScreen.cpp +++ b/UI/GameScreen.cpp @@ -81,6 +81,9 @@ void GameScreen::update() { CRC32string = int2hexstr(crcvalue); tvCRC_->SetVisibility(UI::V_VISIBLE); tvCRC_->SetText(CRC32string); + if (tvCRCCopy_) { + tvCRCCopy_->SetVisibility(UI::V_VISIBLE); + } if (btnCalcCRC_) { btnCalcCRC_->SetVisibility(UI::V_GONE); } @@ -145,9 +148,27 @@ void GameScreen::CreateViews() { tvPlayTime_ = infoLayout->Add(new TextView("", ALIGN_LEFT, true, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT))); tvPlayTime_->SetShadow(true); tvPlayTime_->SetVisibility(V_GONE); - tvCRC_ = infoLayout->Add(new TextView("", ALIGN_LEFT, true, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT))); + + LinearLayout *crcHoriz = infoLayout->Add(new LinearLayout(ORIENT_HORIZONTAL)); + tvCRC_ = crcHoriz->Add(new TextView("", ALIGN_LEFT, true, new LinearLayoutParams(0.0, G_VCENTER))); tvCRC_->SetShadow(true); - tvCRC_->SetVisibility(Reporting::HasCRC(gamePath_) ? V_VISIBLE : V_GONE); + Visibility crcVisibility = Reporting::HasCRC(gamePath_) ? V_VISIBLE : V_GONE; + tvCRC_->SetVisibility(crcVisibility); + if (System_GetPropertyBool(SYSPROP_HAS_TEXT_CLIPBOARD)) { + tvCRCCopy_ = crcHoriz->Add(new Button(di->T("Copy to clipboard"), new LinearLayoutParams(0.0, G_VCENTER))); + tvCRCCopy_->OnClick.Add([this](UI::EventParams &) { + u32 crc = Reporting::RetrieveCRC(gamePath_); + char buffer[16]; + snprintf(buffer, sizeof(buffer), "%08X", crc); + System_CopyStringToClipboard(buffer); + return UI::EVENT_DONE; + }); + tvCRCCopy_->SetVisibility(crcVisibility); + tvCRCCopy_->SetScale(0.82f); + } else { + tvCRCCopy_ = nullptr; + } + tvVerified_ = infoLayout->Add(new NoticeView(NoticeLevel::INFO, ga->T("Click \"Calculate CRC\" to verify ISO"), "", new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT))); tvVerified_->SetVisibility(UI::V_GONE); tvVerified_->SetSquishy(true); @@ -170,6 +191,7 @@ void GameScreen::CreateViews() { tvRegion_ = nullptr; tvPlayTime_ = nullptr; tvCRC_ = nullptr; + tvCRCCopy_ = nullptr; tvVerified_ = nullptr; } @@ -360,6 +382,9 @@ ScreenRenderFlags GameScreen::render(ScreenRenderMode mode) { std::string crc = StringFromFormat("%08X", crcVal); tvCRC_->SetText(ReplaceAll(rp->T("FeedbackCRCValue", "Disc CRC: %1"), "%1", crc)); tvCRC_->SetVisibility(UI::V_VISIBLE); + if (tvCRCCopy_) { + tvCRCCopy_->SetVisibility(UI::V_VISIBLE); + } // Let's check the CRC in the game database, looking up the ID and also matching the crc. std::vector dbInfos; diff --git a/UI/GameScreen.h b/UI/GameScreen.h index b8fd92fe784f..5638eb33c6aa 100644 --- a/UI/GameScreen.h +++ b/UI/GameScreen.h @@ -75,6 +75,7 @@ class GameScreen : public UIDialogScreenWithGameBackground { UI::TextView *tvPlayTime_ = nullptr; UI::TextView *tvCRC_ = nullptr; UI::TextView *tvID_ = nullptr; + UI::Button *tvCRCCopy_ = nullptr; NoticeView *tvVerified_ = nullptr; UI::Choice *btnGameSettings_ = nullptr; diff --git a/UWP/PPSSPP_UWPMain.cpp b/UWP/PPSSPP_UWPMain.cpp index b20678ebfbd5..719d3428216b 100644 --- a/UWP/PPSSPP_UWPMain.cpp +++ b/UWP/PPSSPP_UWPMain.cpp @@ -408,6 +408,7 @@ void System_Toast(std::string_view str) {} bool System_GetPropertyBool(SystemProperty prop) { switch (prop) { + case SYSPROP_HAS_TEXT_CLIPBOARD: case SYSPROP_HAS_OPEN_DIRECTORY: { return !IsXBox(); diff --git a/Windows/main.cpp b/Windows/main.cpp index f0274692f70a..bd763a0908c2 100644 --- a/Windows/main.cpp +++ b/Windows/main.cpp @@ -355,6 +355,7 @@ float System_GetPropertyFloat(SystemProperty prop) { bool System_GetPropertyBool(SystemProperty prop) { switch (prop) { + case SYSPROP_HAS_TEXT_CLIPBOARD: case SYSPROP_HAS_DEBUGGER: case SYSPROP_HAS_FILE_BROWSER: case SYSPROP_HAS_FOLDER_BROWSER: @@ -910,7 +911,6 @@ int WINAPI WinMain(HINSTANCE _hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLin std::string controlsConfigFilename = ""; const std::wstring controlsOption = L"--controlconfig="; - for (size_t i = 1; i < wideArgs.size(); ++i) { if (wideArgs[i][0] == L'\0') continue; From d95ae307171d49dac6211a5749daecea8d4951a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 2 Sep 2024 23:02:25 +0200 Subject: [PATCH 3/4] Gradle upgrade --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 36365515e512..81857b9297ad 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:8.5.2' + classpath 'com.android.tools.build:gradle:8.6.0' } } From 9a193261f406ea86136a0e30b5d976feb955ff22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 2 Sep 2024 23:04:40 +0200 Subject: [PATCH 4/4] Android: Add support to copy strings to clipboard --- UI/GameScreen.cpp | 3 +++ android/jni/app-android.cpp | 5 +++++ android/src/org/ppsspp/ppsspp/NativeActivity.java | 15 +++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/UI/GameScreen.cpp b/UI/GameScreen.cpp index fd661088e6be..924d8f19700f 100644 --- a/UI/GameScreen.cpp +++ b/UI/GameScreen.cpp @@ -30,6 +30,7 @@ #include "Common/File/FileUtil.h" #include "Common/StringUtils.h" #include "Common/System/System.h" +#include "Common/System/OSD.h" #include "Common/System/Request.h" #include "Common/System/NativeApp.h" #include "Core/Config.h" @@ -161,6 +162,8 @@ void GameScreen::CreateViews() { char buffer[16]; snprintf(buffer, sizeof(buffer), "%08X", crc); System_CopyStringToClipboard(buffer); + // Success indication. Not worth a translatable string. + g_OSD.Show(OSDType::MESSAGE_SUCCESS, buffer, 1.0f); return UI::EVENT_DONE; }); tvCRCCopy_->SetVisibility(crcVisibility); diff --git a/android/jni/app-android.cpp b/android/jni/app-android.cpp index 6bf54fa36404..1011e599c51b 100644 --- a/android/jni/app-android.cpp +++ b/android/jni/app-android.cpp @@ -499,6 +499,8 @@ bool System_GetPropertyBool(SystemProperty prop) { case SYSPROP_SUPPORTS_SUSTAINED_PERF_MODE: return sustainedPerfSupported; // 7.0 introduced sustained performance mode as an optional feature. case SYSPROP_HAS_TEXT_INPUT_DIALOG: + return androidVersion >= 11; // honeycomb + case SYSPROP_HAS_TEXT_CLIPBOARD: return true; case SYSPROP_HAS_OPEN_DIRECTORY: return false; // We have this implemented but it may or may not work depending on if a file explorer is installed. @@ -1114,6 +1116,9 @@ bool System_MakeRequest(SystemRequestType type, int requestId, const std::string case SystemRequestType::RECREATE_ACTIVITY: PushCommand("recreate", param1); return true; + case SystemRequestType::COPY_TO_CLIPBOARD: + PushCommand("copy_to_clipboard", param1); + return true; case SystemRequestType::INPUT_TEXT_MODAL: { std::string serialized = StringFromFormat("%d:@:%s:@:%s", requestId, param1.c_str(), param2.c_str()); diff --git a/android/src/org/ppsspp/ppsspp/NativeActivity.java b/android/src/org/ppsspp/ppsspp/NativeActivity.java index a3a968ccc2b5..b5f4e8cd779c 100644 --- a/android/src/org/ppsspp/ppsspp/NativeActivity.java +++ b/android/src/org/ppsspp/ppsspp/NativeActivity.java @@ -7,6 +7,8 @@ import android.app.ActivityManager; import android.app.AlertDialog; import android.app.UiModeManager; +import android.content.ClipData; +import android.content.ClipboardManager; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -1666,10 +1668,23 @@ public boolean processCommand(String command, String params) { NativeApp.reportException(e, params); return false; } + } else if (command.equals("copy_to_clipboard")) { + if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + copyStringToClipboard(params); + } + } else { + Log.w(TAG, "Unknown string command " + command); } return false; } + @TargetApi(Build.VERSION_CODES.HONEYCOMB) + private void copyStringToClipboard(String text) { + ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); + ClipData clip = ClipData.newPlainText("Copied Text", text); + clipboard.setPrimaryClip(clip); + } + @SuppressLint("NewApi") @Override public void recreate() {