diff --git a/data/com.github.tkashkin.gamehub.gschema.xml b/data/com.github.tkashkin.gamehub.gschema.xml index 876fd6bb..4aa84262 100644 --- a/data/com.github.tkashkin.gamehub.gschema.xml +++ b/data/com.github.tkashkin.gamehub.gschema.xml @@ -341,4 +341,12 @@ Preferred description source + + + + + [] + Global tweaks list + + diff --git a/data/meson.build b/data/meson.build index 72b2dc2f..d10d6de9 100644 --- a/data/meson.build +++ b/data/meson.build @@ -19,6 +19,7 @@ install_data( ) install_subdir('share/compat', install_dir: join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())) +install_subdir('share/tweaks', install_dir: join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())) i18n.merge_file( input: meson.project_name() + '.desktop.in', diff --git a/data/share/tweaks/gamemode.json b/data/share/tweaks/gamemode.json new file mode 100644 index 00000000..92e85a2c --- /dev/null +++ b/data/share/tweaks/gamemode.json @@ -0,0 +1,7 @@ +{ + "id": "gamemode", + "name": "Feral GameMode", + "description": "Temporarily apply a set of optimizations to a game process and OS. Requires Feral GameMode to be installed", + "url": "https://github.com/FeralInteractive/gamemode", + "command": "gamemoderun ${command}" +} diff --git a/data/share/tweaks/proton.json b/data/share/tweaks/proton.json new file mode 100644 index 00000000..76d4b1fa --- /dev/null +++ b/data/share/tweaks/proton.json @@ -0,0 +1,67 @@ +[ + { + "id": "dx_dxvk_hud", + "name": "DXVK: Show HUD", + "description": "Enable DXVK HUD", + "url": "https://github.com/doitsujin/dxvk#hud", + "applicable_to": { + "platforms": ["windows"], + "compat": ["wine", "proton"] + }, + "env": { + "DXVK_HUD": "devinfo,fps" + } + }, + { + "id": "proton_dx_d9vk", + "name": "Proton: Use D9VK", + "description": "Use Vulkan-based D9VK instead of OpenGL-based WineD3D for D3D9", + "url": "https://github.com/ValveSoftware/Proton#runtime-config-options", + "applicable_to": { + "platforms": ["windows"], + "compat": ["proton"] + }, + "env": { + "PROTON_USE_D9VK": "1" + } + }, + { + "id": "proton_dx_wined3d", + "name": "Proton: Use WineD3D", + "description": "Use OpenGL-based WineD3D for D3D11 and D3D10 instead of Vulkan-based DXVK", + "url": "https://github.com/ValveSoftware/Proton#runtime-config-options", + "applicable_to": { + "platforms": ["windows"], + "compat": ["proton"] + }, + "env": { + "PROTON_USE_WINED3D": "1" + } + }, + { + "id": "proton_no_esync", + "name": "Proton: Disable esync", + "description": "Disable eventfd-based in-process synchronization primitives", + "url": "https://github.com/ValveSoftware/Proton#runtime-config-options", + "applicable_to": { + "platforms": ["windows"], + "compat": ["proton"] + }, + "env": { + "PROTON_NO_ESYNC": "1" + } + }, + { + "id": "proton_no_fsync", + "name": "Proton: Disable fsync", + "description": "Disable futex-based in-process synchronization primitives", + "url": "https://github.com/ValveSoftware/Proton#runtime-config-options", + "applicable_to": { + "platforms": ["windows"], + "compat": ["proton"] + }, + "env": { + "PROTON_NO_FSYNC": "1" + } + } +] diff --git a/po/POTFILES b/po/POTFILES index aa71a430..f737a4b4 100644 --- a/po/POTFILES +++ b/po/POTFILES @@ -53,6 +53,8 @@ src/data/providers/images/SteamGridDB.vala src/data/providers/images/JinxSGVI.vala src/data/providers/data/IGDB.vala +src/data/tweaks/Tweak.vala + src/ui/windows/MainWindow.vala src/ui/windows/WebAuthWindow.vala @@ -63,6 +65,7 @@ src/ui/dialogs/SettingsDialog/pages/ui/Appearance.vala src/ui/dialogs/SettingsDialog/pages/ui/Behavior.vala src/ui/dialogs/SettingsDialog/pages/general/Collection.vala src/ui/dialogs/SettingsDialog/pages/general/Controller.vala +src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala src/ui/dialogs/SettingsDialog/pages/sources/GOG.vala src/ui/dialogs/SettingsDialog/pages/sources/Humble.vala @@ -79,6 +82,7 @@ src/ui/dialogs/GameFSOverlaysDialog.vala src/ui/dialogs/CompatRunDialog.vala src/ui/dialogs/CorruptedInstallerDialog.vala src/ui/dialogs/ImportEmulatedGamesDialog.vala +src/ui/dialogs/GameTweaksDialog.vala src/ui/views/BaseView.vala src/ui/views/WelcomeView.vala @@ -119,6 +123,7 @@ src/ui/widgets/ModeButton.vala src/ui/widgets/OverlayBar.vala src/ui/widgets/Welcome.vala src/ui/widgets/SettingsSidebar.vala +src/ui/widgets/TweaksList.vala src/utils/Utils.vala src/utils/ImageCache.vala @@ -134,6 +139,7 @@ src/settings/Auth.vala src/settings/Compat.vala src/settings/Providers.vala src/settings/Controller.vala +src/settings/Tweaks.vala src/utils/downloader/Downloader.vala src/utils/downloader/SoupDownloader.vala diff --git a/po/ar.po b/po/ar.po index 7959a6e9..56275f1e 100644 --- a/po/ar.po +++ b/po/ar.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-10-19 08:53+0000\n" "Last-Translator: abidin toumi \n" "Language-Team: Arabic =11 ? 4 : 5;\n" "X-Generator: Weblate 3.9.1-dev\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "عرض التعليمات" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "عرض اصدار التطبيق والخروج" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "أعد التشغيل بإرفاق منقح GDB" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "عرض النافذة الرئيسية" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "اعرض اعدادات التطبيق" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "أظهر نافذة حول" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "العدد الاقصى للخيوط" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "شغل اللعبة" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "اعرض اعدادات التوافق" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "اعرض معلومات اللعبة" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "افتح خصائص اللعبة" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" msgstr "سجل عملية المصادقة والمعلومات الحساسة مثل رموز المصادقة" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "عطل فلترت رسائل السجل" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "خيارات اللعبة:" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "اعرض التعليمات لخيارت اللعبة" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "خيارات الولوج:" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "اعرض التعليمات لخيارات الولوج" @@ -186,52 +186,52 @@ msgctxt "platform" msgid "Emulated" msgstr "مُحاكى" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "يشتغل" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "مثبت" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "تثبيت" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "التحقق من صحة المثبت" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "بدأ التحميل" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "لم تثبت" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "تم التثيت" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "تثبيت" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "يحمل" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "لم يثبت" @@ -253,12 +253,12 @@ msgstr "" "لم يُعثر على ملف اعدادات ستيم.\n" "سجل دخولك في عميل ستيم ثم عد الى GameHub" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "%s: المثبت غير متوفر" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -314,11 +314,11 @@ msgctxt "tag" msgid "Hidden" msgstr "مخفي" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "عدل البرنامج النصي" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "عدل برنامج نصي مخصص" @@ -344,8 +344,8 @@ msgstr "شغل" msgid "Show WineWrap menu" msgstr "" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "" @@ -353,60 +353,19 @@ msgstr "" msgid "Proton prefix" msgstr "" -#: src/data/compat/Proton.vala:53 -msgid "Disable esync" -msgstr "عطل esync" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "عطل طبقة توافق DirectX 11" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "استخدم WineD3D11 كطبقة توافق DirectX 11" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "" - -#: src/data/compat/Proton.vala:58 -#, fuzzy -msgid "Enable DirectX 9 compatibility layer" -msgstr "عطل طبقة توافق DirectX 11" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "تثبيت صامت" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "تثبيت اكثر صمتاَ" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "بدون واجهة" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "شغل اعدادات wine" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "شَغِّل winetricks" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "شغل مدير المهام" @@ -809,6 +768,32 @@ msgstr "غادر" msgid "Disabled" msgstr "مٌعطل" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "مصادر اللعبة" @@ -856,6 +841,7 @@ msgstr "موثق" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "ثبت" @@ -1257,6 +1243,11 @@ msgstr "" msgid "Select directory to import" msgstr "" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "" @@ -1421,7 +1412,7 @@ msgid "Sort" msgstr "" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "" @@ -1481,7 +1472,7 @@ msgstr "" msgid "Uninstall" msgstr "" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "" @@ -1712,23 +1703,32 @@ msgstr "" msgid "Configure" msgstr "" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "عدل البرنامج النصي" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%ds" @@ -1823,3 +1823,25 @@ msgstr "" msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "" + +#~ msgid "Disable esync" +#~ msgstr "عطل esync" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "عطل طبقة توافق DirectX 11" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "استخدم WineD3D11 كطبقة توافق DirectX 11" + +#, fuzzy +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "عطل طبقة توافق DirectX 11" + +#~ msgid "Silent installation" +#~ msgstr "تثبيت صامت" + +#~ msgid "Very silent installation" +#~ msgstr "تثبيت اكثر صمتاَ" + +#~ msgid "No GUI" +#~ msgstr "بدون واجهة" diff --git a/po/ca.po b/po/ca.po index 18f709f0..e9c96a02 100644 --- a/po/ca.po +++ b/po/ca.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-12-31 12:21+0000\n" "Last-Translator: Marc Riera \n" "Language-Team: Catalan %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "Orígens de jocs" @@ -857,6 +843,7 @@ msgstr "Autenticat" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Instal·la" @@ -1266,6 +1253,11 @@ msgstr "Selecciona-ho tot" msgid "Select directory to import" msgstr "Seleccioneu un directori per a importar-lo" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, fuzzy, c-format +msgid "%s: Tweaks" +msgstr "%s: Capes" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "No hi ha cap origen de jocs habilitat" @@ -1429,7 +1421,7 @@ msgid "Sort" msgstr "Ordena" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Etiquetes" @@ -1489,7 +1481,7 @@ msgstr "Obre el directori de captures de pantalla" msgid "Uninstall" msgstr "Desinstal·la" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Propietats" @@ -1698,23 +1690,32 @@ msgstr "Capa de compatibilitat:" msgid "Configure" msgstr "Configura" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Afegeix una etiqueta" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Seleccioneu un fitxer" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%d h" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%d min" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%ds" @@ -1808,3 +1809,34 @@ msgstr "S'ha cancel·lat la baixada" msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "%1$d%% (%2$s / %3$s) [%4$s/s]" + +#~ msgid "Disable esync" +#~ msgstr "Inhabilita l'esync" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "Força el senyalador LARGE_ADDRESS_AWARE" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "Inhabilita la capa de compatibilitat amb el DirectX 11" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "" +#~ "Utilitza el WineD3D11 com a capa de compatibilitat amb el DirectX 11" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "Superposa la informació del DXVK" + +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "Habilita la capa de compatibilitat amb el DirectX 9" + +#~ msgid "Silent installation" +#~ msgstr "Instal·lació silenciosa" + +#~ msgid "Very silent installation" +#~ msgstr "Instal·lació molt silenciosa" + +#~ msgid "Suppress messages" +#~ msgstr "Suprimeix els missatges" + +#~ msgid "No GUI" +#~ msgstr "Sense GUI" diff --git a/po/com.github.tkashkin.gamehub.pot b/po/com.github.tkashkin.gamehub.pot index 90d625dc..fd6a0ca0 100644 --- a/po/com.github.tkashkin.gamehub.pot +++ b/po/com.github.tkashkin.gamehub.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,97 +18,97 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" msgstr "" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "" @@ -181,52 +181,52 @@ msgctxt "platform" msgid "Emulated" msgstr "" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "" @@ -246,12 +246,12 @@ msgid "" "Login into your account in Steam client and return to GameHub" msgstr "" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -305,11 +305,11 @@ msgctxt "tag" msgid "Hidden" msgstr "" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "" @@ -333,8 +333,8 @@ msgstr "" msgid "Show WineWrap menu" msgstr "" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "" @@ -342,59 +342,19 @@ msgstr "" msgid "Proton prefix" msgstr "" -#: src/data/compat/Proton.vala:53 -msgid "Disable esync" -msgstr "" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "" - -#: src/data/compat/Proton.vala:58 -msgid "Enable DirectX 9 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "" @@ -795,6 +755,32 @@ msgstr "" msgid "Disabled" msgstr "" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "" @@ -842,6 +828,7 @@ msgstr "" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "" @@ -1234,6 +1221,11 @@ msgstr "" msgid "Select directory to import" msgstr "" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "" @@ -1394,7 +1386,7 @@ msgid "Sort" msgstr "" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "" @@ -1454,7 +1446,7 @@ msgstr "" msgid "Uninstall" msgstr "" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "" @@ -1657,23 +1649,31 @@ msgstr "" msgid "Configure" msgstr "" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +msgid "Edit file" +msgstr "" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%ds" diff --git a/po/de.po b/po/de.po index 7d1277b2..6451eac0 100644 --- a/po/de.po +++ b/po/de.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-09-18 18:27+0000\n" "Last-Translator: tinect \n" "Language-Team: German %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "Spielquellen" @@ -878,6 +863,7 @@ msgstr "Authentifiziert" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Installieren" @@ -1291,6 +1277,11 @@ msgstr "Installationsprogramm auswählen" msgid "Select directory to import" msgstr "Ordner auswählen" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, fuzzy, c-format +msgid "%s: Tweaks" +msgstr "%s: Overlays" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Keine aktivierten Spielquellen" @@ -1458,7 +1449,7 @@ msgid "Sort" msgstr "Sortieren:" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Tags" @@ -1521,7 +1512,7 @@ msgstr "Präfixverzeichnis öffnen" msgid "Uninstall" msgstr "Deinstallieren" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Eigenschaften" @@ -1727,23 +1718,33 @@ msgstr "Kompatibilitätsschicht:" msgid "Configure" msgstr "Konfigurieren" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Tag hinzufügen" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +#, fuzzy +msgid "No description" +msgstr "Beschreibung" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Datei auswählen" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%d h" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%d m" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%ds" @@ -1840,8 +1841,36 @@ msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "Herunterladen: %d %% (%s / %s) [%s/s]" -#~ msgid "Description" -#~ msgstr "Beschreibung" +#~ msgid "Disable esync" +#~ msgstr "esync deaktivieren" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "LARGE_ADDRESS_AWARE-Flag erzwingen" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "DirectX11-Kompatibilitätsschicht deaktivieren" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "WineD3D11 als Kompatibilitätsschicht für DirectX 11 verwenden" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "DXVK-Info-Overlay anzeigen" + +#, fuzzy +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "DirectX11-Kompatibilitätsschicht deaktivieren" + +#~ msgid "Silent installation" +#~ msgstr "Stille Installation" + +#~ msgid "Very silent installation" +#~ msgstr "Sehr stille Installation" + +#~ msgid "Suppress messages" +#~ msgstr "Nachrichten unterdrücken" + +#~ msgid "No GUI" +#~ msgstr "Kein GUI" #~ msgid "Disable fullscreen" #~ msgstr "Vollbild deaktivieren" diff --git a/po/el.po b/po/el.po index 0612f5a8..acec4201 100644 --- a/po/el.po +++ b/po/el.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -16,97 +16,97 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" msgstr "" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "" @@ -179,52 +179,52 @@ msgctxt "platform" msgid "Emulated" msgstr "" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "" @@ -244,12 +244,12 @@ msgid "" "Login into your account in Steam client and return to GameHub" msgstr "" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -303,11 +303,11 @@ msgctxt "tag" msgid "Hidden" msgstr "" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "" @@ -331,8 +331,8 @@ msgstr "" msgid "Show WineWrap menu" msgstr "" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "" @@ -340,59 +340,19 @@ msgstr "" msgid "Proton prefix" msgstr "" -#: src/data/compat/Proton.vala:53 -msgid "Disable esync" -msgstr "" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "" - -#: src/data/compat/Proton.vala:58 -msgid "Enable DirectX 9 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "" @@ -793,6 +753,32 @@ msgstr "" msgid "Disabled" msgstr "" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "" @@ -840,6 +826,7 @@ msgstr "" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "" @@ -1232,6 +1219,11 @@ msgstr "" msgid "Select directory to import" msgstr "" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "" @@ -1392,7 +1384,7 @@ msgid "Sort" msgstr "" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "" @@ -1452,7 +1444,7 @@ msgstr "" msgid "Uninstall" msgstr "" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "" @@ -1655,23 +1647,31 @@ msgstr "" msgid "Configure" msgstr "" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +msgid "Edit file" +msgstr "" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%ds" diff --git a/po/es_MX.po b/po/es_MX.po index 41865b0c..71149cee 100644 --- a/po/es_MX.po +++ b/po/es_MX.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-11-19 07:04+0000\n" "Last-Translator: juliomorales98 \n" "Language-Team: Spanish (Mexico) %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "Fuentes de juegos" @@ -877,6 +859,7 @@ msgstr "Autenticado" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Instalar" @@ -1280,6 +1263,11 @@ msgstr "Seleccionar todo" msgid "Select directory to import" msgstr "Seleccionar directorio a importar" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Sin fuentes de juegos habilitadas" @@ -1449,7 +1437,7 @@ msgid "Sort" msgstr "Ordenar" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Etiquetas" @@ -1509,7 +1497,7 @@ msgstr "Abrir directorio de capturas de pantalla" msgid "Uninstall" msgstr "Desinstalar" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Propiedades" @@ -1730,23 +1718,32 @@ msgstr "Capa de compatibilidad:" msgid "Configure" msgstr "Configurar" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Añadir etiqueta" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Seleccionar archivo" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%dh" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%dm" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%ds" @@ -1843,3 +1840,31 @@ msgstr "Descarga cancelada" msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "Descargando: %d%% (%s / %s) [%s/s]" + +#, fuzzy +#~ msgid "Disable esync" +#~ msgstr "Deshabilitar esync" + +#, fuzzy +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "Forzar bandera LARGE_ADDRESS_AWARE" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "Deshabilitar capa de compatibilidad con DirectX 11" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "Usar WineD3D11 como capa de compatibilidad de DirectX 11" + +#, fuzzy +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "Deshabilitar capa de compatibilidad con DirectX 11" + +#~ msgid "Silent installation" +#~ msgstr "Instalación silenciosa" + +#, fuzzy +#~ msgid "Very silent installation" +#~ msgstr "Instalación muy silenciosa" + +#~ msgid "No GUI" +#~ msgstr "Sin GUI" diff --git a/po/fa.po b/po/fa.po index a7a19cc8..fca33f97 100644 --- a/po/fa.po +++ b/po/fa.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-08-03 20:23+0000\n" "Last-Translator: Goudarz Jafari \n" "Language-Team: Persian 1;\n" "X-Generator: Weblate 3.8-dev\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "نمایش راهنما" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "نمایش نسخه برنامه و خروج" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "نمایش پنجره اصلی" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "اجرای بازی" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "جزئیات بازی را باز کن" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" msgstr "" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "تنظیمات بازی:" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "نمایش راهنمای تنظیمات بازی" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "" @@ -181,52 +181,52 @@ msgctxt "platform" msgid "Emulated" msgstr "" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "در حال اجرا" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "نصب شده" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "در حال نصب" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "دانلود شروع شد" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "نصب نشد" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "نصب شده" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "در حال نصب" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "در حال دانلود" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "نصب نشد" @@ -248,12 +248,12 @@ msgstr "" "پرونده پیکربندی استیم یافت نشد.\n" "وارد حساب کاربری خود در استیم کلاینت شوید و به GameHub بازگردید" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -307,11 +307,11 @@ msgctxt "tag" msgid "Hidden" msgstr "" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "ویرایش اسکریپت" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "ویرایش اسکریپت سفارشی" @@ -335,8 +335,8 @@ msgstr "اجرا" msgid "Show WineWrap menu" msgstr "نمایش منوی WineWrap" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "" @@ -344,59 +344,19 @@ msgstr "" msgid "Proton prefix" msgstr "" -#: src/data/compat/Proton.vala:53 -msgid "Disable esync" -msgstr "" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "" - -#: src/data/compat/Proton.vala:58 -msgid "Enable DirectX 9 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "" @@ -798,6 +758,32 @@ msgstr "" msgid "Disabled" msgstr "" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "" @@ -845,6 +831,7 @@ msgstr "" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "" @@ -1237,6 +1224,11 @@ msgstr "" msgid "Select directory to import" msgstr "" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "" @@ -1397,7 +1389,7 @@ msgid "Sort" msgstr "" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "" @@ -1457,7 +1449,7 @@ msgstr "" msgid "Uninstall" msgstr "" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "" @@ -1660,23 +1652,32 @@ msgstr "" msgid "Configure" msgstr "" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "ویرایش اسکریپت" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%ds" diff --git a/po/fi.po b/po/fi.po index 9c2b122c..74f797fd 100644 --- a/po/fi.po +++ b/po/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-11-24 10:39+0000\n" "Last-Translator: Tuomas Lähteenmäki \n" "Language-Team: Finnish %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "Pelilähteet" @@ -859,6 +844,7 @@ msgstr "Todennettu" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Asenna" @@ -1268,6 +1254,11 @@ msgstr "Valitse kaikki" msgid "Select directory to import" msgstr "Valitse tuotava hakemisto" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, fuzzy, c-format +msgid "%s: Tweaks" +msgstr "%s: Päällekkäiskuvat" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Ei pelilähteitä käytössä" @@ -1430,7 +1421,7 @@ msgid "Sort" msgstr "Lajittele" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Tunnisteet" @@ -1490,7 +1481,7 @@ msgstr "Avaa kuvakaappaus hakemisto" msgid "Uninstall" msgstr "Poista" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Ominaisuudet" @@ -1699,23 +1690,32 @@ msgstr "Yhteensopivuuskerros:" msgid "Configure" msgstr "Määritä" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Lisää tagi" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Valitse tiedosto" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%dt" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%dkk" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%ds" @@ -1811,3 +1811,34 @@ msgstr "Lataus peruutettu" msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "Ladataan: %d%% (%s / %s) [%s/s]" + +#~ msgid "Disable esync" +#~ msgstr "Poista esync käytöstä" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "Pakota LARGE_ADDRESS_AWARE lippu" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "Poista DirectX 11 -yhteensopivuustaso käytöstä" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "Käytä WineD3D11:sta DirectX 11 -yhteensopivuustason sijaan" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "Näytä DXVK infon yleiskerros" + +#, fuzzy +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "Poista DirectX 11 -yhteensopivuustaso käytöstä" + +#~ msgid "Silent installation" +#~ msgstr "Hiljainen asennus" + +#~ msgid "Very silent installation" +#~ msgstr "Erittäin hiljainen asennus" + +#~ msgid "Suppress messages" +#~ msgstr "Tukahduta viestit" + +#~ msgid "No GUI" +#~ msgstr "Ei GUI:ta" diff --git a/po/fr.po b/po/fr.po index 3ec15ebf..3f1dc783 100644 --- a/po/fr.po +++ b/po/fr.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-12-31 12:21+0000\n" "Last-Translator: Nathan \n" "Language-Team: French 1;\n" "X-Generator: Weblate 3.10\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "Afficher l'aide" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "Afficher la version de l'application et quitter" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "Redémarrer avec le débogueur GDB attaché" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "Afficher l'intégralité de la trace d'appels de GDB" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "Traiter les erreurs fatales comme critiques et fermer l’application" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "Afficher la fenêtre principale" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "Afficher les paramètres de l'application" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "À propos de Gamehub" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "Nombre maximal de tâches d’arrière-plan" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "Lancer le jeu" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "Ouvrir les options de compatibilité" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "Ouvrir les détails du jeu" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "Ouvrir les propriétés du jeu" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "Activer la journalisation du débogage" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" @@ -86,35 +86,35 @@ msgstr "" "Journaliser le processus d'authentification et des informations sensibles " "comme les clés d'authentification" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "Journaliser le gestionnaire de téléchargement" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "Journaliser les démarrages et arrêts des tâches d'arrière-plan" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "Désactiver le filtrage des messages du journal" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "Journalisation détaillée" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "Options de jeu :" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "Afficher l’aide pour les options de jeu" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "Options de journalisation :" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "Afficher l’aide pour les options de journalisation" @@ -189,52 +189,52 @@ msgctxt "platform" msgid "Emulated" msgstr "Émulé" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "En exécution" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "Installé" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "En cours d'installation" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "Vérification de l'intégrité de l'installateur" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "Téléchargement commencé" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "Non installé" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "Installé" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "En cours d'installation" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "En cours de téléchargement" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "Non installé" @@ -256,12 +256,12 @@ msgstr "" "Fichier de configuration Steam introuvable.\n" "Connectez-vous sur votre compte dans le client Steam et revenez dans GameHub" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "%s : aucun installateur disponible" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -317,11 +317,11 @@ msgctxt "tag" msgid "Hidden" msgstr "Caché" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "Modifier le script" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "Modifier le script personnalisé" @@ -348,8 +348,8 @@ msgstr "Lancer" msgid "Show WineWrap menu" msgstr "Afficher le menu WineWrap" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "Arrêter les applications dans prefix" @@ -357,59 +357,19 @@ msgstr "Arrêter les applications dans prefix" msgid "Proton prefix" msgstr "Préfixe de Proton" -#: src/data/compat/Proton.vala:53 -msgid "Disable esync" -msgstr "Désactiver esync" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "Forcer LARGE_ADDRESS_AWARE" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "Désactiver la couche de compatibilité pour DirectX 11" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "Utiliser WineD3D11 comme couche de compatibilité pour DirectX 11" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "Afficher les infos DXVK en surimpression" - -#: src/data/compat/Proton.vala:58 -msgid "Enable DirectX 9 compatibility layer" -msgstr "Activer la couche de compatibilité pour DirectX 9" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "Installation silencieuse" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "Installation très silencieuse" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "Supprimer les messages" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "Pas d'interface graphique" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "Ouvrir le dossier prefix" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "Lancer winecfg" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "Lancer winetricks" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "Lancer taskmgr" @@ -817,6 +777,32 @@ msgstr "Quitter" msgid "Disabled" msgstr "Désactivé" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "Sources des jeux" @@ -864,6 +850,7 @@ msgstr "Authentifié" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Installer" @@ -1273,6 +1260,11 @@ msgstr "Tout sélectionner" msgid "Select directory to import" msgstr "Sélectionner le dossier à importer" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, fuzzy, c-format +msgid "%s: Tweaks" +msgstr "%s : superpositions" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Pas de source de jeu activée" @@ -1435,7 +1427,7 @@ msgid "Sort" msgstr "Trier" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Étiquettes" @@ -1495,7 +1487,7 @@ msgstr "Ouvrir le dossier des captures d'écran" msgid "Uninstall" msgstr "Désinstaller" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Propriétés" @@ -1704,23 +1696,32 @@ msgstr "Couche de compatibilité :" msgid "Configure" msgstr "Configurer" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Ajouter une étiquette" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Sélectionner le fichier" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%dh" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%dm" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%ds" @@ -1815,6 +1816,36 @@ msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "%1$d%% (%2$s / %3$s) [%4$s/s]" +#~ msgid "Disable esync" +#~ msgstr "Désactiver esync" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "Forcer LARGE_ADDRESS_AWARE" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "Désactiver la couche de compatibilité pour DirectX 11" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "Utiliser WineD3D11 comme couche de compatibilité pour DirectX 11" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "Afficher les infos DXVK en surimpression" + +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "Activer la couche de compatibilité pour DirectX 9" + +#~ msgid "Silent installation" +#~ msgstr "Installation silencieuse" + +#~ msgid "Very silent installation" +#~ msgstr "Installation très silencieuse" + +#~ msgid "Suppress messages" +#~ msgstr "Supprimer les messages" + +#~ msgid "No GUI" +#~ msgstr "Pas d'interface graphique" + #~ msgid "Disable fullscreen" #~ msgstr "Désactiver le plein écran" diff --git a/po/hi.po b/po/hi.po index 38182246..38c78e53 100644 --- a/po/hi.po +++ b/po/hi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -16,97 +16,97 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" msgstr "" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "" @@ -179,52 +179,52 @@ msgctxt "platform" msgid "Emulated" msgstr "" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "" @@ -244,12 +244,12 @@ msgid "" "Login into your account in Steam client and return to GameHub" msgstr "" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -303,11 +303,11 @@ msgctxt "tag" msgid "Hidden" msgstr "" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "" @@ -331,8 +331,8 @@ msgstr "" msgid "Show WineWrap menu" msgstr "" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "" @@ -340,59 +340,19 @@ msgstr "" msgid "Proton prefix" msgstr "" -#: src/data/compat/Proton.vala:53 -msgid "Disable esync" -msgstr "" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "" - -#: src/data/compat/Proton.vala:58 -msgid "Enable DirectX 9 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "" @@ -793,6 +753,32 @@ msgstr "" msgid "Disabled" msgstr "" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "" @@ -840,6 +826,7 @@ msgstr "" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "" @@ -1232,6 +1219,11 @@ msgstr "" msgid "Select directory to import" msgstr "" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "" @@ -1392,7 +1384,7 @@ msgid "Sort" msgstr "" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "" @@ -1452,7 +1444,7 @@ msgstr "" msgid "Uninstall" msgstr "" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "" @@ -1655,23 +1647,31 @@ msgstr "" msgid "Configure" msgstr "" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +msgid "Edit file" +msgstr "" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%ds" diff --git a/po/id.po b/po/id.po index eb654a90..2703fc52 100644 --- a/po/id.po +++ b/po/id.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-10-10 22:04+0000\n" "Last-Translator: ekickx \n" "Language-Team: Indonesian %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 #, fuzzy msgid "Game sources" @@ -881,6 +866,7 @@ msgstr "Mengautentikasi..." #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Pasang" @@ -1299,6 +1285,11 @@ msgstr "Pilih berkas" msgid "Select directory to import" msgstr "Pilih direktori" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Tidak ada sumber permainan yang diaktifkan" @@ -1466,7 +1457,7 @@ msgid "Sort" msgstr "Sortir:" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Tanda" @@ -1530,7 +1521,7 @@ msgstr "Buka direktori prefiks" msgid "Uninstall" msgstr "Copot pemasangan" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Properti" @@ -1729,23 +1720,33 @@ msgstr "Lapisan kompatibilitas:" msgid "Configure" msgstr "" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Tambahkan tanda" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +#, fuzzy +msgid "No description" +msgstr "Deskripsi" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Pilih berkas" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%d j" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%d m" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%ds" @@ -1842,8 +1843,33 @@ msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "Mengunduh: %d%% (%s / %s) [%s/s]" -#~ msgid "Description" -#~ msgstr "Deskripsi" +#~ msgid "Disable esync" +#~ msgstr "Nonaktifkan esync" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "Nonaktifkan lapisan kompatibilitas DirectX 11" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "Gunakan WineD3D11 sebagai lapisan kompatibilitas DirectX 11" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "Tampilkan info overlay DXVK" + +#, fuzzy +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "Nonaktifkan lapisan kompatibilitas DirectX 11" + +#~ msgid "Silent installation" +#~ msgstr "Pemasangan senyap" + +#~ msgid "Very silent installation" +#~ msgstr "Pemasangan sangat senyap" + +#~ msgid "Suppress messages" +#~ msgstr "Menekan pesan" + +#~ msgid "No GUI" +#~ msgstr "Tidak ada GUI" #~ msgid "Disable fullscreen" #~ msgstr "Nonaktifkan layar penuh" diff --git a/po/it.po b/po/it.po index 6c657273..97b2d1e8 100644 --- a/po/it.po +++ b/po/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-11-25 09:22+0000\n" "Last-Translator: Mirko Brombin \n" "Language-Team: Italian 1;\n" "X-Generator: Weblate 3.10-dev\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "Mostra aiuto" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "Mostra versione e chiudi" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "Riavvia con il debugger GDB collegato" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "Mostra backtrace GDB completo" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "Tratta gli errori fatali come critici e l'applicazione di crash" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "Mostra finestra principale" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "Mostra impostazioni" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "Mostra informazioni" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "Numero massimo di worker thread in background" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "Avvia gioco" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "Mostra la finestra di dialogo delle opzioni di compatibilità" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "Apri dettagli gioco" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "Apri proprietà gioco" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "Abita log debug" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" @@ -82,35 +82,35 @@ msgstr "" "Registra il processo di autenticazione e informazioni sensibili come i token " "di autenticazione" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "Log del download manager" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "Registra inizio/fine worker in background" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "Disattiva il filtro del log" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "Registrazione dettagliata" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "Opzioni Gioco:" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "Mostra aiuto opzioni gioco" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "Opzioni Log:" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "Mostra aiuto nelle opzioni log" @@ -186,52 +186,52 @@ msgctxt "platform" msgid "Emulated" msgstr "Emulato" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "In esecuzione" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "Installato" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "Installando" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "Verificando l'integrità dell'installer" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "Download iniziato" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "Non installato" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "Installato" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "Installando" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "Scaricando" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "Non installato" @@ -253,12 +253,12 @@ msgstr "" "File di configurazione di Steam non trovato.\n" "Accedi al tuo account nel client Steam e torna a GameHub" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "%s : nessun installer disponibile" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -314,11 +314,11 @@ msgctxt "tag" msgid "Hidden" msgstr "Nascosto" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "Modifica script" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "Modifica script personalizzato" @@ -345,8 +345,8 @@ msgstr "Avvia" msgid "Show WineWrap menu" msgstr "Monstra menu WineWrap" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "Termina applicazioni nel prefisso" @@ -354,60 +354,19 @@ msgstr "Termina applicazioni nel prefisso" msgid "Proton prefix" msgstr "Prefisso Proton" -#: src/data/compat/Proton.vala:53 -msgid "Disable esync" -msgstr "Disabilita esync" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "Forza la flag LARGE_ADDRESS_AWARE" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "Disattiva il livello di compatibilità per DirectX 11" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "Utilizza WineD3D11 come livello di compatibilità per DirectX 11" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "Mostra le informazioni DXVK su schermo" - -#: src/data/compat/Proton.vala:58 -#, fuzzy -msgid "Enable DirectX 9 compatibility layer" -msgstr "Disattiva il livello di compatibilità per DirectX 11" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "Installazione silenziosa" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "Vera installazione silenziosa" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "Sopprimi messaggi" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "Nessuna GUI" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "Apri la posizione del prefisso" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "Avvia winecfg" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "Avvia winetricks" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "Avvia taskmgr" @@ -813,6 +772,32 @@ msgstr "Chiudi" msgid "Disabled" msgstr "Disattivato" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "Sorgenti gioco" @@ -860,6 +845,7 @@ msgstr "Autenticato" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Installa" @@ -1268,6 +1254,11 @@ msgstr "Seleziona tutto" msgid "Select directory to import" msgstr "Selezione posizione da importare" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, fuzzy, c-format +msgid "%s: Tweaks" +msgstr "%s : Sovrapposizioni" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Nessun sorgente di gioco abilitato" @@ -1431,7 +1422,7 @@ msgid "Sort" msgstr "Ordina" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Tags" @@ -1491,7 +1482,7 @@ msgstr "Apri posizione screenshosts" msgid "Uninstall" msgstr "Disinstalla" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Proprietà" @@ -1700,23 +1691,32 @@ msgstr "Livello di compatibilità:" msgid "Configure" msgstr "Configura" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Aggiungi tag" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Seleziona file" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%dh" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%dm" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%ds" @@ -1813,6 +1813,37 @@ msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "Scaricando: %d%% (%s / %s) [%s/s]" +#~ msgid "Disable esync" +#~ msgstr "Disabilita esync" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "Forza la flag LARGE_ADDRESS_AWARE" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "Disattiva il livello di compatibilità per DirectX 11" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "Utilizza WineD3D11 come livello di compatibilità per DirectX 11" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "Mostra le informazioni DXVK su schermo" + +#, fuzzy +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "Disattiva il livello di compatibilità per DirectX 11" + +#~ msgid "Silent installation" +#~ msgstr "Installazione silenziosa" + +#~ msgid "Very silent installation" +#~ msgstr "Vera installazione silenziosa" + +#~ msgid "Suppress messages" +#~ msgstr "Sopprimi messaggi" + +#~ msgid "No GUI" +#~ msgstr "Nessuna GUI" + #~ msgid "Disable fullscreen" #~ msgstr "Disattiva fullscreen" diff --git a/po/ko.po b/po/ko.po index ddd8bd9e..396153a4 100644 --- a/po/ko.po +++ b/po/ko.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -16,97 +16,97 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" msgstr "" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "" @@ -179,52 +179,52 @@ msgctxt "platform" msgid "Emulated" msgstr "" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "" @@ -244,12 +244,12 @@ msgid "" "Login into your account in Steam client and return to GameHub" msgstr "" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -303,11 +303,11 @@ msgctxt "tag" msgid "Hidden" msgstr "" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "" @@ -331,8 +331,8 @@ msgstr "" msgid "Show WineWrap menu" msgstr "" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "" @@ -340,59 +340,19 @@ msgstr "" msgid "Proton prefix" msgstr "" -#: src/data/compat/Proton.vala:53 -msgid "Disable esync" -msgstr "" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "" - -#: src/data/compat/Proton.vala:58 -msgid "Enable DirectX 9 compatibility layer" -msgstr "" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "" @@ -793,6 +753,32 @@ msgstr "" msgid "Disabled" msgstr "" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "" @@ -840,6 +826,7 @@ msgstr "" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "" @@ -1230,6 +1217,11 @@ msgstr "" msgid "Select directory to import" msgstr "" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "" @@ -1389,7 +1381,7 @@ msgid "Sort" msgstr "" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "" @@ -1449,7 +1441,7 @@ msgstr "" msgid "Uninstall" msgstr "" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "" @@ -1645,23 +1637,31 @@ msgstr "" msgid "Configure" msgstr "" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +msgid "Edit file" +msgstr "" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%ds" diff --git a/po/nb_NO.po b/po/nb_NO.po index 24bc09b4..e13eb15f 100644 --- a/po/nb_NO.po +++ b/po/nb_NO.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2020-01-04 12:21+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Norwegian Bokmål %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "Spillkilder" @@ -865,6 +850,7 @@ msgstr "Identitetsbekreftet" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Installer" @@ -1273,6 +1259,11 @@ msgstr "Velg alt" msgid "Select directory to import" msgstr "Velg mappe å importere" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, fuzzy, c-format +msgid "%s: Tweaks" +msgstr "%s: Overlag" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Ingen påskrudde spillkilder" @@ -1436,7 +1427,7 @@ msgid "Sort" msgstr "Sorter" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Etiketter" @@ -1496,7 +1487,7 @@ msgstr "Åpne skjermavbildningsmappe" msgid "Uninstall" msgstr "Avinstaller" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Egenskaper" @@ -1705,23 +1696,33 @@ msgstr "Kompabilitetslag:" msgid "Configure" msgstr "Sett opp" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Legg til etikett" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +#, fuzzy +msgid "No description" +msgstr "Beskrivelse" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Velg fil" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%dt" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%dm" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%ds" @@ -1818,8 +1819,36 @@ msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "Laster ned: %d%% (%s / %s) [%s/s]" -#~ msgid "Description" -#~ msgstr "Beskrivelse" +#~ msgid "Disable esync" +#~ msgstr "Skru av esync" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "Påtving LARGE_ADDRESS_AWARE-flagg" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "Skru av DirextX 11-kompabilitetslag" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "Bruk WineD3D11 som DirectX 11-kompabilitetslag" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "Vis DXVK-infooverlag" + +#, fuzzy +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "Skru av DirextX 11-kompabilitetslag" + +#~ msgid "Silent installation" +#~ msgstr "Stille installasjon" + +#~ msgid "Very silent installation" +#~ msgstr "Veldig stille installasjon" + +#~ msgid "Suppress messages" +#~ msgstr "Undertrykk meldinger" + +#~ msgid "No GUI" +#~ msgstr "Inget grensesnitt" #~ msgctxt "igdb" #~ msgid "%s on IGDB" diff --git a/po/nl.po b/po/nl.po index 83c865b8..e4bcabd0 100644 --- a/po/nl.po +++ b/po/nl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-28 07:48+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-12-29 13:05+0000\n" "Last-Translator: Heimen Stoffels \n" "Language-Team: Dutch %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "Spelbronnen" @@ -859,6 +845,7 @@ msgstr "Geacthenticeerd" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Installeren" @@ -1268,6 +1255,11 @@ msgstr "Alles selecteren" msgid "Select directory to import" msgstr "Kies de te importeren map" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, fuzzy, c-format +msgid "%s: Tweaks" +msgstr "%s: Overlays" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Geen spelbronnen ingeschakeld" @@ -1430,7 +1422,7 @@ msgid "Sort" msgstr "Sorteren" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Labels" @@ -1490,7 +1482,7 @@ msgstr "Schermafdrukmap openen" msgid "Uninstall" msgstr "Deïnstalleren" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Eigenschappen" @@ -1699,23 +1691,33 @@ msgstr "Comptabiliteit:" msgid "Configure" msgstr "Instellen" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Label toevoegen" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +#, fuzzy +msgid "No description" +msgstr "Omschrijving" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Kies bestand" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%du" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%dm" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%ds" @@ -1810,8 +1812,35 @@ msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "%1$d%% (%2$s / %3$s) [%4$s/s]" -#~ msgid "Description" -#~ msgstr "Omschrijving" +#~ msgid "Disable esync" +#~ msgstr "esync uitschakelen" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "LARE_ADDRESS_AWARE-functie afdwingen" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "DirectX 11-comptabiliteit uitschakelen" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "WineD3D11 gebruiken voor DirectX 11-comptabiliteit" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "DXVK-informatieoverlay tonen" + +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "DirectX 9-comptabiliteit inschakelen" + +#~ msgid "Silent installation" +#~ msgstr "Stille installatie" + +#~ msgid "Very silent installation" +#~ msgstr "Erg stille installatie" + +#~ msgid "Suppress messages" +#~ msgstr "Berichten onderdrukken" + +#~ msgid "No GUI" +#~ msgstr "Zonder grafisch venster" #~ msgctxt "igdb" #~ msgid "%s on IGDB" diff --git a/po/pl.po b/po/pl.po index b33f17ca..fd2ae7ad 100644 --- a/po/pl.po +++ b/po/pl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-06-07 16:03+0000\n" "Last-Translator: Antek Karaś \n" "Language-Team: Polish =20) ? 1 : 2;\n" "X-Generator: Weblate 3.7-dev\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "Pokaż pomoc" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "Pokaż wersję aplikacji i wyjdź" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "Zrestartuj z załączonym debuggerem GDB" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "Pokaż pełen log z GDB" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "Pokaż główne okno" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "Pokaż okno z ustawieniami aplikacji" -#: src/app.vala:100 +#: src/app.vala:101 #, fuzzy msgid "Show about dialog" msgstr "Pokaż okno opcji kompatybilności" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "Maksymalna liczba wątków działających w tle" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "Uruchom grę" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "Pokaż okno opcji kompatybilności" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "Otwórz szczegóły gry" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "Otwórz właściwości gry" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "Włącz rejestrowanie debugowania" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" @@ -86,35 +86,35 @@ msgstr "" "Rejestruj proces uwierzytelniania i informacji poufnych takich jak tokeny " "uwierzytelniania" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "Monitoruj menadżer pobierania" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "Rejestruj w tle zadania start/stop" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "Pełne rejestrowanie" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "Opcje gry:" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "Pokaż pomoc dla opcji gry" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "Opcje rejestrowania:" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "Pokaż pomoc dotyczącą opcji rejestrowania" @@ -190,52 +190,52 @@ msgctxt "platform" msgid "Emulated" msgstr "Emulator" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "Działa" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "Zainstalowany" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "Instalowanie" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "Weryfikowanie integralności instalatora" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "Pobieranie rozpoczęte" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "Nie zainstalowany" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "Zainstalowany" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "Instalowanie" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "Pobieranie" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "Nie zainstalowano" @@ -258,12 +258,12 @@ msgstr "" "Plik konfiguracji Steam nie znaleziony.\n" "Zaloguj się na swoje konto w kliencie Steam i powróć do GameHub" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "%s: niema dostępnych instalatorów" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -317,11 +317,11 @@ msgctxt "tag" msgid "Hidden" msgstr "Ukryty" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "Edycja skryptu" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "Edycja niestandardowego skryptu" @@ -345,8 +345,8 @@ msgstr "Uruchom" msgid "Show WineWrap menu" msgstr "Pokaż menu WineWrap" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "Zabij aplikacje w prefiksie" @@ -354,60 +354,19 @@ msgstr "Zabij aplikacje w prefiksie" msgid "Proton prefix" msgstr "Proton prefiks" -#: src/data/compat/Proton.vala:53 -msgid "Disable esync" -msgstr "Wyłącz esync" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "Wymuś LARGE_ADDRESS_AWARE flagę" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "Wyłącz warstwę kompatybilności z DirectX 11" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "Użyj WineD3D11 jako warstwy kompatybilności z DirectX 11" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "Pokaż nakładkę informacyjną DXVK" - -#: src/data/compat/Proton.vala:58 -#, fuzzy -msgid "Enable DirectX 9 compatibility layer" -msgstr "Wyłącz warstwę kompatybilności z DirectX 11" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "Cicha instalacja" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "Bardzo cicha instalacja" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "Ukryj wiadomości" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "Bez GUI" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "Otwórz katalog prefiksu" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "Uruchom winecfg" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "Uruchom winetricks" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "Uruchom taskmgr" @@ -826,6 +785,32 @@ msgstr "" msgid "Disabled" msgstr "Wyłącz esync" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 #, fuzzy msgid "Game sources" @@ -877,6 +862,7 @@ msgstr "Uwierzytelnianie..." #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Instaluj" @@ -1295,6 +1281,11 @@ msgstr "Wybierz instalator" msgid "Select directory to import" msgstr "Wybierz katalog" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, fuzzy, c-format +msgid "%s: Tweaks" +msgstr "%s: Nakładki" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Brak aktywnych źródeł gry" @@ -1461,7 +1452,7 @@ msgid "Sort" msgstr "Sortuj:" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Tagi" @@ -1524,7 +1515,7 @@ msgstr "Otwórz katalog prefiksu" msgid "Uninstall" msgstr "Odinstaluj" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Właściwości" @@ -1737,23 +1728,33 @@ msgstr "Warstwa kompatybilności:" msgid "Configure" msgstr "" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Dodaj tag" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +#, fuzzy +msgid "No description" +msgstr "Opis" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Wybierz pliki" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%dg" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%dm" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%ds" @@ -1850,8 +1851,36 @@ msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "Pobieranie: %d%% (%s / %s) [%s/s]" -#~ msgid "Description" -#~ msgstr "Opis" +#~ msgid "Disable esync" +#~ msgstr "Wyłącz esync" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "Wymuś LARGE_ADDRESS_AWARE flagę" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "Wyłącz warstwę kompatybilności z DirectX 11" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "Użyj WineD3D11 jako warstwy kompatybilności z DirectX 11" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "Pokaż nakładkę informacyjną DXVK" + +#, fuzzy +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "Wyłącz warstwę kompatybilności z DirectX 11" + +#~ msgid "Silent installation" +#~ msgstr "Cicha instalacja" + +#~ msgid "Very silent installation" +#~ msgstr "Bardzo cicha instalacja" + +#~ msgid "Suppress messages" +#~ msgstr "Ukryj wiadomości" + +#~ msgid "No GUI" +#~ msgstr "Bez GUI" #~ msgid "Disable fullscreen" #~ msgstr "Wyłącz pełen ekran" diff --git a/po/pt_BR.po b/po/pt_BR.po index 1b9f30da..168cd251 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-08-22 15:24+0000\n" "Last-Translator: Wilker Santana da Silva \n" "Language-Team: Portuguese (Brazil) 1;\n" "X-Generator: Weblate 3.9-dev\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "Mostrar ajuda" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "Mostrar versão do aplicativo e sair" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "Reiniciar com o depurador do GDB vinculado" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "Mostrar registro completo do GDB" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "Tratar erros fatais como críticos e fechar a aplicação" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "Mostrar janela principal" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "Mostrar diálogo de opções do aplicativo" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "Mostrar o dialogo de \"Sobre\"" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "Número máximo de threads em trabalho em segundo plano" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "Executar o jogo" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "Mostrar caixa de diálogo de opções de compatibilidade" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "Abrir detalhes do jogo" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "Abrir propriedades do jogo" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "Ativar log de depuração" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" @@ -86,35 +86,35 @@ msgstr "" "Registrar processo de autenticação e informações sensíveis como tokens de " "autenticação" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "Log do gerenciador de download" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "Registrar trabalhadores de fundo iniciar/parar" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "Desativar filtro de registro de mensagens" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "Registro detalhado" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "Opções do Jogo:" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "Mostrar ajuda de opções de jogo" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "Opções de Logs:" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "Mostrar ajuda sobre logs" @@ -190,52 +190,52 @@ msgctxt "platform" msgid "Emulated" msgstr "Emulado" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "Correndo" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "Instalado" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "Instalando" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "Verificando a integridade do instalador" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "Download iniciado" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "Não instalado" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "Instalado" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "Instalando" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "Baixando" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "Não instalado" @@ -257,12 +257,12 @@ msgstr "" "Arquivo de configuração do Steam não encontrado.\n" "Entre na sua conta no cliente Steam e retorne ao GameHub" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "%s: instaladores não disponíveis" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -318,11 +318,11 @@ msgctxt "tag" msgid "Hidden" msgstr "Escondido" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "Editar script" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "Editar script personalizado" @@ -349,8 +349,8 @@ msgstr "Jogar" msgid "Show WineWrap menu" msgstr "Mostrar menu do WineWrap" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "Mate aplicativos no prefixo" @@ -358,60 +358,19 @@ msgstr "Mate aplicativos no prefixo" msgid "Proton prefix" msgstr "Prefixo do Proton" -#: src/data/compat/Proton.vala:53 -msgid "Disable esync" -msgstr "Desativar esync" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "Forçar sinalizador LARGE_ADDRESS_AWARE" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "Desativar camada de compatibilidade do DirectX 11" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "Use WineD3D11 como camada de compatibilidade DirectX 11" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "Mostrar sobreposição de informações do DXVK" - -#: src/data/compat/Proton.vala:58 -#, fuzzy -msgid "Enable DirectX 9 compatibility layer" -msgstr "Desativar camada de compatibilidade do DirectX 11" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "Instalação silenciosa" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "Instalação muito silenciosa" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "Suprimir mensagens" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "Sem GUI" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "Abrir diretório de prefixo" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "Executar winecfg" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "Executar winetricks" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "Executar taskmgr" @@ -817,6 +776,32 @@ msgstr "Sair" msgid "Disabled" msgstr "Desativado" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "Fontes de jogos" @@ -865,6 +850,7 @@ msgstr "Autenticado" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Instalar" @@ -1274,6 +1260,11 @@ msgstr "Selecionar tudo" msgid "Select directory to import" msgstr "Selecione o diretório para importar" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, fuzzy, c-format +msgid "%s: Tweaks" +msgstr "%s: Sobreposições" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Nenhuma fonte de jogo habilitada" @@ -1438,7 +1429,7 @@ msgid "Sort" msgstr "Ordenar" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Tags" @@ -1498,7 +1489,7 @@ msgstr "Abrir diretório de capturas de tela" msgid "Uninstall" msgstr "Desinstalar" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Propriedades" @@ -1707,23 +1698,33 @@ msgstr "Camada de compatibilidade:" msgid "Configure" msgstr "Configurar" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Adicionar etiqueta" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +#, fuzzy +msgid "No description" +msgstr "Descrição" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Selecione o arquivo" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%dh" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%dm" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%ds" @@ -1820,8 +1821,36 @@ msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "Baixando: %d%% (%s / %s) [%s/s]" -#~ msgid "Description" -#~ msgstr "Descrição" +#~ msgid "Disable esync" +#~ msgstr "Desativar esync" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "Forçar sinalizador LARGE_ADDRESS_AWARE" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "Desativar camada de compatibilidade do DirectX 11" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "Use WineD3D11 como camada de compatibilidade DirectX 11" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "Mostrar sobreposição de informações do DXVK" + +#, fuzzy +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "Desativar camada de compatibilidade do DirectX 11" + +#~ msgid "Silent installation" +#~ msgstr "Instalação silenciosa" + +#~ msgid "Very silent installation" +#~ msgstr "Instalação muito silenciosa" + +#~ msgid "Suppress messages" +#~ msgstr "Suprimir mensagens" + +#~ msgid "No GUI" +#~ msgstr "Sem GUI" #~ msgctxt "igdb" #~ msgid "%s on IGDB" diff --git a/po/pt_PT.po b/po/pt_PT.po index 12042fa5..885457dd 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-09-07 12:25+0000\n" "Last-Translator: Manuela Silva \n" "Language-Team: Portuguese (Portugal) 1;\n" "X-Generator: Weblate 3.9-dev\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "Mostrar ajuda" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "Mostrar versão da aplicação e sair" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "Reiniciar com o depurador GDB anexado" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "Mostrar janela principal" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "Mostrar janela das definições da aplicação" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "Mostrar janela sobre" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "Iniciar jogo" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "Mostrar janela das opções de compatibilidade" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "Abrir detalhes do jogo" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "Abrir propriedades do jogo" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "Ativar registo da depuração" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" @@ -82,35 +82,35 @@ msgstr "" "Processo de autenticação de registo e informação confidencial, tal como " "códigos de autenticação" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "Gestor de transferências de registo" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "Opções do jogo:" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "Mostrar ajuda das opções do jogo" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "Opções de registo:" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "Mostrar ajuda das opções de registo" @@ -183,52 +183,52 @@ msgctxt "platform" msgid "Emulated" msgstr "Emulado" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "Em execução" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "Instalado" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "A instalar" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "A verificar a integridade do instalador" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "Transferência iniciada" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "Não instalado" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "Instalado" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "A instalar" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "A transferir" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "Não instalado" @@ -248,12 +248,12 @@ msgid "" "Login into your account in Steam client and return to GameHub" msgstr "" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "%s: sem instaladores disponíveis" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -307,11 +307,11 @@ msgctxt "tag" msgid "Hidden" msgstr "Ocultado" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "Editar script" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "Editar script personalizado" @@ -335,8 +335,8 @@ msgstr "Executar" msgid "Show WineWrap menu" msgstr "Mostrar menu de WineWrap" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "" @@ -344,60 +344,19 @@ msgstr "" msgid "Proton prefix" msgstr "Prefixo do Proton" -#: src/data/compat/Proton.vala:53 -msgid "Disable esync" -msgstr "Desativar esync" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "Desativar camada de compatibilidade com DirectX 11" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "Utilizar WineD3D11 como camada de compatibilidade com DirectX 11" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "" - -#: src/data/compat/Proton.vala:58 -#, fuzzy -msgid "Enable DirectX 9 compatibility layer" -msgstr "Desativar camada de compatibilidade com DirectX 11" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "Sem GUI" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "Abrir diretoria de prefixos" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "Excecutar winecfg" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "Executar winetricks" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "Executar taskmgr" @@ -798,6 +757,32 @@ msgstr "Sair" msgid "Disabled" msgstr "Desativado" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "Fontes de jogo" @@ -845,6 +830,7 @@ msgstr "Autenticado" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Instalar" @@ -1237,6 +1223,11 @@ msgstr "Selecionar todos" msgid "Select directory to import" msgstr "Selecionar diretoria para importar" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Sem fontes de jogo ativadas" @@ -1398,7 +1389,7 @@ msgid "Sort" msgstr "Ordenar" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Etiquetas" @@ -1458,7 +1449,7 @@ msgstr "Abrir diretoria das capturas de ecrã" msgid "Uninstall" msgstr "Desinstalar" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Propriedades" @@ -1661,23 +1652,32 @@ msgstr "Camada de compatibilidade:" msgid "Configure" msgstr "Configurar" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Adicionar etiqueta" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Selecionar ficheiro" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%dh" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%dm" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%ds" @@ -1773,3 +1773,19 @@ msgstr "Transferência cancelada" msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "A transferir: %d%% (%s / %s) [%s/s]" + +#~ msgid "Disable esync" +#~ msgstr "Desativar esync" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "Desativar camada de compatibilidade com DirectX 11" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "Utilizar WineD3D11 como camada de compatibilidade com DirectX 11" + +#, fuzzy +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "Desativar camada de compatibilidade com DirectX 11" + +#~ msgid "No GUI" +#~ msgstr "Sem GUI" diff --git a/po/ru.po b/po/ru.po index 7b90dd24..79d31985 100644 --- a/po/ru.po +++ b/po/ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-01-14 12:25+0000\n" "Last-Translator: Anatoliy Kashkin \n" "Language-Team: Russian =20) ? 1 : 2;\n" "X-Generator: Weblate 3.4-dev\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "Показать справку" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "Показать версию приложения и выйти" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "Перезапустить с подключенным отладчиком GDB" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "Показывать полный стек вызовов в GDB" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "Считать фатальные ошибки критическими и завершать приложение" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "Показать главное окно" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "Показать диалог настроек приложения" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "Показать диалог информации о программе" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "Максимальное количество фоновых потоков" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "Запустить игру" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "Показать диалог опций совместимости" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "Открыть информацию об игре" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "Открыть свойства игры" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "Включить отладочные сообщения" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" @@ -84,35 +84,35 @@ msgstr "" "Выводить сообщения о процессе аутентификации и конфиденциальную информацию, " "такую как токены аутентификации" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "Выводить сообщения менеджера загрузок" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "Выводить сообщения о запуске/остановке фоновых потоков" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "Отключить фильтрацию отладочных сообщений" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "Подробные сообщения" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "Параметры игр:" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "Показать справку о параметрах игр" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "Параметры журналирования:" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "Показать справку о параметрах журналирования" @@ -187,52 +187,52 @@ msgctxt "platform" msgid "Emulated" msgstr "Эмулируемые" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "Запущена" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "Установлена" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "Установка" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "Проверка целостности установщика" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "Загрузка начата" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "Не установлена" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "Установленные" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "Установка" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "Загрузка" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "Не установленные" @@ -254,12 +254,12 @@ msgstr "" "Файл конфигурации Steam не найден.\n" "Войдите в ваш аккаунт в клиенте Steam и вернитесь в GameHub" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "%s: нет доступных установщиков" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -271,25 +271,25 @@ msgstr "" #, c-format msgctxt "itch_dl_status" msgid "%s left;" -msgstr "" +msgstr "%s осталось;" #: src/data/sources/itch/ItchDownloader.vala:195 #, c-format msgctxt "itch_dl_status" msgid "%d%%" -msgstr "" +msgstr "%d%%" #: src/data/sources/itch/ItchDownloader.vala:198 #, c-format msgctxt "itch_dl_status" msgid "(%1$s / %2$s)" -msgstr "" +msgstr "(%1$s / %2$s)" #: src/data/sources/itch/ItchDownloader.vala:201 #, c-format msgctxt "itch_dl_status" msgid "[%s/s]" -msgstr "" +msgstr "[%s/с]" #: src/data/sources/user/User.vala:30 msgid "User games" @@ -315,11 +315,11 @@ msgctxt "tag" msgid "Hidden" msgstr "Скрытые" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "Редактировать скрипт" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "Редактировать пользовательский скрипт" @@ -346,8 +346,8 @@ msgstr "Запустить" msgid "Show WineWrap menu" msgstr "Показать меню WineWrap" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "Завершить приложения в префиксе" @@ -355,59 +355,19 @@ msgstr "Завершить приложения в префиксе" msgid "Proton prefix" msgstr "Префикс Proton" -#: src/data/compat/Proton.vala:53 -msgid "Disable esync" -msgstr "Выключить esync" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "Принудительно использовать флаг LARGE_ADDRESS_AWARE" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "Выключить слой совместимости с DirectX 11" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "Использовать WineD3D11 как слой совместимости DirectX 11" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "Показывать оверлей DXVK" - -#: src/data/compat/Proton.vala:58 -msgid "Enable DirectX 9 compatibility layer" -msgstr "Выключить слой совместимости с DirectX 9" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "Тихая установка" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "Очень тихая установка" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "Подавить сообщения" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "Без интерфейса" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "Открыть директорию префикса" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "Запустить winecfg" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "Запустить winetricks" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "Запустить taskmgr" @@ -811,6 +771,34 @@ msgstr "Выход" msgid "Disabled" msgstr "Отключено" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "Твики" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "Настройте опции запуска и применяйте их к играм автоматически" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" +"Твики загружаются из следующих директорий по порядку\n" +"Последний твик перезаписывает предущие с одинаковым идентификатором" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "Кликните, чтобы открыть" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "Твики загружаются из %1$s и ещё %2$d директорий (?)" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "Источники игр" @@ -858,6 +846,7 @@ msgstr "Авторизован" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Установить" @@ -1268,6 +1257,11 @@ msgstr "Выделить всё" msgid "Select directory to import" msgstr "Выберите папку для импорта" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "%s: Твики" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Нет активных источников игр" @@ -1431,7 +1425,7 @@ msgid "Sort" msgstr "Сортировка" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Теги" @@ -1491,7 +1485,7 @@ msgstr "Открыть папку скриншотов" msgid "Uninstall" msgstr "Деинсталлировать" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Свойства" @@ -1709,23 +1703,31 @@ msgstr "Слой совместимости:" msgid "Configure" msgstr "Настроить" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Добавить тег" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "Нет описания" + +#: src/ui/widgets/TweaksList.vala:124 +msgid "Edit file" +msgstr "Редактировать файл" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%dч" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%dм" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%ds" @@ -1820,8 +1822,35 @@ msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "%1$d%% (%2$s / %3$s) [%4$s/с]" -#~ msgid "Description" -#~ msgstr "Описание" +#~ msgid "Disable esync" +#~ msgstr "Выключить esync" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "Принудительно использовать флаг LARGE_ADDRESS_AWARE" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "Выключить слой совместимости с DirectX 11" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "Использовать WineD3D11 как слой совместимости DirectX 11" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "Показывать оверлей DXVK" + +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "Выключить слой совместимости с DirectX 9" + +#~ msgid "Silent installation" +#~ msgstr "Тихая установка" + +#~ msgid "Very silent installation" +#~ msgstr "Очень тихая установка" + +#~ msgid "Suppress messages" +#~ msgstr "Подавить сообщения" + +#~ msgid "No GUI" +#~ msgstr "Без интерфейса" #~ msgctxt "igdb" #~ msgid "%s on IGDB" diff --git a/po/te.po b/po/te.po index d79d41dd..33681021 100644 --- a/po/te.po +++ b/po/te.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-08-11 08:23+0000\n" "Last-Translator: asher hrudai \n" "Language-Team: Telugu %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "" @@ -842,6 +828,7 @@ msgstr "" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "" @@ -1234,6 +1221,11 @@ msgstr "" msgid "Select directory to import" msgstr "" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "" @@ -1394,7 +1386,7 @@ msgid "Sort" msgstr "" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "" @@ -1454,7 +1446,7 @@ msgstr "" msgid "Uninstall" msgstr "" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "" @@ -1657,23 +1649,31 @@ msgstr "" msgid "Configure" msgstr "" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +msgid "Edit file" +msgstr "" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%ds" diff --git a/po/tr.po b/po/tr.po index 026fa8ae..c03d2c14 100644 --- a/po/tr.po +++ b/po/tr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-28 07:48+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-12-29 13:05+0000\n" "Last-Translator: Oğuz Ersen \n" "Language-Team: Turkish %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "Oyun kaynakları" @@ -858,6 +844,7 @@ msgstr "Kimlik doğrulandı" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "Yükle" @@ -1266,6 +1253,11 @@ msgstr "Tümünü seç" msgid "Select directory to import" msgstr "İçe aktaracak dizini seç" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, fuzzy, c-format +msgid "%s: Tweaks" +msgstr "%s: Bindirmeler" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "Etkinleştirilmiş oyun kaynağı yok" @@ -1428,7 +1420,7 @@ msgid "Sort" msgstr "Sırala" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "Etiketler" @@ -1488,7 +1480,7 @@ msgstr "Ekran görüntüleri dizinini aç" msgid "Uninstall" msgstr "Kaldır" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "Özellikler" @@ -1697,23 +1689,32 @@ msgstr "Uyumluluk katmanı:" msgid "Configure" msgstr "Yapılandır" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "Etiket ekle" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "Dosya seç" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%dsaat" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%ddk" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%ds" @@ -1807,3 +1808,33 @@ msgstr "İndirme iptal edildi" msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "%%%1$d (%2$s / %3$s) [%4$s/s]" + +#~ msgid "Disable esync" +#~ msgstr "Esync'i devre dışı bırak" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "LARGE_ADDRESS_AWARE bayrağını zorla" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "DirectX 11 uyumluluk katmanını devre dışı bırak" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "WineD3D11'i DirectX 11 uyumluluk katmanı olarak kullan" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "DXVK bilgi paylaşımını göster" + +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "DirectX 9 uyumluluk katmanını etkinleştir" + +#~ msgid "Silent installation" +#~ msgstr "Sessiz kurulum" + +#~ msgid "Very silent installation" +#~ msgstr "Çok sessiz kurulum" + +#~ msgid "Suppress messages" +#~ msgstr "Mesajları bastır" + +#~ msgid "No GUI" +#~ msgstr "GUI yok" diff --git a/po/zh_CN.po b/po/zh_CN.po index 78c625fb..e4edf079 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-12-29 13:05+0000\n" "Last-Translator: wangling12 \n" "Language-Team: Chinese (Simplified) %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 msgid "Game sources" msgstr "游戏源" @@ -850,6 +836,7 @@ msgstr "已认证" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 msgid "Install" msgstr "安装" @@ -1256,6 +1243,11 @@ msgstr "全选" msgid "Select directory to import" msgstr "选择要导入的目录" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, fuzzy, c-format +msgid "%s: Tweaks" +msgstr "%s:覆盖" + #: src/ui/views/WelcomeView.vala:52 msgid "No enabled game sources" msgstr "未启用的游戏源" @@ -1418,7 +1410,7 @@ msgid "Sort" msgstr "排序" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "标签" @@ -1478,7 +1470,7 @@ msgstr "打开屏幕截图目录" msgid "Uninstall" msgstr "卸载" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 msgid "Properties" msgstr "属性" @@ -1676,23 +1668,32 @@ msgstr "兼容层:" msgid "Configure" msgstr "配置" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 msgid "Add tag" msgstr "添加标记" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "选择文件" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dh" msgstr "%d小时" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%d分钟" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%ds" @@ -1789,3 +1790,33 @@ msgstr "下载已取消" msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "正在下载: %d%%(%s / %s) [%s/s]" + +#~ msgid "Disable esync" +#~ msgstr "禁止esync" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "强制使用LARGE_ADDRESS_AWARE" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "禁用 DirectX 11 兼容性层" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "使用 WineD3D11 作为 DirectX 11 兼容性层" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "显示 DXVK 信息叠加" + +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "禁用 DirectX 9兼容性层" + +#~ msgid "Silent installation" +#~ msgstr "静默安装" + +#~ msgid "Very silent installation" +#~ msgstr "非常静默的安装" + +#~ msgid "Suppress messages" +#~ msgstr "禁止显示消息" + +#~ msgid "No GUI" +#~ msgstr "没有 GUI" diff --git a/po/zh_HK.po b/po/zh_HK.po index 06374b37..b2271358 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-07-11 16:11+0000\n" "Last-Translator: Anatoliy Kashkin \n" "Language: zh_HK\n" @@ -19,97 +19,97 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 3.8-dev\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "显示帮助" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "显示版本并退出" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "重新启动附加的GDB调试器" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "显示完整的GDB回溯" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "将致命错误视为关键和崩溃应用程序" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "显示主窗口" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "显示应用设置对话框" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "显示对话框" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "最大后台工作线程数" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "运行游戏" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "显示兼容性选项对话框" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "打开游戏细节" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "打开游戏属性" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "启用调试日志记录" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" msgstr "记录身份验证过程和敏感信息,如身份验证令牌" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "日志管理器" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "日志后台工作开始/停止" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "关闭日志信息过滤" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "详细记录" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "游戏选项:" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "显示游戏选项帮助" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "记录选项:" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "显示日志选项帮助" @@ -184,52 +184,52 @@ msgctxt "platform" msgid "Emulated" msgstr "模拟器" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "正在运行" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "安装" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "安装" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "验证安装程序完整性" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "下载已开始" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "未安装" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "安装" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "安装" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "正在下载" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "未安装" @@ -251,12 +251,12 @@ msgstr "" "找不到Steam配置文件。\n" "在Steam客户端登录您的帐户并返回GameHub" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "%s: 没有可用的安装程序" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -312,11 +312,11 @@ msgctxt "tag" msgid "Hidden" msgstr "隐藏的" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "编辑脚本" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "编辑自定义脚本" @@ -342,8 +342,8 @@ msgstr "运行" msgid "Show WineWrap menu" msgstr "显示WineWrap菜单" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "终止前缀中的应用程序" @@ -351,61 +351,19 @@ msgstr "终止前缀中的应用程序" msgid "Proton prefix" msgstr "Proton 前缀" -#: src/data/compat/Proton.vala:53 -#, fuzzy -msgid "Disable esync" -msgstr "禁用esync" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "强制使用 LARGE_ADDRESS_AWARE 标志" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "禁用DirectX 11兼容层" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "使用wined3d11作为Directx11兼容层" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "显示dxvk信息覆盖" - -#: src/data/compat/Proton.vala:58 -#, fuzzy -msgid "Enable DirectX 9 compatibility layer" -msgstr "禁用DirectX 11兼容层" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "静默安装" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "非常安静的安装" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "禁止显示消息" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "无图形用户界面" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "打开前缀目录" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "运行winecfg" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "运行winetricks" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "运行任务管理器" @@ -825,6 +783,32 @@ msgstr "" msgid "Disabled" msgstr "" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 #, fuzzy msgid "Game sources" @@ -876,6 +860,7 @@ msgstr "" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 #, fuzzy msgid "Install" msgstr "安装" @@ -1298,6 +1283,11 @@ msgstr "选择" msgid "Select directory to import" msgstr "选择目录" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "" + #: src/ui/views/WelcomeView.vala:52 #, fuzzy msgid "No enabled game sources" @@ -1466,7 +1456,7 @@ msgid "Sort" msgstr "" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "" @@ -1536,7 +1526,7 @@ msgstr "打开前缀目录" msgid "Uninstall" msgstr "安装" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 #, fuzzy msgid "Properties" msgstr "打开游戏属性" @@ -1739,24 +1729,33 @@ msgstr "禁用DirectX 11兼容层" msgid "Configure" msgstr "" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 #, fuzzy msgid "Add tag" msgstr "加游戏" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "选择" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%dh" msgstr "%d分" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%d分" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%ds" @@ -1855,3 +1854,35 @@ msgstr "下载开始玩了" msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "" + +#, fuzzy +#~ msgid "Disable esync" +#~ msgstr "禁用esync" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "强制使用 LARGE_ADDRESS_AWARE 标志" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "禁用DirectX 11兼容层" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "使用wined3d11作为Directx11兼容层" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "显示dxvk信息覆盖" + +#, fuzzy +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "禁用DirectX 11兼容层" + +#~ msgid "Silent installation" +#~ msgstr "静默安装" + +#~ msgid "Very silent installation" +#~ msgstr "非常安静的安装" + +#~ msgid "Suppress messages" +#~ msgstr "禁止显示消息" + +#~ msgid "No GUI" +#~ msgstr "无图形用户界面" diff --git a/po/zh_TW.po b/po/zh_TW.po index 4fc8bd56..345e8be0 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: com.github.tkashkin.gamehub\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 05:30+0300\n" +"POT-Creation-Date: 2020-01-12 17:59+0300\n" "PO-Revision-Date: 2019-07-11 16:11+0000\n" "Last-Translator: Anatoliy Kashkin \n" "Language: zh_TW\n" @@ -19,97 +19,97 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 3.8-dev\n" -#: src/app.vala:90 +#: src/app.vala:91 msgid "Show help" msgstr "显示帮助" -#: src/app.vala:91 +#: src/app.vala:92 msgid "Show application version and exit" msgstr "显示版本并退出" -#: src/app.vala:92 +#: src/app.vala:93 msgid "Restart with GDB debugger attached" msgstr "重新启动附加的GDB调试器" -#: src/app.vala:93 +#: src/app.vala:94 msgid "Show full GDB backtrace" msgstr "显示完整的GDB回溯" -#: src/app.vala:94 +#: src/app.vala:95 msgid "Treat fatal errors as criticals and crash application" msgstr "将致命错误视为关键和崩溃应用程序" -#: src/app.vala:98 +#: src/app.vala:99 msgid "Show main window" msgstr "显示主窗口" -#: src/app.vala:99 +#: src/app.vala:100 msgid "Show application settings dialog" msgstr "显示应用设置对话框" -#: src/app.vala:100 +#: src/app.vala:101 msgid "Show about dialog" msgstr "显示对话框" -#: src/app.vala:101 +#: src/app.vala:102 msgid "Maximum number of background worker threads" msgstr "最大后台工作线程数" -#: src/app.vala:105 +#: src/app.vala:106 msgid "Run game" msgstr "运行游戏" -#: src/app.vala:106 +#: src/app.vala:107 msgid "Show compatibility options dialog" msgstr "显示兼容性选项对话框" -#: src/app.vala:107 +#: src/app.vala:108 msgid "Open game details" msgstr "打开游戏细节" -#: src/app.vala:108 +#: src/app.vala:109 msgid "Open game properties" msgstr "打开游戏属性" -#: src/app.vala:112 +#: src/app.vala:113 msgid "Enable debug logging" msgstr "启用调试日志记录" -#: src/app.vala:113 +#: src/app.vala:114 msgid "" "Log authentication process and sensitive information like authentication " "tokens" msgstr "记录身份验证过程和敏感信息,如身份验证令牌" -#: src/app.vala:114 +#: src/app.vala:115 msgid "Log download manager" msgstr "日志管理器" -#: src/app.vala:115 +#: src/app.vala:116 msgid "Log background workers start/stop" msgstr "日志后台工作开始/停止" -#: src/app.vala:116 +#: src/app.vala:117 msgid "Disable log messages filtering" msgstr "关闭日志信息过滤" -#: src/app.vala:117 +#: src/app.vala:118 msgid "Verbose logging" msgstr "详细记录" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Game Options:" msgstr "游戏选项:" -#: src/app.vala:246 +#: src/app.vala:247 msgid "Show game options help" msgstr "显示游戏选项帮助" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Logging Options:" msgstr "记录选项:" -#: src/app.vala:254 +#: src/app.vala:255 msgid "Show logging options help" msgstr "显示日志选项帮助" @@ -184,52 +184,52 @@ msgctxt "platform" msgid "Emulated" msgstr "模拟器" -#: src/data/Game.vala:547 +#: src/data/Game.vala:555 msgctxt "status" msgid "Running" msgstr "正在运行" -#: src/data/Game.vala:550 +#: src/data/Game.vala:558 msgctxt "status" msgid "Installed" msgstr "安装" -#: src/data/Game.vala:551 +#: src/data/Game.vala:559 msgctxt "status" msgid "Installing" msgstr "安装" -#: src/data/Game.vala:552 +#: src/data/Game.vala:560 msgctxt "status" msgid "Verifying installer integrity" msgstr "验证安装程序完整性" -#: src/data/Game.vala:553 +#: src/data/Game.vala:561 msgctxt "status" msgid "Download started" msgstr "下载已开始" -#: src/data/Game.vala:555 +#: src/data/Game.vala:563 msgctxt "status" msgid "Not installed" msgstr "未安装" -#: src/data/Game.vala:565 +#: src/data/Game.vala:573 msgctxt "status_header" msgid "Installed" msgstr "安装" -#: src/data/Game.vala:566 +#: src/data/Game.vala:574 msgctxt "status_header" msgid "Installing" msgstr "安装" -#: src/data/Game.vala:568 +#: src/data/Game.vala:576 msgctxt "status_header" msgid "Downloading" msgstr "正在下载" -#: src/data/Game.vala:570 +#: src/data/Game.vala:578 msgctxt "status_header" msgid "Not installed" msgstr "未安装" @@ -251,12 +251,12 @@ msgstr "" "找不到Steam配置文件。\n" "在Steam客户端登录您的帐户并返回GameHub" -#: src/data/sources/humble/HumbleGame.vala:333 +#: src/data/sources/humble/HumbleGame.vala:341 #, c-format msgid "%s: no available installers" msgstr "%s: 没有可用的安装程序" -#: src/data/sources/humble/HumbleGame.vala:334 +#: src/data/sources/humble/HumbleGame.vala:342 msgid "" "Cannot get Trove download URL.\n" "Make sure your Humble Monthly subscription is active." @@ -312,11 +312,11 @@ msgctxt "tag" msgid "Hidden" msgstr "隐藏的" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit script" msgstr "编辑脚本" -#: src/data/compat/CustomScript.vala:59 +#: src/data/compat/CustomScript.vala:60 msgid "Edit custom script" msgstr "编辑自定义脚本" @@ -342,8 +342,8 @@ msgstr "运行" msgid "Show WineWrap menu" msgstr "显示WineWrap菜单" -#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:132 -#: src/data/compat/Wine.vala:87 +#: src/data/compat/WineWrap.vala:67 src/data/compat/Proton.vala:122 +#: src/data/compat/Wine.vala:83 msgid "Kill apps in prefix" msgstr "终止前缀中的应用程序" @@ -351,61 +351,19 @@ msgstr "终止前缀中的应用程序" msgid "Proton prefix" msgstr "Proton 前缀" -#: src/data/compat/Proton.vala:53 -#, fuzzy -msgid "Disable esync" -msgstr "禁用esync" - -#: src/data/compat/Proton.vala:54 -msgid "Force LARGE_ADDRESS_AWARE flag" -msgstr "强制使用 LARGE_ADDRESS_AWARE 标志" - -#: src/data/compat/Proton.vala:55 -msgid "Disable DirectX 11 compatibility layer" -msgstr "禁用DirectX 11兼容层" - -#: src/data/compat/Proton.vala:56 -msgid "Use WineD3D11 as DirectX 11 compatibility layer" -msgstr "使用wined3d11作为Directx11兼容层" - -#: src/data/compat/Proton.vala:57 -msgid "Show DXVK info overlay" -msgstr "显示dxvk信息覆盖" - -#: src/data/compat/Proton.vala:58 -#, fuzzy -msgid "Enable DirectX 9 compatibility layer" -msgstr "禁用DirectX 11兼容层" - -#: src/data/compat/Proton.vala:65 src/data/compat/Wine.vala:66 -msgid "Silent installation" -msgstr "静默安装" - -#: src/data/compat/Proton.vala:66 src/data/compat/Wine.vala:67 -msgid "Very silent installation" -msgstr "非常安静的安装" - -#: src/data/compat/Proton.vala:67 src/data/compat/Wine.vala:68 -msgid "Suppress messages" -msgstr "禁止显示消息" - -#: src/data/compat/Proton.vala:68 src/data/compat/Wine.vala:69 -msgid "No GUI" -msgstr "无图形用户界面" - -#: src/data/compat/Proton.vala:120 src/data/compat/Wine.vala:75 +#: src/data/compat/Proton.vala:110 src/data/compat/Wine.vala:71 msgid "Open prefix directory" msgstr "打开前缀目录" -#: src/data/compat/Proton.vala:123 src/data/compat/Wine.vala:78 +#: src/data/compat/Proton.vala:113 src/data/compat/Wine.vala:74 msgid "Run winecfg" msgstr "运行winecfg" -#: src/data/compat/Proton.vala:126 src/data/compat/Wine.vala:81 +#: src/data/compat/Proton.vala:116 src/data/compat/Wine.vala:77 msgid "Run winetricks" msgstr "运行winetricks" -#: src/data/compat/Proton.vala:129 src/data/compat/Wine.vala:84 +#: src/data/compat/Proton.vala:119 src/data/compat/Wine.vala:80 msgid "Run taskmgr" msgstr "运行任务管理器" @@ -825,6 +783,32 @@ msgstr "" msgid "Disabled" msgstr "" +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:33 +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:47 +#: src/ui/dialogs/GameTweaksDialog.vala:53 +#: src/ui/views/GamesView/GameContextMenu.vala:183 +msgid "Tweaks" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:34 +msgid "Tweak launch options and apply them to games automatically" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:79 +msgid "" +"Tweaks are loaded from following directories in order\n" +"Last tweak overrides previous tweaks with same identifiers" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:83 +msgid "Click to open" +msgstr "" + +#: src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala:93 +#, c-format +msgid "Tweaks are loaded from %1$s and %2$d more directories (?)" +msgstr "" + #: src/ui/dialogs/SettingsDialog/pages/sources/Steam.vala:38 #, fuzzy msgid "Game sources" @@ -876,6 +860,7 @@ msgstr "" #: src/ui/views/GamesView/GameContextMenu.vala:80 #: src/ui/views/GameDetailsView/MultipleGamesDetailsView.vala:143 #: src/ui/views/GameDetailsView/GameDetailsPage.vala:233 +#: src/ui/widgets/TweaksList.vala:95 #, fuzzy msgid "Install" msgstr "安装" @@ -1298,6 +1283,11 @@ msgstr "选择" msgid "Select directory to import" msgstr "选择目录" +#: src/ui/dialogs/GameTweaksDialog.vala:40 +#, c-format +msgid "%s: Tweaks" +msgstr "" + #: src/ui/views/WelcomeView.vala:52 #, fuzzy msgid "No enabled game sources" @@ -1466,7 +1456,7 @@ msgid "Sort" msgstr "" #: src/ui/views/GamesView/FiltersPopover.vala:234 -#: src/ui/widgets/GameTagsList.vala:59 +#: src/ui/widgets/GameTagsList.vala:58 msgid "Tags" msgstr "" @@ -1536,7 +1526,7 @@ msgstr "打开前缀目录" msgid "Uninstall" msgstr "安装" -#: src/ui/views/GamesView/GameContextMenu.vala:184 +#: src/ui/views/GamesView/GameContextMenu.vala:192 #, fuzzy msgid "Properties" msgstr "打开游戏属性" @@ -1739,24 +1729,33 @@ msgstr "禁用DirectX 11兼容层" msgid "Configure" msgstr "" -#: src/ui/widgets/GameTagsList.vala:110 +#: src/ui/widgets/GameTagsList.vala:109 #, fuzzy msgid "Add tag" msgstr "加游戏" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/ui/widgets/TweaksList.vala:86 +msgid "No description" +msgstr "" + +#: src/ui/widgets/TweaksList.vala:124 +#, fuzzy +msgid "Edit file" +msgstr "选择" + +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%dh" msgstr "%d分" -#: src/utils/Utils.vala:342 src/utils/Utils.vala:350 +#: src/utils/Utils.vala:427 src/utils/Utils.vala:435 #, c-format msgctxt "time" msgid "%dm" msgstr "%d分" -#: src/utils/Utils.vala:350 +#: src/utils/Utils.vala:435 #, fuzzy, c-format msgctxt "time" msgid "%ds" @@ -1855,3 +1854,35 @@ msgstr "下载开始玩了" msgctxt "dl_status" msgid "%1$d%% (%2$s / %3$s) [%4$s/s]" msgstr "" + +#, fuzzy +#~ msgid "Disable esync" +#~ msgstr "禁用esync" + +#~ msgid "Force LARGE_ADDRESS_AWARE flag" +#~ msgstr "强制使用 LARGE_ADDRESS_AWARE 标志" + +#~ msgid "Disable DirectX 11 compatibility layer" +#~ msgstr "禁用DirectX 11兼容层" + +#~ msgid "Use WineD3D11 as DirectX 11 compatibility layer" +#~ msgstr "使用wined3d11作为Directx11兼容层" + +#~ msgid "Show DXVK info overlay" +#~ msgstr "显示dxvk信息覆盖" + +#, fuzzy +#~ msgid "Enable DirectX 9 compatibility layer" +#~ msgstr "禁用DirectX 11兼容层" + +#~ msgid "Silent installation" +#~ msgstr "静默安装" + +#~ msgid "Very silent installation" +#~ msgstr "非常安静的安装" + +#~ msgid "Suppress messages" +#~ msgstr "禁止显示消息" + +#~ msgid "No GUI" +#~ msgstr "无图形用户界面" diff --git a/src/app.vala b/src/app.vala index 1c3da098..5739f4d2 100644 --- a/src/app.vala +++ b/src/app.vala @@ -27,6 +27,7 @@ using GameHub.Data.Sources.GOG; using GameHub.Data.Sources.Humble; using GameHub.Data.Sources.Itch; using GameHub.Data.Sources.User; +using GameHub.Data.Tweaks; using GameHub.Utils; namespace GameHub @@ -338,7 +339,7 @@ namespace GameHub }; info("Restarting with GDB"); - Utils.run(exec_cmd, Environment.get_current_dir()); + Utils.run(exec_cmd).dir(Environment.get_current_dir()).run_sync(); exit_status = 0; return true; } diff --git a/src/data/Emulator.vala b/src/data/Emulator.vala index 56a4494c..75499bc4 100644 --- a/src/data/Emulator.vala +++ b/src/data/Emulator.vala @@ -172,7 +172,7 @@ namespace GameHub.Data { Runnable.IsLaunched = is_running = true; - yield Utils.run_thread(get_args(null, executable), executable.get_parent().get_path(), null, true); + yield Utils.run(get_args(null, executable)).dir(executable.get_parent().get_path()).override_runtime(true).run_sync_thread(); Timeout.add_seconds(1, () => { Runnable.IsLaunched = is_running = false; @@ -200,7 +200,13 @@ namespace GameHub.Data } var dir = game != null && launch_in_game_dir ? game.install_dir : install_dir; - yield Utils.run_thread(get_args(game, executable), dir.get_path(), null, true); + + var task = Utils.run(get_args(game, executable)).dir(dir.get_path()).override_runtime(true); + if(game != null && game is TweakableGame) + { + task.tweaks(((TweakableGame) game).get_enabled_tweaks()); + } + yield task.run_sync_thread(); Timeout.add_seconds(1, () => { Runnable.IsLaunched = is_running = false; diff --git a/src/data/Game.vala b/src/data/Game.vala index 624f94e6..218e0dd5 100644 --- a/src/data/Game.vala +++ b/src/data/Game.vala @@ -21,6 +21,7 @@ using Gtk; using GameHub.Utils; using GameHub.Data.DB; +using GameHub.Data.Tweaks; namespace GameHub.Data { @@ -141,7 +142,14 @@ namespace GameHub.Data last_launch = get_real_time() / 1000000; save(); - yield Utils.run_thread(cmd, executable.get_parent().get_path(), null, true); + + var task = Utils.run(cmd).dir(executable.get_parent().get_path()).override_runtime(true); + if(this is TweakableGame) + { + task.tweaks(((TweakableGame) this).get_enabled_tweaks()); + } + yield task.run_sync_thread(); + playtime_tracked += ((get_real_time() / 1000000) - last_launch) / 60; save(); @@ -591,4 +599,23 @@ namespace GameHub.Data public string? image { get { return unlocked ? image_unlocked : image_locked; } } } } + + public interface TweakableGame: Game + { + public abstract string[]? tweaks { get; set; default = null; } + + public Tweak[] get_enabled_tweaks(CompatTool? tool=null) + { + Tweak[] enabled_tweaks = {}; + var all_tweaks = Tweak.load_tweaks(); + foreach(var tweak in all_tweaks.values) + { + if(tweak.is_enabled(this) && tweak.is_applicable_to(this, tool)) + { + enabled_tweaks += tweak; + } + } + return enabled_tweaks; + } + } } diff --git a/src/data/Runnable.vala b/src/data/Runnable.vala index 5644e123..2b91f4d0 100644 --- a/src/data/Runnable.vala +++ b/src/data/Runnable.vala @@ -147,7 +147,7 @@ namespace GameHub.Data executable = file; if(executable != null && executable.query_exists()) { - Utils.run({"chmod", "+x", executable.get_path()}); + Utils.run({"chmod", "+x", executable.get_path()}).run_sync(); } if(update) @@ -194,7 +194,7 @@ namespace GameHub.Data if(executable.query_exists()) { - Utils.run({"chmod", "+x", executable.get_path()}); + Utils.run({"chmod", "+x", executable.get_path()}).run_sync(); } if(update) @@ -219,7 +219,7 @@ namespace GameHub.Data { get { - return (!is_supported(null, false) && is_supported(null, true)) || (executable != null && executable.get_basename().has_suffix(".exe")); + return (!is_supported(null, false) && is_supported(null, true)) || (executable != null && executable.get_basename().down().has_suffix(".exe")); } } @@ -361,7 +361,7 @@ namespace GameHub.Data if(type != InstallerType.UNKNOWN) return type; - var info = yield Utils.run_thread({"file", "-bi", file.get_path()}); + var info = Utils.run({"file", "-bi", file.get_path()}).log(false).run_sync(true).output; if(info != null && info.length > 0) { mime = info.split(";")[0]; @@ -481,7 +481,7 @@ namespace GameHub.Data } var path = file.get_path(); - Utils.run({"chmod", "+x", path}); + Utils.run({"chmod", "+x", path}).run_sync(); FSUtils.mkdir(runnable.install_dir.get_path()); @@ -489,7 +489,7 @@ namespace GameHub.Data if(type == InstallerType.WINDOWS_EXECUTABLE && tool is Compat.Innoextract) { - var desc = yield Utils.run_thread({"file", "-b", path}); + var desc = Utils.run({"file", "-b", path}).log(false).run_sync(true).output; if(desc != null && desc.length > 0 && NSIS_INSTALLER_DESCRIPTION in desc) { type = InstallerType.WINDOWS_NSIS_INSTALLER; @@ -525,7 +525,7 @@ namespace GameHub.Data if(cmd != null) { - yield Utils.run_async(cmd, null, null, false, true); + yield Utils.run(cmd).run_async(); } if(type == InstallerType.WINDOWS_EXECUTABLE) { diff --git a/src/data/compat/CustomScript.vala b/src/data/compat/CustomScript.vala index 5d345089..6f92dd09 100644 --- a/src/data/compat/CustomScript.vala +++ b/src/data/compat/CustomScript.vala @@ -17,6 +17,7 @@ along with GameHub. If not, see . */ using GameHub.Utils; +using GameHub.Data.Tweaks; using GameHub.Data.Sources.Steam; @@ -72,7 +73,7 @@ GH_GAME_NAME_ESCAPED="${10}" var script = gh_dir.get_child(SCRIPT); if(script.query_exists()) { - Utils.run({"chmod", "+x", script.get_path()}); + Utils.run({"chmod", "+x", script.get_path()}).run_sync(); var executable_path = runnable.executable != null ? runnable.executable.get_path() : "null"; string[]? cmd = null; if(runnable is Game) @@ -84,7 +85,13 @@ GH_GAME_NAME_ESCAPED="${10}" { cmd = { script.get_path(), executable_path, runnable.id, runnable.name }; } - yield Utils.run_thread(cmd, runnable.install_dir.get_path()); + + var task = Utils.run(cmd).dir(runnable.install_dir.get_path()); + if(runnable is TweakableGame) + { + task.tweaks(((TweakableGame) runnable).get_enabled_tweaks(this)); + } + yield task.run_sync_thread(); } else { @@ -99,12 +106,18 @@ GH_GAME_NAME_ESCAPED="${10}" var script = gh_dir.get_child(SCRIPT); if(script.query_exists()) { - Utils.run({"chmod", "+x", script.get_path()}); + Utils.run({"chmod", "+x", script.get_path()}).run_sync(); var executable_path = emu.executable != null ? emu.executable.get_path() : "null"; var game_executable_path = game != null && game.executable != null ? game.executable.get_path() : "null"; string[] cmd = { script.get_path(), executable_path, emu.id, emu.name, game_executable_path, game.id, game.full_id, game.name, game.escaped_name }; var dir = game != null && launch_in_game_dir ? game.install_dir : emu.install_dir; - yield Utils.run_thread(cmd, dir.get_path()); + + var task = Utils.run(cmd).dir(dir.get_path()); + if(game is TweakableGame) + { + task.tweaks(((TweakableGame) game).get_enabled_tweaks(this)); + } + yield task.run_sync_thread(); } else { @@ -135,7 +148,7 @@ GH_GAME_NAME_ESCAPED="${10}" warning("[CustomScript.edit_script] %s", e.message); } } - Utils.run({"chmod", "+x", script.get_path()}); + Utils.run({"chmod", "+x", script.get_path()}).run_sync(); Utils.open_uri(script.get_uri()); } } diff --git a/src/data/compat/DOSBox.vala b/src/data/compat/DOSBox.vala index 73a9a5e1..82fe4738 100644 --- a/src/data/compat/DOSBox.vala +++ b/src/data/compat/DOSBox.vala @@ -50,47 +50,8 @@ namespace GameHub.Data.Compat CompatTool.Option[] options = {}; additional_configs.clear(); - var data_path = ProjectConfig.PROJECT_NAME + "/compat/dosbox"; - - string[] data_dirs = { FSUtils.file(ProjectConfig.DATADIR, data_path).get_path() }; - var user_data_dir = Environment.get_user_data_dir(); - var system_data_dirs = Environment.get_system_data_dirs(); - - if(GameHub.Application.log_verbose) - { - debug("[DOSBox.init] ProjectConfig.DATADIR: '%s'", ProjectConfig.DATADIR); - debug("[DOSBox.init] user_data_dir: '%s'", user_data_dir); - } - - if(user_data_dir != null && user_data_dir.length > 0) + foreach(var data_dir in FSUtils.get_data_dirs("compat/dosbox")) { - var dir = FSUtils.file(user_data_dir, data_path).get_path(); - if(!(dir in data_dirs)) data_dirs += dir; - } - - if(system_data_dirs != null && system_data_dirs.length > 0) - { - foreach(var system_data_dir in system_data_dirs) - { - if(GameHub.Application.log_verbose) - { - debug("[DOSBox.init] system_data_dir: '%s'", system_data_dir); - } - var dir = FSUtils.file(system_data_dir, data_path).get_path(); - if(!(dir in data_dirs)) data_dirs += dir; - } - } - - if(GameHub.Application.log_verbose) - { - debug("[DOSBox.init] data_dirs: {'%s'}", string.joinv("', '", data_dirs)); - } - - foreach(var dir in data_dirs) - { - var data_dir = FSUtils.file(dir); - if(data_dir == null || !data_dir.query_exists()) continue; - if(GameHub.Application.log_verbose) { debug("[DOSBox.init] Config directory: '%s'", data_dir.get_path()); @@ -179,7 +140,7 @@ namespace GameHub.Data.Compat private static bool is_dos_executable(File? file) { if(file == null || !file.query_exists()) return false; - var type = Utils.run({"file", "-b", file.get_path()}, null, null, false, true, false); + var type = Utils.run({"file", "-b", file.get_path()}).log(false).run_sync(true).output; if(type != null && type.length > 0) { return "DOS" in type; @@ -254,7 +215,12 @@ namespace GameHub.Data.Compat wdir = bundled_win_dosbox.get_parent(); } - yield Utils.run_thread(combine_cmd_with_args(cmd, runnable), wdir.get_path()); + var task = Utils.run(combine_cmd_with_args(cmd, runnable)).dir(wdir.get_path()); + if(runnable is TweakableGame) + { + task.tweaks(((TweakableGame) runnable).get_enabled_tweaks(this)); + } + yield task.run_sync_thread(); } } } diff --git a/src/data/compat/Innoextract.vala b/src/data/compat/Innoextract.vala index a693145c..e7b30200 100644 --- a/src/data/compat/Innoextract.vala +++ b/src/data/compat/Innoextract.vala @@ -46,7 +46,7 @@ namespace GameHub.Data.Compat if(installed) { - version = Utils.run({ executable.get_path(), "-v", "-q", "-c", "0" }, null, null, false, true, false).replace(id, "").strip(); + version = Utils.run({executable.get_path(), "-v", "-q", "-c", "0"}).log(false).run_sync(true).output.replace(id, "").strip(); name = name + " (" + version + ")"; if(Utils.compare_versions(Utils.parse_version(version), Innoextract.MIN_SUPPORTED_VERSION) < 0) @@ -73,7 +73,7 @@ namespace GameHub.Data.Compat string[] cmd = { executable.get_path(), "-e", "-m", "-d", runnable.install_dir.get_path() }; if(runnable is Sources.GOG.GOGGame) cmd += "--gog"; cmd += installer.get_path(); - yield Utils.run_thread(cmd, installer.get_parent().get_path()); + yield Utils.run(cmd).dir(installer.get_parent().get_path()).run_sync_thread(); do { diff --git a/src/data/compat/Proton.vala b/src/data/compat/Proton.vala index c698db8d..298eb373 100644 --- a/src/data/compat/Proton.vala +++ b/src/data/compat/Proton.vala @@ -49,23 +49,13 @@ namespace GameHub.Data.Compat options = { opt_prefix, - opt_env, - new CompatTool.BoolOption("PROTON_NO_ESYNC", _("Disable esync"), false), - new CompatTool.BoolOption("PROTON_FORCE_LARGE_ADDRESS_AWARE", _("Force LARGE_ADDRESS_AWARE flag"), false), - new CompatTool.BoolOption("PROTON_NO_D3D11", _("Disable DirectX 11 compatibility layer"), false), - new CompatTool.BoolOption("PROTON_USE_WINED3D11", _("Use WineD3D11 as DirectX 11 compatibility layer"), false), - new CompatTool.BoolOption("DXVK_HUD", _("Show DXVK info overlay"), true), - new CompatTool.BoolOption("PROTON_USE_D9VK", _("Enable DirectX 9 compatibility layer"), false) + opt_env }; install_options = { opt_prefix, opt_env, - install_opt_innosetup_args, - new CompatTool.BoolOption("/SILENT", _("Silent installation"), false), - new CompatTool.BoolOption("/VERYSILENT", _("Very silent installation"), false), - new CompatTool.BoolOption("/SUPPRESSMSGBOXES", _("Suppress messages"), false), - new CompatTool.BoolOption("/NOGUI", _("No GUI"), false) + install_opt_innosetup_args }; if(!is_latest) @@ -143,7 +133,12 @@ namespace GameHub.Data.Compat { cmd = { executable.get_path(), "run", "msiexec", "/i", file.get_path() }; } - yield Utils.run_thread(combine_cmd_with_args(cmd, runnable, args), dir.get_path(), prepare_env(runnable, parse_opts)); + var task = Utils.run(combine_cmd_with_args(cmd, runnable, args)).dir(dir.get_path()).env(prepare_env(runnable, parse_opts)); + if(runnable is TweakableGame) + { + task.tweaks(((TweakableGame) runnable).get_enabled_tweaks(this)); + } + yield task.run_sync_thread(); } public override File get_default_wineprefix(Runnable runnable) @@ -155,7 +150,7 @@ namespace GameHub.Data.Compat if(FSUtils.file(install_dir.get_path(), @"$(FSUtils.GAMEHUB_DIR)/$(binary)_$(arch)").query_exists()) { - Utils.run({"bash", "-c", @"mv -f $(FSUtils.GAMEHUB_DIR)/$(id) $(FSUtils.GAMEHUB_DIR)/$(FSUtils.COMPAT_DATA_DIR)/$(id)"}, install_dir.get_path()); + Utils.run({"bash", "-c", @"mv -f $(FSUtils.GAMEHUB_DIR)/$(id) $(FSUtils.GAMEHUB_DIR)/$(FSUtils.COMPAT_DATA_DIR)/$(id)"}).dir(install_dir.get_path()).run_sync(); FSUtils.rm(dosdevices.get_child("d:").get_path()); } @@ -177,7 +172,7 @@ namespace GameHub.Data.Compat { if(dosdevices.get_path().has_prefix(runnable.install_dir.get_path())) { - Utils.run({"ln", "-nsf", "../../../../../", "d:"}, dosdevices.get_path()); + Utils.run({"ln", "-nsf", "../../../../../", "d:"}).dir(dosdevices.get_path()).run_sync(); } } @@ -237,7 +232,10 @@ namespace GameHub.Data.Compat if(!cmd.query_exists()) { - yield Utils.run_thread({ executable.get_path(), "run", cmd.get_path(), "/c", "exit" }, runnable.install_dir.get_path(), prepare_env(runnable), false, true); + yield Utils.run({executable.get_path(), "run", cmd.get_path(), "/c", "exit"}) + .dir(runnable.install_dir.get_path()) + .env(prepare_env(runnable)) + .run_sync_thread(true); } } diff --git a/src/data/compat/RetroArch.vala b/src/data/compat/RetroArch.vala index be67f7a1..ff7f465c 100644 --- a/src/data/compat/RetroArch.vala +++ b/src/data/compat/RetroArch.vala @@ -116,7 +116,7 @@ namespace GameHub.Data.Compat string[] cmd = { executable.get_path(), "-L", core, runnable.executable.get_path() }; - yield Utils.run_thread(combine_cmd_with_args(cmd, runnable), runnable.install_dir.get_path()); + yield Utils.run(combine_cmd_with_args(cmd, runnable)).dir(runnable.install_dir.get_path()).run_sync_thread(); } } } diff --git a/src/data/compat/ScummVM.vala b/src/data/compat/ScummVM.vala index 4779b0f3..1be0ca7c 100644 --- a/src/data/compat/ScummVM.vala +++ b/src/data/compat/ScummVM.vala @@ -47,7 +47,7 @@ namespace GameHub.Data.Compat { if(dir != null && dir.query_exists()) { - var output = Utils.run({ executable.get_path(), "--detect" }, dir.get_path(), null, false, true, false); + var output = Utils.run({executable.get_path(), "--detect"}).dir(dir.get_path()).log(false).run_sync(true).output; return !(SCUMMVM_NO_GAMES_WARNING in output); } return false; @@ -73,7 +73,12 @@ namespace GameHub.Data.Compat string[] cmd = { executable.get_path(), "--auto-detect" }; - yield Utils.run_thread(combine_cmd_with_args(cmd, runnable), dir.get_path()); + var task = Utils.run(combine_cmd_with_args(cmd, runnable)).dir(dir.get_path()); + if(runnable is TweakableGame) + { + task.tweaks(((TweakableGame) runnable).get_enabled_tweaks(this)); + } + yield task.run_sync_thread(); } } } diff --git a/src/data/compat/Wine.vala b/src/data/compat/Wine.vala index 60695b57..60369411 100644 --- a/src/data/compat/Wine.vala +++ b/src/data/compat/Wine.vala @@ -62,11 +62,7 @@ namespace GameHub.Data.Compat install_options = { opt_prefix, opt_env, - install_opt_innosetup_args, - new CompatTool.BoolOption("/SILENT", _("Silent installation"), false), - new CompatTool.BoolOption("/VERYSILENT", _("Very silent installation"), false), - new CompatTool.BoolOption("/SUPPRESSMSGBOXES", _("Suppress messages"), false), - new CompatTool.BoolOption("/NOGUI", _("No GUI"), false) + install_opt_innosetup_args }; if(installed) @@ -171,7 +167,12 @@ namespace GameHub.Data.Compat { cmd = { executable.get_path(), "msiexec", "/i", file.get_path() }; } - yield Utils.run_thread(combine_cmd_with_args(cmd, runnable, args), dir.get_path(), prepare_env(runnable)); + var task = Utils.run(combine_cmd_with_args(cmd, runnable, args)).dir(dir.get_path()).env(prepare_env(runnable, parse_opts)); + if(runnable is TweakableGame) + { + task.tweaks(((TweakableGame) runnable).get_enabled_tweaks(this)); + } + yield task.run_sync_thread(); } public virtual File get_default_wineprefix(Runnable runnable) @@ -183,7 +184,7 @@ namespace GameHub.Data.Compat if(FSUtils.file(install_dir.get_path(), @"$(FSUtils.GAMEHUB_DIR)/$(binary)_$(arch)").query_exists()) { - Utils.run({"bash", "-c", @"mv -f $(FSUtils.GAMEHUB_DIR)/$(binary)_$(arch) $(FSUtils.GAMEHUB_DIR)/$(FSUtils.COMPAT_DATA_DIR)/$(binary)_$(arch)"}, install_dir.get_path()); + Utils.run({"bash", "-c", @"mv -f $(FSUtils.GAMEHUB_DIR)/$(binary)_$(arch) $(FSUtils.GAMEHUB_DIR)/$(FSUtils.COMPAT_DATA_DIR)/$(binary)_$(arch)"}).dir(install_dir.get_path()).run_sync(); FSUtils.rm(dosdevices.get_child("d:").get_path()); } @@ -205,7 +206,7 @@ namespace GameHub.Data.Compat { if(dosdevices.get_path().has_prefix(runnable.install_dir.get_path())) { - Utils.run({"ln", "-nsf", "../../../../", "d:"}, dosdevices.get_path()); + Utils.run({"ln", "-nsf", "../../../../", "d:"}).dir(dosdevices.get_path()).run_sync(); } } @@ -280,17 +281,17 @@ namespace GameHub.Data.Compat } } - yield Utils.run_thread(cmd, runnable.install_dir.get_path(), prepare_env(runnable)); + yield Utils.run(cmd).dir(runnable.install_dir.get_path()).env(prepare_env(runnable)).run_sync_thread(); } protected async void winetricks(Runnable runnable) { - yield Utils.run_thread({ "winetricks" }, runnable.install_dir.get_path(), prepare_env(runnable)); + yield Utils.run({"winetricks"}).dir(runnable.install_dir.get_path()).env(prepare_env(runnable)).run_sync_thread(); } public async string convert_path(Runnable runnable, File path) { - var win_path = (yield Utils.run_thread({ wine_binary.get_path(), "winepath", "-w", path.get_path() }, runnable.install_dir.get_path(), prepare_env(runnable), false, true)).strip(); + var win_path = (yield Utils.run({wine_binary.get_path(), "winepath", "-w", path.get_path()}).dir(runnable.install_dir.get_path()).env(prepare_env(runnable)).log(false).run_sync_thread(true)).output.strip(); debug("[Wine.convert_path] '%s' -> '%s'", path.get_path(), win_path); return win_path; } diff --git a/src/data/compat/WineWrap.vala b/src/data/compat/WineWrap.vala index 70974df8..2f37389e 100644 --- a/src/data/compat/WineWrap.vala +++ b/src/data/compat/WineWrap.vala @@ -103,7 +103,7 @@ namespace GameHub.Data.Compat if(wrapper == null || !wrapper.query_exists()) return; string[] cmd = { "tar", "xf", wrapper.get_path(), "-C", wrapper_dir.get_path(), "--strip-components=1" }; - yield Utils.run_thread(cmd, wrapper_dir.get_path()); + yield Utils.run(cmd).dir(wrapper_dir.get_path()).run_sync_thread(); var winewrap_env = Environ.get(); winewrap_env = Environ.set_variable(winewrap_env, "WINEWRAP_RESPATH", installer.get_parent().get_path()); @@ -113,7 +113,7 @@ namespace GameHub.Data.Compat FSUtils.rm(runnable.install_dir.get_path(), null, "-rf"); cmd = { "bash", "-c", "./*_wine.sh -dirname=" + (runnable as GOGGame).escaped_name }; - yield Utils.run_thread(cmd, wrapper_dir.get_path(), winewrap_env); + yield Utils.run(cmd).dir(wrapper_dir.get_path()).env(winewrap_env).run_sync_thread(); runnable.executable = runnable.install_dir.get_child("start.sh"); } @@ -139,7 +139,12 @@ namespace GameHub.Data.Compat string[] cmd = { runnable.install_dir.get_child("start.sh").get_path(), action }; - yield Utils.run_thread(combine_cmd_with_args(cmd, runnable), runnable.install_dir.get_path()); + var task = Utils.run(combine_cmd_with_args(cmd, runnable)).dir(runnable.install_dir.get_path()); + if(runnable is TweakableGame) + { + task.tweaks(((TweakableGame) runnable).get_enabled_tweaks(this)); + } + yield task.run_sync_thread(); } } } diff --git a/src/data/db/Database.vala b/src/data/db/Database.vala index d327df11..2199b089 100644 --- a/src/data/db/Database.vala +++ b/src/data/db/Database.vala @@ -29,7 +29,7 @@ namespace GameHub.Data.DB { public class Database { - public const int VERSION = 9; + public const int VERSION = 10; public static Table[] TABLES; public static Database instance; diff --git a/src/data/db/tables/Games.vala b/src/data/db/tables/Games.vala index 401c4e34..4562180d 100644 --- a/src/data/db/tables/Games.vala +++ b/src/data/db/tables/Games.vala @@ -53,6 +53,7 @@ namespace GameHub.Data.DB.Tables public static Table.Field PLAYTIME_SOURCE; public static Table.Field PLAYTIME_TRACKED; public static Table.Field IMAGE_VERTICAL; + public static Table.Field TWEAKS; public Games() { @@ -78,6 +79,7 @@ namespace GameHub.Data.DB.Tables PLAYTIME_SOURCE = f(15); PLAYTIME_TRACKED = f(16); IMAGE_VERTICAL = f(17); + TWEAKS = f(18); } public override void migrate(Sqlite.Database db, int version) @@ -120,6 +122,10 @@ namespace GameHub.Data.DB.Tables case 8: db.exec("ALTER TABLE `games` ADD `image_vertical` string"); break; + + case 9: + db.exec("ALTER TABLE `games` ADD `tweaks` string"); + break; } } } @@ -158,8 +164,9 @@ namespace GameHub.Data.DB.Tables `last_launch`, `playtime_source`, `playtime_tracked`, - `image_vertical`) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", -1, out s); + `image_vertical`, + `tweaks`) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", -1, out s); if(res != Sqlite.OK) { @@ -181,6 +188,17 @@ namespace GameHub.Data.DB.Tables tags += t.id; } + string? tweaks = null; + if(game is TweakableGame && ((TweakableGame) game).tweaks != null) + { + tweaks = ""; + foreach(var t in ((TweakableGame) game).tweaks) + { + if(tweaks.length > 0) tweaks += ","; + tweaks += t; + } + } + SOURCE.bind(s, game.source.id); ID.bind(s, game.id); NAME.bind(s, game.name); @@ -199,6 +217,7 @@ namespace GameHub.Data.DB.Tables PLAYTIME_SOURCE.bind_int64(s, game.playtime_source); PLAYTIME_TRACKED.bind_int64(s, game.playtime_tracked); IMAGE_VERTICAL.bind(s, game.image_vertical); + TWEAKS.bind(s, tweaks); res = s.step(); diff --git a/src/data/sources/gog/GOGGame.vala b/src/data/sources/gog/GOGGame.vala index 6bd314a8..908a2e09 100644 --- a/src/data/sources/gog/GOGGame.vala +++ b/src/data/sources/gog/GOGGame.vala @@ -22,8 +22,10 @@ using GameHub.Utils; namespace GameHub.Data.Sources.GOG { - public class GOGGame: Game + public class GOGGame: Game, TweakableGame { + public string[]? tweaks { get; set; default = null; } + public ArrayList? installers { get; protected set; default = new ArrayList(); } public ArrayList? bonus_content { get; protected set; default = new ArrayList(); } public ArrayList? dlc { get; protected set; default = new ArrayList(); } @@ -140,6 +142,12 @@ namespace GameHub.Data.Sources.GOG } } + var tweaks_string = Tables.Games.TWEAKS.get(s); + if(tweaks_string != null) + { + tweaks = tweaks_string.split(","); + } + mount_overlays.begin(); update_status(); } @@ -339,7 +347,7 @@ namespace GameHub.Data.Sources.GOG { uninstaller = FSUtils.expand(install_dir.get_path(), uninstaller); debug("[GOGGame] Running uninstaller '%s'...", uninstaller); - yield Utils.run_thread({uninstaller, "--noprompt", "--force"}, null, null, true); + yield Utils.run({uninstaller, "--noprompt", "--force"}).override_runtime(true).run_sync_thread(); } else { diff --git a/src/data/sources/humble/HumbleGame.vala b/src/data/sources/humble/HumbleGame.vala index f521415f..7fe1e7e3 100644 --- a/src/data/sources/humble/HumbleGame.vala +++ b/src/data/sources/humble/HumbleGame.vala @@ -22,8 +22,10 @@ using GameHub.Utils; namespace GameHub.Data.Sources.Humble { - public class HumbleGame: Game + public class HumbleGame: Game, TweakableGame { + public string[]? tweaks { get; set; default = null; } + public string order_id; private bool game_info_updating = false; @@ -155,6 +157,12 @@ namespace GameHub.Data.Sources.Humble } } + var tweaks_string = Tables.Games.TWEAKS.get(s); + if(tweaks_string != null) + { + tweaks = tweaks_string.split(","); + } + mount_overlays.begin(); update_status(); } diff --git a/src/data/sources/user/UserGame.vala b/src/data/sources/user/UserGame.vala index 8ab84f5f..3f81d475 100644 --- a/src/data/sources/user/UserGame.vala +++ b/src/data/sources/user/UserGame.vala @@ -22,8 +22,10 @@ using GameHub.Utils; namespace GameHub.Data.Sources.User { - public class UserGame: Game + public class UserGame: Game, TweakableGame { + public string[]? tweaks { get; set; default = null; } + private bool is_removed = false; public signal void removed(); @@ -113,6 +115,12 @@ namespace GameHub.Data.Sources.User } } + var tweaks_string = Tables.Games.TWEAKS.get(s); + if(tweaks_string != null) + { + tweaks = tweaks_string.split(","); + } + mount_overlays.begin(); update_status(); } diff --git a/src/data/tweaks/Tweak.vala b/src/data/tweaks/Tweak.vala new file mode 100644 index 00000000..a417194c --- /dev/null +++ b/src/data/tweaks/Tweak.vala @@ -0,0 +1,446 @@ +/* +This file is part of GameHub. +Copyright (C) 2018-2019 Anatoliy Kashkin + +GameHub is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +GameHub is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GameHub. If not, see . +*/ + +using Gee; + +using GameHub.Utils; + +namespace GameHub.Data.Tweaks +{ + public class Tweak: Object + { + public string id { get; protected set; } + public string? name { get; protected set; default = null; } + public string? description { get; protected set; default = null; } + public string? url { get; protected set; default = null; } + + public ApplicabilityOptions? applicability_options { get; protected set; default = null; } + + public HashMap? env { get; protected set; default = null; } + public string? command { get; protected set; default = null; } + public File? file { get; protected set; default = null; } + + public Tweak(string id, string? name, string? description, string? url, ApplicabilityOptions? applicability_options, HashMap? env, string? command, File? file) + { + Object(id: id, name: name, description: description, url: url, applicability_options: applicability_options, env: env, command: command, file: file); + } + + public Tweak.from_json_object(Json.Object obj, File? file, string? default_id=null) + { + string id = default_id ?? "tweak"; + string? name = null; + string? description = null; + string? url = null; + ApplicabilityOptions? applicability_options = null; + HashMap? env = null; + string? command = null; + + if(obj.has_member("id")) id = obj.get_string_member("id"); + if(obj.has_member("name")) name = obj.get_string_member("name"); + if(obj.has_member("description")) description = obj.get_string_member("description"); + if(obj.has_member("url")) url = obj.get_string_member("url"); + + if(obj.has_member("applicable_to")) + applicability_options = new ApplicabilityOptions.from_json(obj.get_member("applicable_to")); + + if(obj.has_member("env")) + { + env = new HashMap(); + var env_object = obj.get_object_member("env"); + foreach(var env_var in env_object.get_members()) + { + var env_value = env_object.get_member(env_var); + if(env_value.get_node_type() == Json.NodeType.VALUE) + { + env.set(env_var, env_value.get_string()); + } + else + { + env.set(env_var, null); + } + } + } + + if(obj.has_member("command")) command = obj.get_string_member("command"); + + Object(id: id, name: name, description: description, url: url, applicability_options: applicability_options, env: env, command: command, file: file); + } + + public static ArrayList load_from_file(File file) + { + var loaded_tweaks = new ArrayList(); + string id = file.get_basename().replace(".json", ""); + + var node = Parser.parse_json_file(file.get_path()); + switch(node.get_node_type()) + { + case Json.NodeType.OBJECT: + loaded_tweaks.add(new Tweak.from_json_object(node.get_object(), file, id)); + break; + + case Json.NodeType.ARRAY: + int i = 0; + foreach(var tweak_node in node.get_array().get_elements()) + { + if(tweak_node.get_node_type() == Json.NodeType.OBJECT) + { + loaded_tweaks.add(new Tweak.from_json_object(tweak_node.get_object(), file, @"$(id)[$(i++)]")); + } + } + break; + } + + return loaded_tweaks; + } + + public bool is_applicable_to(TweakableGame game, CompatTool? compat_tool=null) + { + if(applicability_options == null) return true; + return applicability_options.is_applicable_to(game, compat_tool); + } + + public bool is_enabled(TweakableGame? game=null) + { + if(game == null || game.tweaks == null) + { + return id in Settings.Tweaks.instance.global; + } + else + { + return id in game.tweaks; + } + } + + public void set_enabled(bool enabled, TweakableGame? game=null) + { + if(game == null) + { + var global = Settings.Tweaks.instance.global; + if(!enabled && id in global) + { + string[] new_global = {}; + foreach(var t in global) + { + if(t != id) new_global += t; + } + Settings.Tweaks.instance.global = new_global; + } + else if(enabled && !(id in global)) + { + global += id; + Settings.Tweaks.instance.global = global; + } + } + else + { + var game_tweaks = game.tweaks ?? Settings.Tweaks.instance.global; + if(!enabled && id in game_tweaks) + { + string[] new_game_tweaks = {}; + foreach(var t in game_tweaks) + { + if(t != id) new_game_tweaks += t; + } + game.tweaks = new_game_tweaks; + game.save(); + } + else if(enabled && !(id in game_tweaks)) + { + game_tweaks += id; + game.tweaks = game_tweaks; + game.save(); + } + } + } + + public string icon + { + owned get + { + var icon = "system-run-symbolic"; + if(applicability_options != null) + { + if(applicability_options.platforms != null && applicability_options.platforms.size > 0) + { + icon = applicability_options.platforms.first().icon(); + } + + if(applicability_options.compat_tool_ids != null && applicability_options.compat_tool_ids.size > 0) + { + var tool_id = applicability_options.compat_tool_ids.first(); + foreach(var tool in CompatTools) + { + if(tool.id == tool_id || tool.id.has_prefix(@"$(tool_id)_")) + { + icon = tool.icon; + break; + } + } + } + } + return icon; + } + } + + private static HashMap? tweaks = null; + public static HashMap load_tweaks(bool refresh=false) + { + if(tweaks != null && tweaks.size > 0 && !refresh) + { + return tweaks; + } + + tweaks = new HashMap(); + + foreach(var data_dir in FSUtils.get_data_dirs("tweaks")) + { + if(GameHub.Application.log_verbose) + { + debug("[Tweak.load_tweaks] Directory: '%s'", data_dir.get_path()); + } + + try + { + FileInfo? finfo = null; + var enumerator = data_dir.enumerate_children("standard::*", FileQueryInfoFlags.NOFOLLOW_SYMLINKS); + while((finfo = enumerator.next_file()) != null) + { + var fname = finfo.get_name(); + if(fname.down().has_suffix(".json")) + { + var file = data_dir.get_child(fname); + var loaded_tweaks = load_from_file(file); + + if(GameHub.Application.log_verbose) + { + debug("[Tweak.load_tweaks] File: '%s'; %d tweak(s):", file.get_path(), loaded_tweaks.size); + } + + foreach(var tweak in loaded_tweaks) + { + tweaks.set(tweak.id, tweak); + + if(GameHub.Application.log_verbose) + { + debug("[Tweak.load_tweaks] %s", Json.to_string(new Json.Node(Json.NodeType.OBJECT).init_object(tweak.to_json()), false)); + } + } + } + } + } + catch(Error e) + { + warning("[Tweak.load_tweaks] %s", e.message); + } + } + + return tweaks; + } + + public Json.Object to_json() + { + var obj = new Json.Object(); + + obj.set_string_member("id", id); + if(name != null) obj.set_string_member("name", name); + if(description != null) obj.set_string_member("description", description); + if(url != null) obj.set_string_member("url", url); + + if(applicability_options != null) + { + var options = applicability_options.to_json(); + if(options != null) obj.set_member("applicable_to", options); + } + + if(env != null && env.size > 0) + { + var env_obj = new Json.Object(); + foreach(var env_var in env.entries) + { + if(env_var.value != null) + { + env_obj.set_string_member(env_var.key, env_var.value); + } + else + { + env_obj.set_null_member(env_var.key); + } + } + obj.set_object_member("env", env_obj); + } + + if(command != null) obj.set_string_member("command", command); + + return obj; + } + + public class ApplicabilityOptions: Object + { + public ArrayList? platforms { get; protected set; default = null; } + public ArrayList? compat_tool_ids { get; protected set; default = null; } + + public ApplicabilityOptions(ArrayList? platforms, ArrayList? compat_tool_ids) + { + Object(platforms: platforms, compat_tool_ids: compat_tool_ids); + } + + public ApplicabilityOptions.from_json(Json.Node? json) + { + ArrayList? platforms = null; + ArrayList? compat_tool_ids = null; + + if(json != null && json.get_node_type() == Json.NodeType.OBJECT) + { + var obj = json.get_object(); + + if(obj.has_member("platforms")) + { + var platforms_array = obj.get_array_member("platforms"); + if(platforms_array.get_length() > 0) + { + platforms = new ArrayList(); + foreach(var platform_node in platforms_array.get_elements()) + { + if(platform_node.get_node_type() == Json.NodeType.VALUE) + { + var platform_id = platform_node.get_string(); + if(platform_id != null) + { + foreach(var p in Platform.PLATFORMS) + { + if(platform_id == p.id() && !(p in platforms)) + { + platforms.add(p); + break; + } + } + } + } + } + } + } + + if(obj.has_member("compat")) + { + var tools_array = obj.get_array_member("compat"); + if(tools_array.get_length() > 0) + { + compat_tool_ids = new ArrayList(); + foreach(var tool_node in tools_array.get_elements()) + { + if(tool_node.get_node_type() == Json.NodeType.VALUE) + { + var tool_id = tool_node.get_string(); + if(tool_id != null && !(tool_id in compat_tool_ids)) + { + compat_tool_ids.add(tool_id); + } + } + } + } + } + } + + Object(platforms: platforms, compat_tool_ids: compat_tool_ids); + } + + public bool is_applicable_to(TweakableGame game, CompatTool? compat_tool=null) + { + if(platforms != null) + { + var has_platform = false; + foreach(var platform in platforms) + { + if(platform in game.platforms) + { + has_platform = true; + break; + } + } + if(!has_platform) return false; + } + + string? compat_tool_id = null; + if(compat_tool != null) + { + compat_tool_id = compat_tool.id; + } + else + { + if(game.use_compat) + { + compat_tool_id = game.compat_tool; + } + } + + if(compat_tool_ids != null) + { + var has_tool = false; + if(compat_tool_id != null) + { + foreach(var id in compat_tool_ids) + { + if(compat_tool_id == id || compat_tool_id.has_prefix(@"$(id)_")) + { + has_tool = true; + break; + } + } + } + if(!has_tool) return false; + } + + return true; + } + + public Json.Node? to_json() + { + if((platforms == null || platforms.size == 0) && (compat_tool_ids == null || compat_tool_ids.size == 0)) + { + return null; + } + + var node = new Json.Node(Json.NodeType.OBJECT); + var obj = new Json.Object(); + + if(platforms != null && platforms.size > 0) + { + var platforms_array = new Json.Array.sized(platforms.size); + foreach(var platform in platforms) + { + platforms_array.add_string_element(platform.id()); + } + obj.set_array_member("platforms", platforms_array); + } + + if(compat_tool_ids != null && compat_tool_ids.size > 0) + { + var tools_array = new Json.Array.sized(compat_tool_ids.size); + foreach(var tool_id in compat_tool_ids) + { + tools_array.add_string_element(tool_id); + } + obj.set_array_member("compat", tools_array); + } + + node.set_object(obj); + return node; + } + } + } +} diff --git a/src/meson.build b/src/meson.build index f34fccfd..741cecb2 100644 --- a/src/meson.build +++ b/src/meson.build @@ -89,6 +89,8 @@ sources = [ 'data/providers/images/JinxSGVI.vala', 'data/providers/data/IGDB.vala', + 'data/tweaks/Tweak.vala', + 'ui/windows/MainWindow.vala', 'ui/windows/WebAuthWindow.vala', @@ -98,6 +100,7 @@ sources = [ 'ui/dialogs/SettingsDialog/pages/ui/Appearance.vala', 'ui/dialogs/SettingsDialog/pages/ui/Behavior.vala', 'ui/dialogs/SettingsDialog/pages/general/Collection.vala', + 'ui/dialogs/SettingsDialog/pages/general/Tweaks.vala', 'ui/dialogs/SettingsDialog/pages/sources/Steam.vala', 'ui/dialogs/SettingsDialog/pages/sources/GOG.vala', 'ui/dialogs/SettingsDialog/pages/sources/Humble.vala', @@ -114,6 +117,7 @@ sources = [ 'ui/dialogs/CompatRunDialog.vala', 'ui/dialogs/CorruptedInstallerDialog.vala', 'ui/dialogs/ImportEmulatedGamesDialog.vala', + 'ui/dialogs/GameTweaksDialog.vala', 'ui/views/BaseView.vala', 'ui/views/WelcomeView.vala', @@ -154,6 +158,7 @@ sources = [ 'ui/widgets/OverlayBar.vala', 'ui/widgets/Welcome.vala', 'ui/widgets/SettingsSidebar.vala', + 'ui/widgets/TweaksList.vala', 'utils/Utils.vala', 'utils/ImageCache.vala', @@ -169,6 +174,7 @@ sources = [ 'settings/Compat.vala', 'settings/Providers.vala', 'settings/Controller.vala', + 'settings/Tweaks.vala', 'utils/downloader/Downloader.vala', 'utils/downloader/SoupDownloader.vala' diff --git a/src/settings/Tweaks.vala b/src/settings/Tweaks.vala new file mode 100644 index 00000000..3aafa1f7 --- /dev/null +++ b/src/settings/Tweaks.vala @@ -0,0 +1,45 @@ +/* +This file is part of GameHub. +Copyright (C) 2018-2019 Anatoliy Kashkin + +GameHub is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +GameHub is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GameHub. If not, see . +*/ + + + +namespace GameHub.Settings +{ + public class Tweaks: SettingsSchema + { + public string[] global { get; set; } + + public Tweaks() + { + base(ProjectConfig.PROJECT_NAME + ".tweaks"); + } + + private static Tweaks? _instance; + public static unowned Tweaks instance + { + get + { + if(_instance == null) + { + _instance = new Tweaks(); + } + return _instance; + } + } + } +} diff --git a/src/ui/dialogs/GamePropertiesDialog.vala b/src/ui/dialogs/GamePropertiesDialog.vala index b4ae9f9a..ad0382da 100644 --- a/src/ui/dialogs/GamePropertiesDialog.vala +++ b/src/ui/dialogs/GamePropertiesDialog.vala @@ -365,12 +365,9 @@ namespace GameHub.UI.Dialogs return entry; } - private Box add_switch(string text, bool enabled, owned SwitchAction action) + private Box add_row(string text, Widget widget) { - var sw = new Switch(); - sw.active = enabled; - sw.halign = Align.END; - sw.notify["active"].connect(() => { action(sw.active); }); + widget.halign = Align.END; var label = new Label(text); label.halign = Align.START; @@ -381,7 +378,7 @@ namespace GameHub.UI.Dialogs hbox.margin_start = 8; hbox.add(label); - hbox.add(sw); + hbox.add(widget); hbox.show_all(); @@ -389,6 +386,14 @@ namespace GameHub.UI.Dialogs return hbox; } + private Box add_switch(string text, bool enabled, owned SwitchAction action) + { + var sw = new Switch(); + sw.active = enabled; + sw.notify["active"].connect(() => { action(sw.active); }); + return add_row(text, sw); + } + protected delegate void SwitchAction(bool active); } } diff --git a/src/ui/dialogs/GameTweaksDialog.vala b/src/ui/dialogs/GameTweaksDialog.vala new file mode 100644 index 00000000..5486ebc7 --- /dev/null +++ b/src/ui/dialogs/GameTweaksDialog.vala @@ -0,0 +1,80 @@ +/* +This file is part of GameHub. +Copyright (C) 2018-2019 Anatoliy Kashkin + +GameHub is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +GameHub is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GameHub. If not, see . +*/ + +using Gtk; +using Gdk; +using Gee; + +using GameHub.Data; +using GameHub.Data.DB; +using GameHub.Utils; +using GameHub.UI.Widgets; + +namespace GameHub.UI.Dialogs +{ + public class GameTweaksDialog: Dialog + { + public TweakableGame? game { get; construct; } + + private Box content; + private TweaksList tweaks_list; + private ScrolledWindow tweaks_list_scroll; + + public GameTweaksDialog(TweakableGame? game) + { + Object(transient_for: Windows.MainWindow.instance, resizable: false, title: _("%s: Tweaks").printf(game.name), game: game); + } + + construct + { + get_style_context().add_class("rounded"); + get_style_context().add_class(Gtk.STYLE_CLASS_FLAT); + + gravity = Gdk.Gravity.NORTH; + + content = new Box(Orientation.VERTICAL, 0); + content.margin_start = content.margin_end = 6; + + var tweaks_header = Styled.H4Label(_("Tweaks")); + tweaks_header.xpad = 8; + content.add(tweaks_header); + + tweaks_list = new TweaksList(game); + tweaks_list.get_style_context().add_class("separated-list"); + tweaks_list.hexpand = false; + + tweaks_list_scroll = new ScrolledWindow(null, null); + tweaks_list_scroll.get_style_context().add_class(Gtk.STYLE_CLASS_FRAME); + tweaks_list_scroll.hscrollbar_policy = PolicyType.NEVER; + tweaks_list_scroll.vexpand = true; + #if GTK_3_22 + tweaks_list_scroll.propagate_natural_width = true; + tweaks_list_scroll.propagate_natural_height = true; + tweaks_list_scroll.max_content_height = 520; + #endif + tweaks_list_scroll.add(tweaks_list); + + content.add(tweaks_list_scroll); + + get_content_area().add(content); + get_content_area().set_size_request(480, -1); + + show_all(); + } + } +} diff --git a/src/ui/dialogs/ImportEmulatedGamesDialog.vala b/src/ui/dialogs/ImportEmulatedGamesDialog.vala index d2eee873..517fe8aa 100644 --- a/src/ui/dialogs/ImportEmulatedGamesDialog.vala +++ b/src/ui/dialogs/ImportEmulatedGamesDialog.vala @@ -266,7 +266,7 @@ namespace GameHub.UI.Dialogs sp = sp.substring(sp.index_of_nth_char(2)); } - var files_list = Utils.run({"find", root.get_path(), "-path", "*/" + sp, "-type", "f"}, null, null, false, true, false); + var files_list = Utils.run({"find", root.get_path(), "-path", "*/" + sp, "-type", "f"}).log(false).run_sync(true).output; var files = files_list.split("\n"); foreach(var file_path in files) @@ -383,7 +383,7 @@ namespace GameHub.UI.Dialogs ext = ext.strip(); if(ext in ignored_extensions) continue; - var files_list = Utils.run({"find", root.get_path(), "-path", "*/*." + ext, "-type", "f"}, null, null, false, true, false); + var files_list = Utils.run({"find", root.get_path(), "-path", "*/*." + ext, "-type", "f"}).log(false).run_sync(true).output; var files = files_list.split("\n"); foreach(var file_path in files) @@ -629,7 +629,7 @@ namespace GameHub.UI.Dialogs sp = sp.replace("${basename}", basename).replace("$basename", basename); - var files_list = Utils.run({"find", directory.get_path(), "-path", "*/" + sp}, null, null, false, true, false); + var files_list = Utils.run({"find", directory.get_path(), "-path", "*/" + sp}).log(false).run_sync(true).output; var files = files_list.split("\n"); foreach(var file_path in files) diff --git a/src/ui/dialogs/SettingsDialog/SettingsDialog.vala b/src/ui/dialogs/SettingsDialog/SettingsDialog.vala index faf1bea0..2c15973f 100644 --- a/src/ui/dialogs/SettingsDialog/SettingsDialog.vala +++ b/src/ui/dialogs/SettingsDialog/SettingsDialog.vala @@ -83,6 +83,7 @@ namespace GameHub.UI.Dialogs.SettingsDialog add_page("ui/behavior", new Pages.UI.Behavior(this)); add_page("general/collection", new Pages.General.Collection(this)); + add_page("general/tweaks", new Pages.General.Tweaks(this)); #if MANETTE add_page("general/controller", new Pages.General.Controller(this)); #endif diff --git a/src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala b/src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala new file mode 100644 index 00000000..01654f7a --- /dev/null +++ b/src/ui/dialogs/SettingsDialog/pages/general/Tweaks.vala @@ -0,0 +1,105 @@ +/* +This file is part of GameHub. +Copyright (C) 2018-2019 Anatoliy Kashkin + +GameHub is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +GameHub is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GameHub. If not, see . +*/ + +using Gtk; + +using GameHub.Data; +using GameHub.Utils; +using GameHub.UI.Widgets; + +namespace GameHub.UI.Dialogs.SettingsDialog.Pages.General +{ + public class Tweaks: SettingsDialogPage + { + public Tweaks(SettingsDialog dlg) + { + Object( + dialog: dlg, + title: _("Tweaks"), + description: _("Tweak launch options and apply them to games automatically"), + icon_name: "system-run" + ); + status = description; + } + + construct + { + root_grid.margin = 0; + header_grid.margin = 12; + header_grid.margin_bottom = 0; + content_area.margin = 0; + + var header = add_header(_("Tweaks")); + header.margin_start = header.margin_end = 12; + + var tweaks_list_scroll = add_widget(new ScrolledWindow(null, null)); + tweaks_list_scroll.get_style_context().add_class(Gtk.STYLE_CLASS_FRAME); + tweaks_list_scroll.hscrollbar_policy = PolicyType.NEVER; + + tweaks_list_scroll.margin_start = 7; + tweaks_list_scroll.margin_end = 3; + tweaks_list_scroll.margin_top = 0; + tweaks_list_scroll.margin_bottom = 6; + + var tweaks_list = new TweaksList(); + tweaks_list.get_style_context().add_class("separated-list"); + + tweaks_list_scroll.add(tweaks_list); + + #if GTK_3_22 + tweaks_list_scroll.propagate_natural_width = true; + tweaks_list_scroll.propagate_natural_height = true; + #else + tweaks_list_scroll.expand = true; + #endif + + add_dirs_info(); + } + + private void add_dirs_info() + { + var dirs = FSUtils.get_data_dirs("tweaks", true); + var last_dir = dirs.last(); + + var dirs_tooltip = """%s""".printf(_("Tweaks are loaded from following directories in order\nLast tweak overrides previous tweaks with same identifiers")) + "\n"; + foreach(var dir in dirs) + { + if(dir == last_dir) + dirs_tooltip += "\n• %s (%s)".printf(dir.get_path(), _("Click to open")); + else + dirs_tooltip += "\n• %s".printf(dir.get_path()); + } + + var dirs_btn = new Button(); + dirs_btn.hexpand = true; + dirs_btn.tooltip_markup = dirs_tooltip; + StyleClass.add(dirs_btn, Gtk.STYLE_CLASS_FLAT); + + var dirs_btn_label = new Label(_("Tweaks are loaded from %1$s and %2$d more directories (?)").printf(last_dir.get_path(), dirs.size - 1)); + dirs_btn_label.wrap = true; + dirs_btn_label.xalign = 0; + dirs_btn_label.use_markup = true; + + dirs_btn.add(dirs_btn_label); + + dirs_btn.clicked.connect(() => { Utils.open_uri(last_dir.get_uri()); }); + + add_widget(dirs_btn); + } + } +} diff --git a/src/ui/views/GamesView/GameContextMenu.vala b/src/ui/views/GamesView/GameContextMenu.vala index 84e3ce37..c12d892e 100644 --- a/src/ui/views/GamesView/GameContextMenu.vala +++ b/src/ui/views/GamesView/GameContextMenu.vala @@ -176,6 +176,14 @@ namespace GameHub.UI.Views.GamesView fs_overlays.activate.connect(() => new Dialogs.GameFSOverlaysDialog(game).show_all()); add(fs_overlays); } + + if(game is TweakableGame) + { + add(new Gtk.SeparatorMenuItem()); + var tweaks = new Gtk.MenuItem.with_label(_("Tweaks")); + tweaks.activate.connect(() => new Dialogs.GameTweaksDialog((TweakableGame) game).show_all()); + add(tweaks); + } } if(!(game is Sources.GOG.GOGGame.DLC)) diff --git a/src/ui/widgets/GameTagsList.vala b/src/ui/widgets/GameTagsList.vala index e3323bd5..8ba2ccf2 100644 --- a/src/ui/widgets/GameTagsList.vala +++ b/src/ui/widgets/GameTagsList.vala @@ -20,7 +20,6 @@ using Gtk; using Gdk; using Gee; - using GameHub.Data; using GameHub.Data.DB; diff --git a/src/ui/widgets/TweaksList.vala b/src/ui/widgets/TweaksList.vala new file mode 100644 index 00000000..80770767 --- /dev/null +++ b/src/ui/widgets/TweaksList.vala @@ -0,0 +1,145 @@ +/* +This file is part of GameHub. +Copyright (C) 2018-2019 Anatoliy Kashkin + +GameHub is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +GameHub is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GameHub. If not, see . +*/ + +using Gtk; +using Gdk; +using Gee; + +using GameHub.Data; +using GameHub.Data.Tweaks; + +namespace GameHub.UI.Widgets +{ + public class TweaksList: ListBox + { + public TweakableGame? game { get; construct; default = null; } + + public TweaksList(TweakableGame? game=null) + { + Object(game: game, selection_mode: SelectionMode.NONE); + } + + construct + { + update(); + } + + public void update(CompatTool? compat_tool=null) + { + this.foreach(w => w.destroy()); + + var tweaks = Tweak.load_tweaks(game == null); + + foreach(var tweak in tweaks.values) + { + if(game == null || tweak.is_applicable_to(game, compat_tool)) + { + add(new TweakRow(tweak, game)); + } + } + } + + private class TweakRow: ListBoxRow + { + public Tweak tweak { get; construct; } + public TweakableGame? game { get; construct; default = null; } + + public TweakRow(Tweak tweak, TweakableGame? game=null) + { + Object(tweak: tweak, game: game); + } + + construct + { + var grid = new Grid(); + grid.column_spacing = 12; + grid.margin_start = grid.margin_end = 8; + grid.margin_top = grid.margin_bottom = 4; + + var icon = new Image.from_icon_name(tweak.icon, IconSize.LARGE_TOOLBAR); + icon.valign = Align.CENTER; + + var name = new Label(tweak.name ?? tweak.id); + name.get_style_context().add_class("category-label"); + name.set_size_request(96, -1); + name.hexpand = true; + name.ellipsize = Pango.EllipsizeMode.END; + name.max_width_chars = 60; + name.xalign = 0; + name.valign = Align.CENTER; + + var description = new Label(tweak.description ?? _("No description")); + description.tooltip_text = tweak.description; + description.get_style_context().add_class(Gtk.STYLE_CLASS_DIM_LABEL); + description.hexpand = true; + description.ellipsize = Pango.EllipsizeMode.END; + description.max_width_chars = 60; + description.xalign = 0; + description.valign = Align.CENTER; + + var install = new Button.with_label(_("Install")); + install.valign = Align.CENTER; + install.sensitive = false; + + var enabled = new Switch(); + enabled.active = tweak.is_enabled(game); + enabled.valign = Align.CENTER; + + grid.attach(icon, 0, 0, 1, 2); + grid.attach(name, 1, 0); + grid.attach(description, 1, 1); + + if(tweak.url != null) + { + var url = new Button.from_icon_name("web-browser-symbolic", IconSize.SMALL_TOOLBAR); + url.tooltip_text = tweak.url; + url.valign = Align.CENTER; + url.get_style_context().add_class(Gtk.STYLE_CLASS_FLAT); + + url.clicked.connect(() => { + Utils.open_uri(tweak.url); + }); + + grid.attach(url, 2, 0, 1, 2); + } + + if(tweak.file != null && tweak.file.query_exists()) + { + var edit = new Button.from_icon_name("accessories-text-editor-symbolic", IconSize.SMALL_TOOLBAR); + edit.tooltip_text = _("Edit file"); + edit.valign = Align.CENTER; + edit.get_style_context().add_class(Gtk.STYLE_CLASS_FLAT); + + edit.clicked.connect(() => { + Utils.open_uri(tweak.file.get_uri()); + }); + + grid.attach(edit, 3, 0, 1, 2); + } + + grid.attach(enabled, 4, 0, 1, 2); + + enabled.notify["active"].connect(() => { + tweak.set_enabled(enabled.active, game); + }); + + child = grid; + } + } + } +} diff --git a/src/utils/FSOverlay.vala b/src/utils/FSOverlay.vala index 974d24f8..aacf9e5a 100644 --- a/src/utils/FSOverlay.vala +++ b/src/utils/FSOverlay.vala @@ -102,16 +102,16 @@ namespace GameHub.Utils yield polkit_authenticate(); - yield Utils.run_thread({"pkexec", POLKIT_HELPER, "mount", id, options, target.get_path()}, null, null, false, false, GameHub.Application.log_verbose); + yield Utils.run({"pkexec", POLKIT_HELPER, "mount", id, options, target.get_path()}).log(GameHub.Application.log_verbose).run_sync_thread(); } public async void umount() { yield polkit_authenticate(); - while(id in (yield Utils.run_thread({"mount"}, null, null, false, true, false))) + while(id in (yield Utils.run({"mount"}).log(false).run_sync_thread(true)).output) { - yield Utils.run_thread({"pkexec", POLKIT_HELPER, "umount", id}, null, null, false, false, GameHub.Application.log_verbose); + yield Utils.run({"pkexec", POLKIT_HELPER, "umount", id}).log(GameHub.Application.log_verbose).run_sync_thread(); yield Utils.sleep_async(500); } diff --git a/src/utils/FSUtils.vala b/src/utils/FSUtils.vala index e67dfd95..b0d34c20 100644 --- a/src/utils/FSUtils.vala +++ b/src/utils/FSUtils.vala @@ -63,7 +63,7 @@ namespace GameHub.Utils public class Cache { - public const string Home = "~/.cache/com.github.tkashkin.gamehub"; + public const string Home = "~/.cache/" + ProjectConfig.PROJECT_NAME; public const string Cookies = FSUtils.Paths.Cache.Home + "/cookies"; @@ -78,6 +78,20 @@ namespace GameHub.Utils public const string Sources = FSUtils.Paths.Cache.Home + "/sources"; } + public class LocalData + { + public const string Home = "~/.local/share/" + ProjectConfig.PROJECT_NAME; + public const string Tweaks = FSUtils.Paths.LocalData.Home + "/tweaks"; + public const string DOSBoxConfigs = FSUtils.Paths.LocalData.Home + "/compat/dosbox"; + } + + public class Config + { + public const string Home = "~/.config/" + ProjectConfig.PROJECT_NAME; + public const string Tweaks = FSUtils.Paths.Config.Home + "/tweaks"; + public const string DOSBoxConfigs = FSUtils.Paths.Config.Home + "/compat/dosbox"; + } + public class Steam { public static string Home { owned get { return FSUtils.Paths.Settings.instance.steam_home; } } @@ -290,6 +304,8 @@ namespace GameHub.Utils } } expanded_path = Utils.replace_prefix(expanded_path, "~/.cache", Environment.get_user_cache_dir()); + expanded_path = Utils.replace_prefix(expanded_path, "~/.local/share", Environment.get_user_data_dir()); + expanded_path = Utils.replace_prefix(expanded_path, "~/.config", Environment.get_user_config_dir()); expanded_path = Utils.replace_prefix(expanded_path, "~", Environment.get_home_dir()); expanded_path = expanded_path + (file != null && file != "" ? "/" + file : ""); #if OS_WINDOWS @@ -351,6 +367,50 @@ namespace GameHub.Utils return null; } + public static ArrayList get_data_dirs(string? subdir=null, bool with_nonexistent=false) + { + var data_path = ProjectConfig.PROJECT_NAME + (subdir != null ? @"/$(subdir)" : ""); + + string[] data_dirs = { FSUtils.file(ProjectConfig.DATADIR, data_path).get_path() }; + var system_data_dirs = Environment.get_system_data_dirs(); + var user_data_dir = Environment.get_user_data_dir(); + var user_config_dir = Environment.get_user_config_dir(); + + if(system_data_dirs != null && system_data_dirs.length > 0) + { + foreach(var system_data_dir in system_data_dirs) + { + var dir = FSUtils.file(system_data_dir, data_path).get_path(); + if(!(dir in data_dirs)) data_dirs += dir; + } + } + + if(user_data_dir != null && user_data_dir.length > 0) + { + var dir = FSUtils.file(user_data_dir, data_path).get_path(); + if(!(dir in data_dirs)) data_dirs += dir; + } + + if(user_config_dir != null && user_config_dir.length > 0) + { + var dir = FSUtils.file(user_config_dir, data_path).get_path(); + if(!(dir in data_dirs)) data_dirs += dir; + } + + var dirs = new ArrayList(); + + foreach(var d in data_dirs) + { + var dir = FSUtils.file(d); + if(dir != null && (with_nonexistent || dir.query_exists())) + { + dirs.add(dir); + } + } + + return dirs; + } + public static File? mkdir(string? path, string? file=null, HashMap? variables=null) { try @@ -368,7 +428,7 @@ namespace GameHub.Utils public static void rm(string path, string? file=null, string flags="-f", HashMap? variables=null) { - Utils.run({"bash", "-c", "rm " + flags + " " + FSUtils.expand(path, file, variables).replace(" ", "\\ ") }, null, null, false, false, false); + Utils.run({"bash", "-c", "rm " + flags + " " + FSUtils.expand(path, file, variables).replace(" ", "\\ ")}).run_sync(); } public static void mv_up(File? path, string dirname) @@ -425,6 +485,14 @@ namespace GameHub.Utils mkdir(FSUtils.Paths.Cache.Graphics); mkdir(FSUtils.Paths.Humble.Cache); + mkdir(FSUtils.Paths.LocalData.Home); + mkdir(FSUtils.Paths.LocalData.Tweaks); + mkdir(FSUtils.Paths.LocalData.DOSBoxConfigs); + + mkdir(FSUtils.Paths.Config.Home); + mkdir(FSUtils.Paths.Config.Tweaks); + mkdir(FSUtils.Paths.Config.DOSBoxConfigs); + // remove old images cache var old_images_cache = file(FSUtils.Paths.Cache.OldImages); if(old_images_cache != null && old_images_cache.query_exists()) diff --git a/src/utils/Utils.vala b/src/utils/Utils.vala index cbd9b7c9..0bc0fe32 100644 --- a/src/utils/Utils.vala +++ b/src/utils/Utils.vala @@ -18,6 +18,8 @@ along with GameHub. If not, see . using Gtk; +using GameHub.Data; +using GameHub.Data.Tweaks; namespace GameHub.Utils { @@ -79,125 +81,208 @@ namespace GameHub.Utils return null; } - public static string run(string[] cmd, string? dir=null, string[]? env=null, bool override_runtime=false, bool capture_output=false, bool log=true) + public class RunTask { - string sout = ""; - string serr = ""; + private string[] _cmd; + private string? _dir = null; + private string[]? _env = null; + private bool _override_runtime = false; + private bool _log = true; + private Tweak[]? _tweaks = null; - var cdir = dir ?? Environment.get_home_dir(); - var cenv = env ?? Environ.get(); + public RunTask(string[] cmd) { _cmd = cmd; } - #if FLATPAK - if(override_runtime && ProjectConfig.RUNTIME.length > 0) - { - cenv = Environ.set_variable(cenv, "LD_LIBRARY_PATH", ProjectConfig.RUNTIME); - } - string[] ccmd = { "flatpak-spawn", "--host" }; - foreach(var arg in cmd) - { - ccmd += arg; - } - #else - string[] ccmd = cmd; - #endif - - #if APPIMAGE - cenv = Environ.unset_variable(cenv, "LD_LIBRARY_PATH"); - cenv = Environ.unset_variable(cenv, "LD_PRELOAD"); - #endif + public RunTask cmd(string[] cmd) { _cmd = cmd; return this; } + public RunTask dir(string? dir=null) { _dir = dir; return this; } + public RunTask env(string[]? env=null) { _env = env; return this; } + public RunTask override_runtime(bool override_runtime=false) { _override_runtime = override_runtime; return this; } + public RunTask log(bool log=true) { _log = log; return this; } + public RunTask tweaks(Tweak[]? tweaks=null) { _tweaks = tweaks; return this; } - try + private void expand() { - #if OS_WINDOWS - log = true; - #endif + _dir = _dir ?? Environment.get_home_dir(); + _env = _env ?? Environ.get(); - if(log) debug("[Utils.run] {'%s'}; dir: '%s'", string.joinv("' '", cmd), cdir); + #if APPIMAGE + _env = Environ.unset_variable(_env, "LD_LIBRARY_PATH"); + _env = Environ.unset_variable(_env, "LD_PRELOAD"); + #endif - if(capture_output) + if(_tweaks != null) { - Process.spawn_sync(cdir, ccmd, cenv, SpawnFlags.SEARCH_PATH, null, out sout, out serr); - sout = sout.strip(); - serr = serr.strip(); - if(log) + foreach(var tweak in _tweaks) { - if(sout.length > 0) print(sout + "\n"); - if(serr.length > 0) warning(serr); + if(tweak.env != null) + { + foreach(var env_var in tweak.env.entries) + { + if(env_var.value != null) + { + _env = Environ.set_variable(_env, env_var.key, env_var.value); + } + else + { + _env = Environ.unset_variable(_env, env_var.key); + } + } + } + + if(tweak.command != null && tweak.command.length > 0) + { + string[] tweaked_cmd = _cmd; + var tweak_cmd = Utils.parse_args(tweak.command); + if(tweak_cmd != null) + { + if("$command" in tweak_cmd || "${command}" in tweak_cmd) + { + tweaked_cmd = {}; + } + foreach(var arg in tweak_cmd) + { + if(arg == "$command" || arg == "${command}") + { + foreach(var a in _cmd) + { + tweaked_cmd += a; + } + } + else + { + tweaked_cmd += arg; + } + } + } + _cmd = tweaked_cmd; + } } } - else + + #if FLATPAK + if(_override_runtime && ProjectConfig.RUNTIME.length > 0) { - Process.spawn_sync(cdir, ccmd, cenv, SpawnFlags.SEARCH_PATH | SpawnFlags.CHILD_INHERITS_STDIN, null); + _env = Environ.set_variable(_env, "LD_LIBRARY_PATH", ProjectConfig.RUNTIME); } + string[] cmd = { "flatpak-spawn", "--host" }; + foreach(var arg in _cmd) + { + cmd += arg; + } + _cmd = cmd; + #endif } - catch (Error e) + + public Result? run_sync(bool capture_output=false) { - warning("[Utils.run] %s", e.message); - } - return sout; - } + expand(); + try + { + #if OS_WINDOWS + log = true; + #endif - public static async void run_async(string[] cmd, string? dir=null, string[]? env=null, bool override_runtime=false, bool wait=true, bool log=true) - { - Pid pid; + if(_log) debug("[RunTask.run_sync] {'%s'}; dir: '%s'", string.joinv("' '", _cmd), _dir); - var cdir = dir ?? Environment.get_home_dir(); - var cenv = env ?? Environ.get(); + int status; + if(capture_output) + { + string sout; + string serr; + Process.spawn_sync(_dir, _cmd, _env, SpawnFlags.SEARCH_PATH, null, out sout, out serr, out status); + sout = sout.strip(); + serr = serr.strip(); + if(_log) + { + if(sout.length > 0) print(sout + "\n"); + if(serr.length > 0) warning(serr); + } + return new Result(status, sout, serr); + } + else + { + Process.spawn_sync(_dir, _cmd, _env, SpawnFlags.SEARCH_PATH | SpawnFlags.CHILD_INHERITS_STDIN | SpawnFlags.STDERR_TO_DEV_NULL, null, null, null, out status); + return new Result(status); + } + } + catch (Error e) + { + warning("[RunTask.run_sync] %s", e.message); + } + return null; + } - #if FLATPAK - if(override_runtime && ProjectConfig.RUNTIME.length > 0) + public async Result? run_sync_thread(bool capture_output=false) { - cenv = Environ.set_variable(cenv, "LD_LIBRARY_PATH", ProjectConfig.RUNTIME); + Result? result = null; + Utils.thread("RunTask.run_sync_thread", () => { + result = run_sync(capture_output); + Idle.add(run_sync_thread.callback); + }, _log); + yield; + return result; } - string[] ccmd = { "flatpak-spawn", "--host" }; - foreach(var arg in cmd) + + public async Result? run_async(bool wait=true) { - ccmd += arg; + expand(); + Result? result = null; + try + { + if(_log) debug("[RunTask.run_async] Running {'%s'} in '%s'", string.joinv("' '", _cmd), _dir); + Pid pid; + Process.spawn_async(_dir, _cmd, _env, SpawnFlags.SEARCH_PATH | SpawnFlags.DO_NOT_REAP_CHILD, null, out pid); + ChildWatch.add(pid, (pid, status) => { + Process.close_pid(pid); + result = new Result(status); + Idle.add(run_async.callback); + }); + } + catch (Error e) + { + warning("[RunTask.run_async] %s", e.message); + } + if(wait) yield; + return result; } - #else - string[] ccmd = cmd; - #endif - #if APPIMAGE - cenv = Environ.unset_variable(cenv, "LD_LIBRARY_PATH"); - cenv = Environ.unset_variable(cenv, "LD_PRELOAD"); - #endif - - try + public class Result { - if(log) debug("[Utils.run_async] Running {'%s'} in '%s'", string.joinv("' '", cmd), cdir); - Process.spawn_async(cdir, ccmd, cenv, SpawnFlags.SEARCH_PATH | SpawnFlags.DO_NOT_REAP_CHILD, null, out pid); + public int? status; + public int? exit_code; + public string? output; + public string? errors; - ChildWatch.add(pid, (pid, status) => { - Process.close_pid(pid); - Idle.add(run_async.callback); - }); - } - catch (Error e) - { - warning("[Utils.run_async] %s", e.message); - } + public Result(int? status, string? output=null, string? errors=null) + { + this.status = status; + this.output = output; + this.errors = errors; + if(this.status != null) + { + this.exit_code = Process.exit_status(this.status); + } + } - if(wait) yield; + public bool check_status() throws Error + { + if(this.status != null) + { + return Process.check_exit_status(this.status); + } + return true; + } + } } - public static async string run_thread(string[] cmd, string? dir=null, string[]? env=null, bool override_runtime=false, bool capture_output=false, bool log=true) + public static RunTask run(string[] cmd) { - string sout = ""; - - Utils.thread("Utils.run_thread", () => { - sout = Utils.run(cmd, dir, env, override_runtime, capture_output, log); - Idle.add(run_thread.callback); - }, log); - - yield; - return sout; + return new RunTask(cmd); } public static File? find_executable(string? name) { if(name == null || name.length == 0) return null; - var which = Environment.find_program_in_path(name) ?? run({ "which", name }, null, null, false, true, false); + var which = Environment.find_program_in_path(name) ?? run({"which", name}).log(false).run_sync(true).output; if(which == null || which.length == 0 || !which.has_prefix("/")) { return null; @@ -226,7 +311,7 @@ namespace GameHub.Utils if(distro != null) return distro; #if OS_LINUX - distro = Utils.run({"bash", "-c", "lsb_release -ds 2>/dev/null || cat /etc/*release 2>/dev/null | head -n1 || uname -om"}, null, null, false, true, false).replace("\"", ""); + distro = Utils.run({"bash", "-c", "lsb_release -ds 2>/dev/null || cat /etc/*release 2>/dev/null | head -n1 || uname -om"}).log(false).run_sync(true).output.replace("\"", ""); #if APPIMAGE distro = "[AppImage] " + distro; #elif FLATPAK @@ -290,7 +375,7 @@ namespace GameHub.Utils #if APPIMAGE || FLATPAK || SNAP return false; #elif PM_APT - var output = Utils.run({"dpkg-query", "-W", "-f=${Status}", package}, null, null, false, true, false); + var output = Utils.run({"dpkg-query", "-W", "-f=${Status}", package}).log(false).run_sync(true).output; return "install ok installed" in output; #else return false;