From f9ef9936cdd24a9a5fe50b540e380df0397a2696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Fri, 19 Jan 2024 16:30:28 +0100 Subject: [PATCH 1/3] Add "Help" string to MainSettings --- 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/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 + 43 files changed, 43 insertions(+) diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index e61f95cc89df..886e34040d20 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -760,6 +760,7 @@ www.ppsspp.org = www.ppsspp.org Audio = ‎الصوت Controls = ‎التحكم Graphics = ‎الجرافك +Help = ‎مساعدة Networking = ‎الشبكة Search = Search System = ‎النظام diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index 9c1ccc874876..cbc18f290057 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Səs Controls = Kontrollar Graphics = Qrafika +Help = Help Networking = Networking Search = Search System = Sistem diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index 956ab16d73b7..4aae45d542c8 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Аудио Controls = Контроли Graphics = Графика +Help = Помощ Networking = Networking Search = Search System = Система diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index 59d833fc716c..c04a63f42e66 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Àudio Controls = Controls Graphics = Gràfics +Help = Ajuda Networking = Joc en xarxa Search = Cercar System = Sistema diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index e6e1ecf25dad..c0839f1d5593 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Zvuk Controls = Ovládání Graphics = Grafika +Help = Nápověda Networking = Síť Search = Search System = Systém diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index b2f9a5aff185..eb0a6d477ae6 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -756,6 +756,7 @@ Networking = Netværk Search = Search System = System Tools = Tools +Help = Help [MappableControls] Alt speed 1 = Alt speed 1 diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index 0e651c1496e8..e9cf75944c6c 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Ton Controls = Bedienung Graphics = Grafik +Help = Hilfe Networking = Netzwerk Search = Suche System = System diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index 90aa777d8cad..32bf428b35e8 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Suarana Controls = Tombolna Graphics = Gambara'na +Help = Pabalian Networking = Networking Search = Search System = Sistemna diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index dba949961443..9ca8574c3cbe 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -780,6 +780,7 @@ Networking = Networking System = System Tools = Tools Search = Search +Help = Help [MappableControls] Alt speed 1 = Alt speed 1 diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index 4004d0743935..e7843f4f683a 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -752,6 +752,7 @@ www.ppsspp.org = Sitio oficial Audio = Sonido Controls = Controles Graphics = Gráficos +Help = Ayuda Networking = Juego en red Search = Buscar System = Sistema diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index d8da98a98ce9..a65641a74cd2 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Audio Controls = Controles Graphics = Gráficos +Help = Ayuda Networking = Juego en red Search = Search System = Sistema diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index d785ad87af2d..485a188d8a04 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -752,6 +752,7 @@ www.ppsspp.org = ‎وبسایت شبیه ساز Audio = ‎صدا Controls = ‎کنترل ها Graphics = ‎گرافیک +Help = ‎راهنما Networking = ‎شبکه Search = Search System = ‎سیستم diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index f7fb735a1bdb..831b2c852074 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Ääni Controls = Ohjaus Graphics = Grafiikka +Help = Apua Networking = Verkko Search = Haku System = Järjestelmä diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index fe011be4e1c8..9f75ebf6d9ca 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -752,6 +752,7 @@ www.ppsspp.org = Visiter le site officiel Audio = Son Controls = Commandes Graphics = Graphismes +Help = Aide Networking = Réseau Search = Search System = Système diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index c60ca4f20596..9c73a851a8e8 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -752,6 +752,7 @@ www.ppsspp.org = Sitio oficial Audio = Son Controls = Controis Graphics = Gráficos +Help = Axuda Networking = Xogo en rede Search = Search System = Sistema diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index 6df498b541b1..7eac6d714b76 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Ήχος Controls = Χειριστήριο Graphics = Γραφικά +Help = Βοήθεια Networking = Δικτύωση Search = Search System = Σύστημα diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index 6e8c9193dd09..c9953dba3fed 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -752,6 +752,7 @@ www.ppsspp.org = לאתר Audio = שמע Controls = מקשים Graphics = גראפיקה +Help = Help Networking = Networking Search = Search System = מערכת diff --git a/assets/lang/he_IL_invert.ini b/assets/lang/he_IL_invert.ini index f3a7300955d0..8f310a507033 100644 --- a/assets/lang/he_IL_invert.ini +++ b/assets/lang/he_IL_invert.ini @@ -752,6 +752,7 @@ www.ppsspp.org = רתאל Audio = עמש Controls = םישקמ Graphics = הקיפארג +Help = Help Networking = Networking Search = Search System = תכרעמ diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index ddb138907ca4..04c97ad6cd6c 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Zvuk Controls = Kontrole Graphics = Grafike +Help = Pomoć Networking = Internet Search = Search System = Sistem diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index af5958370699..49c7a7f5dd86 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Hang Controls = Irányítás Graphics = Grafika +Help = Segítség Networking = Hálózat Search = Search System = Rendszer diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index 3b717426ec09..6dbfc949e35e 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Suara Controls = Kontrol Graphics = Grafis +Help = Bantuan Networking = Koneksi System = Sistem Tools = Alat diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index 91c5fef59a10..40d880b34b2b 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -753,6 +753,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Audio Controls = Controlli Graphics = Grafica +Help = Aiuto Networking = Rete Search = Ricerca System = Sistema diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index beea7562c382..84b5a0a4eb2b 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = オーディオ Controls = コントロール Graphics = グラフィックス +Help = ヘルプ(&H) Networking = ネットワーク Search = 検索 System = システム diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index f8824a4ac21f..b852d9d0ccf1 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Suoro Controls = Kontrol Graphics = Tampilan +Help = Pithulungan Networking = Jaringan Search = Search System = Sistem diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index 7288c840e3fc..5a6ff7e3d8ba 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = 오디오 Controls = 조작 Graphics = 그래픽 +Help = 도움말(&H) Networking = 네트워킹 System = 시스템 Tools = 도구 diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index 47b31fba145c..71664403929e 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = ສຽງ Controls = ການຄວບຄຸມ Graphics = ກຣາບຟິກ +Help = ຊ່ອຍເຫຼືອ Networking = ເຄື່ອຂ່າຍ Search = Search System = ລະບົບ diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index 5bf7c903c9ce..ec37f2489b26 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Garsas Controls = Valdymas Graphics = Grafika +Help = Help Networking = Tinklų parametrai Search = Search System = Sistema diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index 4fc141d3fbd0..79fdf057300e 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Suara Controls = Kawalan Graphics = Grafik +Help = Bantuan Networking = Networking Search = Search System = Sistem diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index 14fabda7a16a..c92ca7c20298 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Geluid Controls = Besturing Graphics = Beeld +Help = Help Networking = Netwerk Search = Search System = Systeem diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index 0a9703bbc3f3..8c415260108a 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Lyd Controls = Kontroll Graphics = Grafikk +Help = Help Networking = Networking Search = Search System = System diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index d1a064001b9c..fa493a518014 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -757,6 +757,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Dźwięk Controls = Sterowanie Graphics = Grafika +Help = Pomoc Networking = Sieć Search = Wyszukiwanie System = System diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index bd1e8b93222b..4d2669abb7f5 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -776,6 +776,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Áudio Controls = Controles Graphics = Gráficos +Help = Ajuda Networking = Rede System = Sistema Tools = Ferramentas diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index 067eda1e5837..d6ec73a88793 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -776,6 +776,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Áudio Controls = Controlos Graphics = Gráficos +Help = Ajuda Networking = Rede System = Sistema Tools = Ferramentas diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index eea33b4ac213..f2ab0bcd34fa 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -753,6 +753,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Audio Controls = Setări de Control Graphics = Grafică +Help = Help Networking = Rețelistică Search = Search System = Sistem diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index 6dfd2666e80a..0b1c98485e34 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Аудио Controls = Управление Graphics = Графика +Help = Справка Networking = Сеть Search = Поиск System = Системные diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index 91e31043fa28..8c881051d6f2 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -753,6 +753,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Ljud Controls = Kontroll Graphics = Grafik +Help = Hjälp Networking = Nätverk Search = Sök System = System diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index f3eda3a3ac0d..260b3f1f91e4 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Tunog Controls = Kontrol Graphics = Graphics +Help = Tulong Networking = Networking Search = Search System = Sistema diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index 5c2dc9ca5072..33948ad9417f 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -752,6 +752,7 @@ www.ppsspp.org = เว็บไซต์หลัก PPSSPP Audio = เสียง Controls = ควบคุม Graphics = กราฟิก +Help = ช่วยเหลือ Networking = เครือข่าย Search = ค้นหา System = ระบบ diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index 23201a38290d..e5bf1f6b02e1 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -754,6 +754,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Ses Controls = Kontroller Graphics = Grafik +Help = Yardım Networking = Ağ ayarları Search = Ara System = Sistem diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index 9460c3620606..e7b22ed0bfc3 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Аудіо Controls = Управління Graphics = Графіка +Help = Довідка Networking = Мережа Search = Search System = Система diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index fa68f55fe64e..621c12c5651b 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -752,6 +752,7 @@ www.ppsspp.org = www.ppsspp.org Audio = Âm thanh Controls = Điều khiển Graphics = Đồ họa +Help = Giúp đỡ Networking = Mạng Search = Search System = Hệ thống diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index 3b7786d64588..9d5ff3222fe1 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -752,6 +752,7 @@ www.ppsspp.org = 访问官网 Audio = 声音设置 Controls = 控制设置 Graphics = 图像设置 +Help = 帮助 Networking = 网络设置 System = 系统设置 Tools = 工具 diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index 70a1c95bdec7..68b2e2656223 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -752,6 +752,7 @@ www.ppsspp.org = 官方網站 Audio = 音訊 Controls = 控制 Graphics = 圖形 +Help = 說明 Networking = 網路 System = 系統 Tools = 工具 From 9d84791db4b8d5c8ce8d5da56f348781f1014fc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Fri, 19 Jan 2024 16:30:40 +0100 Subject: [PATCH 2/3] Update langtool --- Tools/langtool/Cargo.lock | 228 +++++++++++++++++----------------- Tools/langtool/Cargo.toml | 2 +- Tools/langtool/src/main.rs | 50 ++++++-- Tools/langtool/src/section.rs | 15 +++ 4 files changed, 172 insertions(+), 123 deletions(-) diff --git a/Tools/langtool/Cargo.lock b/Tools/langtool/Cargo.lock index 5bd5b5b898dd..e8af3a5b8667 100644 --- a/Tools/langtool/Cargo.lock +++ b/Tools/langtool/Cargo.lock @@ -3,105 +3,110 @@ version = 3 [[package]] -name = "ansi_term" -version = "0.12.1" +name = "anstream" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" dependencies = [ - "winapi", + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", ] [[package]] -name = "atty" -version = "0.2.14" +name = "anstyle" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" + +[[package]] +name = "anstyle-parse" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" dependencies = [ - "hermit-abi", - "libc", - "winapi", + "utf8parse", ] [[package]] -name = "bitflags" -version = "1.3.2" +name = "anstyle-query" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +dependencies = [ + "windows-sys", +] [[package]] -name = "clap" -version = "2.34.0" +name = "anstyle-wincon" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ - "ansi_term", - "atty", - "bitflags", - "strsim", - "textwrap", - "unicode-width", - "vec_map", + "anstyle", + "windows-sys", ] [[package]] -name = "heck" -version = "0.3.3" +name = "clap" +version = "4.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c" dependencies = [ - "unicode-segmentation", + "clap_builder", + "clap_derive", ] [[package]] -name = "hermit-abi" -version = "0.1.19" +name = "clap_builder" +version = "4.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7" dependencies = [ - "libc", + "anstream", + "anstyle", + "clap_lex", + "strsim", ] [[package]] -name = "langtool" -version = "0.1.0" +name = "clap_derive" +version = "4.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" dependencies = [ - "structopt", + "heck", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "lazy_static" -version = "1.4.0" +name = "clap_lex" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] -name = "libc" -version = "0.2.152" +name = "colorchoice" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "heck" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check", -] +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +name = "langtool" +version = "0.1.0" dependencies = [ - "proc-macro2", - "quote", - "version_check", + "clap", ] [[package]] @@ -124,102 +129,95 @@ dependencies = [ [[package]] name = "strsim" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] -name = "structopt" -version = "0.3.26" +name = "syn" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ - "clap", - "lazy_static", - "structopt-derive", + "proc-macro2", + "quote", + "unicode-ident", ] [[package]] -name = "structopt-derive" -version = "0.4.18" +name = "unicode-ident" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" -dependencies = [ - "heck", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] -name = "syn" -version = "1.0.109" +name = "utf8parse" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] -name = "textwrap" -version = "0.11.0" +name = "windows-sys" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "unicode-width", + "windows-targets", ] [[package]] -name = "unicode-ident" -version = "1.0.12" +name = "windows-targets" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] [[package]] -name = "unicode-segmentation" -version = "1.10.1" +name = "windows_aarch64_gnullvm" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" [[package]] -name = "unicode-width" -version = "0.1.11" +name = "windows_aarch64_msvc" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" [[package]] -name = "vec_map" -version = "0.8.2" +name = "windows_i686_gnu" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" [[package]] -name = "version_check" -version = "0.9.4" +name = "windows_i686_msvc" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" [[package]] -name = "winapi" -version = "0.3.9" +name = "windows_x86_64_gnu" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" [[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" +name = "windows_x86_64_gnullvm" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" [[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" +name = "windows_x86_64_msvc" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" diff --git a/Tools/langtool/Cargo.toml b/Tools/langtool/Cargo.toml index 42ef423cf67d..384de6e72ae3 100644 --- a/Tools/langtool/Cargo.toml +++ b/Tools/langtool/Cargo.toml @@ -5,4 +5,4 @@ name = "langtool" version = "0.1.0" [dependencies] -structopt = "0.3.26" +clap = { version = "4.4", features = ["derive"] } diff --git a/Tools/langtool/src/main.rs b/Tools/langtool/src/main.rs index 6e2a0a372e36..e52516bcfc99 100644 --- a/Tools/langtool/src/main.rs +++ b/Tools/langtool/src/main.rs @@ -5,20 +5,20 @@ mod section; mod inifile; use inifile::IniFile; -use structopt::StructOpt; +use clap::Parser; -#[derive(StructOpt, Debug)] +#[derive(Parser, Debug)] struct Opt { - #[structopt(subcommand)] + #[command(subcommand)] cmd: Command, - #[structopt(short, long)] + #[arg(short, long)] dry_run: bool, } -#[derive(StructOpt, Debug)] +#[derive(Parser, Debug)] enum Command { CopyMissingLines { - #[structopt(short, long)] + #[arg(short, long)] dont_comment_missing: bool, }, CommentUnknownLines {}, @@ -32,6 +32,11 @@ enum Command { new: String, key: String, }, + CopyKey { + old: String, + new: String, + key: String, + }, RenameKey { section: String, old: String, @@ -107,6 +112,23 @@ fn move_key(target_ini: &mut IniFile, old: &str, new: &str, key: &str) -> io::Re Ok(()) } +fn copy_key(target_ini: &mut IniFile, old: &str, new: &str, key: &str) -> io::Result<()> { + if let Some(old_section) = target_ini.get_section_mut(old) { + if let Some(line) = old_section.get_line(key) { + if let Some(new_section) = target_ini.get_section_mut(new) { + new_section.insert_line_if_missing(&line); + } else { + println!("No new section {}", new); + } + } else { + println!("No key {} in section {}", key, old); + } + } else { + println!("No old section {}", old); + } + Ok(()) +} + fn remove_key(target_ini: &mut IniFile, section: &str, key: &str) -> io::Result<()> { if let Some(old_section) = target_ini.get_section_mut(section) { old_section.remove_line(key); @@ -146,7 +168,7 @@ fn sort_section(target_ini: &mut IniFile, section: &str) -> io::Result<()> { // TODO: Look into using https://github.com/Byron/google-apis-rs/tree/main/gen/translate2 for initial translations. fn main() { - let opt = Opt::from_args(); + let opt = Opt::parse(); // TODO: Grab extra arguments from opt somehow. let args: Vec = vec![]; //std::env::args().skip(1).collect(); @@ -214,6 +236,13 @@ fn main() { } => { move_key(&mut target_ini, old, new, key).unwrap(); } + Command::CopyKey { + ref old, + ref new, + ref key, + } => { + copy_key(&mut target_ini, old, new, key).unwrap(); + } Command::RemoveKey { ref section, ref key, @@ -255,6 +284,13 @@ fn main() { } => { move_key(&mut reference_ini, old, new, key).unwrap(); } + Command::CopyKey { + ref old, + ref new, + ref key, + } => { + copy_key(&mut reference_ini, old, new, key).unwrap(); + } Command::RemoveKey { ref section, ref key, diff --git a/Tools/langtool/src/section.rs b/Tools/langtool/src/section.rs index 34120de6043c..cbb61a5bb9de 100644 --- a/Tools/langtool/src/section.rs +++ b/Tools/langtool/src/section.rs @@ -33,6 +33,21 @@ impl Section { } } + pub fn get_line(&self, key: &str) -> Option { + for line in self.lines.iter() { + let prefix = if let Some(pos) = line.find(" =") { + &line[0..pos] + } else { + continue; + }; + + if prefix.eq_ignore_ascii_case(key) { + return Some(line.clone()); + } + } + None + } + pub fn insert_line_if_missing(&mut self, line: &str) -> bool { let prefix = if let Some(pos) = line.find(" =") { &line[0..pos + 2] From f8707ab17d3ce61f831d4d5ee2e140126bc5d507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Fri, 19 Jan 2024 16:31:08 +0100 Subject: [PATCH 3/3] Add a top banner to each settings page, that shows the game (if game-specific) and a help link --- UI/EmuScreen.cpp | 10 ++++++---- UI/GameSettingsScreen.cpp | 41 ++++++++++++++++++++++++++++++++++++--- UI/GameSettingsScreen.h | 1 + UI/PauseScreen.cpp | 6 +++--- UI/PauseScreen.h | 3 ++- 5 files changed, 50 insertions(+), 11 deletions(-) diff --git a/UI/EmuScreen.cpp b/UI/EmuScreen.cpp index 274028e1cf16..39dfe2fffba9 100644 --- a/UI/EmuScreen.cpp +++ b/UI/EmuScreen.cpp @@ -505,7 +505,8 @@ void EmuScreen::focusChanged(ScreenFocusChange focusChange) { void EmuScreen::sendMessage(UIMessage message, const char *value) { // External commands, like from the Windows UI. if (message == UIMessage::REQUEST_GAME_PAUSE && screenManager()->topScreen() == this) { - screenManager()->push(new GamePauseScreen(gamePath_)); + std::string gameID = g_paramSFO.GetValueString("DISC_ID"); + screenManager()->push(new GamePauseScreen(gamePath_, gameID)); } else if (message == UIMessage::REQUEST_GAME_STOP) { // We will push MainScreen in update(). PSP_Shutdown(); @@ -587,8 +588,8 @@ void EmuScreen::sendMessage(UIMessage message, const char *value) { if (!KeyMap::IsKeyMapped(DEVICE_ID_PAD_0, VIRTKEY_PAUSE) || !KeyMap::IsKeyMapped(DEVICE_ID_PAD_1, VIRTKEY_PAUSE)) { // If it's a TV (so no built-in back button), and there's no back button mapped to a pad, // use this as the fallback way to get into the menu. - - screenManager()->push(new GamePauseScreen(gamePath_)); + std::string gameID = g_paramSFO.GetValueString("DISC_ID"); + screenManager()->push(new GamePauseScreen(gamePath_, gameID)); } } } else if (message == UIMessage::REQUEST_PLAY_SOUND) { @@ -1215,7 +1216,8 @@ void EmuScreen::update() { if (pauseTrigger_) { pauseTrigger_ = false; - screenManager()->push(new GamePauseScreen(gamePath_)); + std::string gameID = g_paramSFO.GetValueString("DISC_ID"); + screenManager()->push(new GamePauseScreen(gamePath_, gameID)); } if (saveStatePreview_ && !bootPending_) { diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index a206b091cca0..03dc92562236 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -229,32 +229,67 @@ void GameSettingsScreen::PreCreateViews() { iAlternateSpeedPercentAnalog_ = (g_Config.iAnalogFpsLimit * 100) / 60; } +void GameSettingsScreen::CreateBanner(UI::LinearLayout *parent, const char *category, const char *url) { + using namespace UI; + auto ms = GetI18NCategory(I18NCat::MAINSETTINGS); + + LinearLayout *banner = new LinearLayout(ORIENT_HORIZONTAL); + std::string title = category; + bool hasGameConfig = false; + if (g_Config.hasGameConfig(gameID_)) { + auto info = g_gameInfoCache->GetInfo(nullptr, gamePath_, 0); + title = info->GetTitle() + " - " + gameID_; + hasGameConfig = true; + } + if (hasGameConfig) { + banner->Add(new ImageView(ImageID("I_GEAR"), "", UI::ImageSizeMode::IS_KEEP_ASPECT, new LinearLayoutParams(50, 50, 0.0f, G_CENTER))); + } + banner->Add(new TextView(title, new LinearLayoutParams(Margins(10, 10)))); + banner->Add(new Spacer(0.0f, new LinearLayoutParams(1.0f))); + if (strlen(url)) { + banner->Add(new Button(ms->T("Help"), new LinearLayoutParams(Margins(8, 8))))->OnClick.Add([=](UI::EventParams &e) { + std::string fullUrl = StringFromFormat("https://www.ppsspp.org/docs/settings/%s", url); + System_LaunchUrl(LaunchUrlType::BROWSER_URL, fullUrl.c_str()); + return UI::EVENT_DONE; + }); + } + banner->SetBG(UI::Drawable(0x30000000)); + parent->Add(banner); +} + void GameSettingsScreen::CreateTabs() { using namespace UI; auto ms = GetI18NCategory(I18NCat::MAINSETTINGS); LinearLayout *graphicsSettings = AddTab("GameSettingsGraphics", ms->T("Graphics")); + CreateBanner(graphicsSettings, ms->T("Graphics"), "graphics"); CreateGraphicsSettings(graphicsSettings); LinearLayout *controlsSettings = AddTab("GameSettingsControls", ms->T("Controls")); + CreateBanner(controlsSettings, ms->T("Controls"), "controls"); CreateControlsSettings(controlsSettings); LinearLayout *audioSettings = AddTab("GameSettingsAudio", ms->T("Audio")); + CreateBanner(audioSettings, ms->T("Audio"), "audio"); CreateAudioSettings(audioSettings); LinearLayout *networkingSettings = AddTab("GameSettingsNetworking", ms->T("Networking")); + CreateBanner(networkingSettings, ms->T("Networking"), "network"); CreateNetworkingSettings(networkingSettings); - LinearLayout *tools = AddTab("GameSettingsTools", ms->T("Tools")); - CreateToolsSettings(tools); + LinearLayout *toolsSettings = AddTab("GameSettingsTools", ms->T("Tools")); + CreateBanner(toolsSettings, ms->T("Tools"), "tools"); + CreateToolsSettings(toolsSettings); LinearLayout *systemSettings = AddTab("GameSettingsSystem", ms->T("System")); systemSettings->SetSpacing(0); + CreateBanner(systemSettings, ms->T("System"), "system"); CreateSystemSettings(systemSettings); int deviceType = System_GetPropertyInt(SYSPROP_DEVICE_TYPE); if (deviceType == DEVICE_TYPE_VR) { - LinearLayout *vrSettings = AddTab("GameSettingsVR", ms->T("VR")); + LinearLayout *vrSettings = AddTab("GameSettingsVR", ms->T("VR"), ""); + CreateBanner(vrSettings, ms->T("VR"), ""); CreateVRSettings(vrSettings); } } diff --git a/UI/GameSettingsScreen.h b/UI/GameSettingsScreen.h index f7cdbef4d6af..42272c8edcd4 100644 --- a/UI/GameSettingsScreen.h +++ b/UI/GameSettingsScreen.h @@ -47,6 +47,7 @@ class GameSettingsScreen : public TabbedUIDialogScreenWithGameBackground { private: void PreCreateViews() override; + void CreateBanner(UI::LinearLayout *parent, const char *category, const char *url); void CreateGraphicsSettings(UI::ViewGroup *graphicsSettings); void CreateControlsSettings(UI::ViewGroup *tools); diff --git a/UI/PauseScreen.cpp b/UI/PauseScreen.cpp index 1f4133d0c6ae..3cfbc256b564 100644 --- a/UI/PauseScreen.cpp +++ b/UI/PauseScreen.cpp @@ -264,8 +264,8 @@ void GamePauseScreen::update() { SetVRAppMode(VRAppMode::VR_MENU_MODE); } -GamePauseScreen::GamePauseScreen(const Path &filename) - : UIDialogScreenWithGameBackground(filename) { +GamePauseScreen::GamePauseScreen(const Path &filename, std::string gameID) + : UIDialogScreenWithGameBackground(filename), gameID_(gameID) { // So we can tell if something blew up while on the pause screen. std::string assertStr = "PauseScreen: " + filename.GetFilename(); SetExtraAssertInfo(assertStr.c_str()); @@ -454,7 +454,7 @@ void GamePauseScreen::CreateViews() { } UI::EventReturn GamePauseScreen::OnGameSettings(UI::EventParams &e) { - screenManager()->push(new GameSettingsScreen(gamePath_)); + screenManager()->push(new GameSettingsScreen(gamePath_, gameID_)); return UI::EVENT_DONE; } diff --git a/UI/PauseScreen.h b/UI/PauseScreen.h index 64f2c6cf8e8c..e0fa59e32082 100644 --- a/UI/PauseScreen.h +++ b/UI/PauseScreen.h @@ -32,7 +32,7 @@ enum class PauseScreenMode { class GamePauseScreen : public UIDialogScreenWithGameBackground { public: - GamePauseScreen(const Path &filename); + GamePauseScreen(const Path &filename, std::string gameID); ~GamePauseScreen(); void dialogFinished(const Screen *dialog, DialogResult dr) override; @@ -68,4 +68,5 @@ class GamePauseScreen : public UIDialogScreenWithGameBackground { PauseScreenMode mode_ = PauseScreenMode::MAIN; UI::Button *playButton_ = nullptr; + std::string gameID_; };