├── .editorconfig
├── .github
├── ISSUE_TEMPLATE
│ ├── bug-report.md
│ ├── config.yml
│ └── feature-request.md
└── workflows
│ └── main.yml
├── .gitignore
├── LICENSE
├── README.md
├── data
├── icons
│ ├── hicolor
│ │ ├── scalable
│ │ │ └── apps
│ │ │ │ ├── io.github.Foldex.AdwSteamGtk.Devel.svg
│ │ │ │ └── io.github.Foldex.AdwSteamGtk.svg
│ │ └── symbolic
│ │ │ └── apps
│ │ │ └── io.github.Foldex.AdwSteamGtk-symbolic.svg
│ ├── io.github.Foldex.AdwSteamGtk.Source.svg
│ └── meson.build
├── io.github.Foldex.AdwSteamGtk.appdata.xml.in
├── io.github.Foldex.AdwSteamGtk.desktop.in
├── io.github.Foldex.AdwSteamGtk.gschema.xml
└── meson.build
├── img
├── screen.png
└── update.png
├── io.github.Foldex.AdwSteamGtk.json
├── meson.build
├── po
├── AdwSteamGtk.pot
├── LINGUAS
├── POTFILES
├── README.md
├── ar.po
├── be.po
├── ca.po
├── ckb.po
├── cs.po
├── de.po
├── es.po
├── fi.po
├── fr.po
├── hi.po
├── hu.po
├── it.po
├── meson.build
├── nl.po
├── pt.po
├── pt_BR.po
├── ru.po
├── sr.po
├── sv.po
├── ta.po
├── tr.po
├── uk.po
├── update_pot.sh
└── zh_Hans.po
└── src
├── __init__.py
├── adwaita-steam-gtk.in
├── adwaita_steam_gtk.gresource.xml
├── cli.py
├── custom_css.py
├── dl.py
├── info.py.in
├── install.py
├── main.py
├── meson.build
├── pages
├── prefs.py
└── window.py
├── paths.py
├── style.py
├── ui
├── prefs.blp
└── window.blp
├── update.py
└── zip.py
/.editorconfig:
--------------------------------------------------------------------------------
1 | # 4 space
2 | [*.{json,py}]
3 | indent_style = space
4 | indent_size = 4
5 |
6 | # 2 space
7 | [*.{blp,build,xml,xml.in}]
8 | indent_style = space
9 | indent_size = 2
10 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug-report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug Report
3 | about: Report an issue with functionality (e.g. The installer crashes)
4 | title: 'Bug Report: '
5 | labels: 'bug'
6 | assignees: ''
7 |
8 | ---
9 |
10 | **This is not an issue with [Adwaita for Steam](https://github.com/tkashkin/Adwaita-for-Steam) itself (Not a visual glitch, Colortheme Request, etc):**
11 |
12 | - [ ] Yes
13 |
14 | **I have tried using the [Adwaita for Steam CLI Install Script](https://github.com/tkashkin/Adwaita-for-Steam) and this issue only occurs with AdwSteamGtk**
15 |
16 | - [ ] Yes
17 |
18 | **I have checked the [Troubleshooting](https://github.com/Foldex/AdwSteamGtk/wiki/Troubleshooting) page**
19 |
20 | - [ ] Yes
21 |
22 | **Description of Issue:**
23 |
24 | X does not work.
25 |
26 | **Steps to Reproduce:**
27 | 1. X
28 | 2. Y
29 | 3. Z
30 |
31 | **[CLI Output](https://github.com/Foldex/AdwSteamGtk/wiki/Troubleshooting#running-in-cli):**
32 | ```
33 | flatpak run io.github.Foldex.AdwSteamGtk
34 | → Copying to the stage directory /tmp/tmpybwucd5k/Adwaita
35 |
36 | → Applying web_extra login/hide_qr...
37 | → Applying web_extra library/hide_whats_new...
38 |
39 | → Installing skin Adwaita into /home/foldex/.var/app/com.valvesoftware.Steam/.local/share/Steam/skins...
40 | ✦ Directory /home/foldex/.steam/steam does not exist
41 | ```
42 |
43 | **Other Info (Screenshots, etc):**
44 | - X
45 | - Y
46 | - Z
47 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Adwaita for Steam
4 | url: https://github.com/tkashkin/Adwaita-for-Steam/issues
5 | about: Please report issues with the theme here. (e.g. The theme is visually broken somehow)
6 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature-request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature Request
3 | about: Suggest an idea for this project
4 | title: 'Feature Request: '
5 | labels: 'enhancement'
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: Tagged Release
2 | on:
3 | push:
4 | tags:
5 | - "v*"
6 | jobs:
7 | tagged-release:
8 | runs-on: ubuntu-latest
9 | container:
10 | image: bilelmoussaoui/flatpak-github-actions:gnome-47
11 | options: --privileged
12 | steps:
13 | - uses: actions/checkout@v4
14 | - uses: flatpak/flatpak-github-actions/flatpak-builder@v6
15 | with:
16 | bundle: io.github.Foldex.AdwSteamGtk.flatpak
17 | manifest-path: io.github.Foldex.AdwSteamGtk.json
18 | cache-key: flatpak-builder-${{ github.sha }}
19 | - uses: "marvinpinto/action-automatic-releases@latest"
20 | with:
21 | repo_token: "${{ secrets.GITHUB_TOKEN }}"
22 | prerelease: false
23 | files: |
24 | *.flatpak
25 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | build-dir
2 | .flatpak-builder
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # AdwSteamGtk
2 |
3 | A simple GTK wrapper that installs and updates the [Adwaita for Steam](https://github.com/tkashkin/Adwaita-for-Steam) skin.
4 |
5 |
6 |
7 | ## Installation
8 |
9 | Available on Flathub
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | Arch AUR Build (Unofficial)
18 |
19 |
20 |
21 |
22 |
23 | ## Skin Install
24 |
25 | 1. Install via app
26 | 2. Restart Steam if running
27 |
28 | ## Skin Updates
29 |
30 | On Startup new releases will automatically be downloaded and display a notification:
31 |
32 |
33 |
34 | Simply reinstall the skin afterwards to update.
35 |
36 | ## Command Line Usage
37 |
38 | `flatpak run io.github.Foldex.AdwSteamGtk`
39 |
40 | | Arg | Short | Description |
41 | | -------------- | ------ | -------------------------------------------------------- |
42 | | --check | -c | Checks for updates and displays a notification |
43 | | --install | -i | Checks for updates and installs them, always installs |
44 | | --options | -o | Overrides Install Options, see below |
45 | | --update | -u | Checks for updates and installs them |
46 |
47 | ### Install Options
48 |
49 | By default installs with `-i/-u` will use your last selected settings within the app.
50 |
51 | You may override this by using `-o` option.
52 |
53 | Please note that these options are one time overrides, they will not save themselves.
54 |
55 | Options should be passed as a single string like so:
56 |
57 | `flatpak run io.github.Foldex.AdwSteamGtk -i -o 'option_name:option_value;option_name:option_value'`
58 |
59 | | Key | Description | Accepted Values |
60 | | ------------------- | ----------------------------------------------------------- | -------------------------------------------------------- |
61 | | color_theme | Colortheme for skin | Any valid theme name |
62 | | library_sidebar | Display Options for Library Sidebar | show, hover_only |
63 | | library_whats_new | Show the Library What's New Section | true, false, yes, no, on, off, t, f, y, n |
64 | | login_qr | Display Options for the QR Code Login | show, hover_only, hide |
65 | | rounded_corners | Show Rounded Corners on Elements | true, false, yes, no, on, off, t, f, y, n |
66 | | win_controls | Window Controls Themes | adwaita, macos, windows |
67 | | win_controls_layout | Window Controls Layout of Buttons | auto, adwaita, elementary, macos, windows |
68 |
69 | ## Troubleshooting
70 |
71 | See [Troubleshooting](https://github.com/Foldex/AdwSteamGtk/wiki/Troubleshooting)
72 |
73 | ## Translations
74 |
75 |
76 |
77 |
78 |
79 | The [Weblate](https://hosted.weblate.org/projects/adwsteamgtk/adwsteamgtk/) platform is the preferred method of contributing translations.
80 |
81 | [Manual Instructions](/po) do exist for an alternative method of contributing as well.
82 |
83 | ## Building
84 |
85 | It is recommended to use [Gnome Builder](https://wiki.gnome.org/Apps/Builder) or `flatpak-builder` to build the project.
86 |
87 | ```
88 | flatpak install org.gnome.Platform//47 org.gnome.Sdk//47
89 | flatpak-builder --install --force-clean --user build-dir io.github.Foldex.AdwSteamGtk.json
90 | ```
91 |
92 | See the below requirements otherwise.
93 |
94 | ### Requirements
95 |
96 | - Blueprint Compiler >= `0.8.0`
97 | - GTK4
98 | - Libadwaita
99 | - Libportal
100 | - Meson
101 | - Ninja
102 | - PyGObject
103 | - Python >= `3.10`
104 | - Python python-packaging
105 |
106 |
--------------------------------------------------------------------------------
/data/icons/hicolor/scalable/apps/io.github.Foldex.AdwSteamGtk.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
--------------------------------------------------------------------------------
/data/icons/hicolor/symbolic/apps/io.github.Foldex.AdwSteamGtk-symbolic.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/data/icons/meson.build:
--------------------------------------------------------------------------------
1 | application_id = 'io.github.Foldex.AdwSteamGtk'
2 |
3 | scalable_dir = join_paths('hicolor', 'scalable', 'apps')
4 | install_data(
5 | join_paths(scalable_dir, ('@0@.svg').format(application_id)),
6 | install_dir: join_paths(get_option('datadir'), 'icons', scalable_dir)
7 | )
8 |
9 | symbolic_dir = join_paths('hicolor', 'symbolic', 'apps')
10 | install_data(
11 | join_paths(symbolic_dir, ('@0@-symbolic.svg').format(application_id)),
12 | install_dir: join_paths(get_option('datadir'), 'icons', symbolic_dir)
13 | )
14 |
--------------------------------------------------------------------------------
/data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:
--------------------------------------------------------------------------------
1 |
2 |
3 | CC0-1.0
4 | GPL-3.0-or-later
5 | foldex_at_pm.dot.me
6 |
7 |
8 |
9 | io.github.Foldex.AdwSteamGtk
10 | io.github.Foldex.AdwSteamGtk.desktop
11 |
12 | AdwSteamGtk
13 | Give Steam the Adwaita treatment
14 | Foldex
15 |
16 | Foldex
17 |
18 |
19 | https://github.com/Foldex/AdwSteamGtk
20 | https://github.com/Foldex/AdwSteamGtk/issues
21 | https://github.com/Foldex/AdwSteamGtk
22 | https://hosted.weblate.org/projects/adwsteamgtk/
23 |
24 |
25 |
26 | Make Steam look like it belongs on your computer. This app installs and updates the
27 | Adwaita-for-Steam skin for you. It's as simple as this:
28 |
29 |
30 | Configure the skin to your liking
31 | Click the “Apply” button
32 | Restart Steam
33 |
34 |
35 | On startup, the app will automatically download any updates to the skin and display a notification.
36 | Apply the skin again and restart Steam to take the changes into use.
37 |
38 | In order to get rounded corners on Steam, you will need to use the “Rounded Window Corners” GNOME extension.
39 |
40 |
41 |
42 | Game
43 | GTK
44 | Utility
45 |
46 |
47 |
48 |
49 |
50 |
51 | Fixed theme previews
52 | Allow previewing themes that are partial
53 | Window Controls can now be disabled entirely
54 | Updated Translations
55 |
56 |
57 |
58 |
59 |
60 |
61 | Improved error handling when retrieving window control settings through portal
62 |
63 |
64 |
65 |
66 |
67 |
68 | Fixed an issue when installing colorthemes through the CLI
69 |
70 |
71 |
72 |
73 |
74 |
75 | Updated to use new window control options
76 |
77 |
78 |
79 |
80 |
81 |
82 | Fixed Crash on Launch due to upstream changes
83 | Updated Hindi and Turkish Translations
84 | Added Italian Translation
85 |
86 |
87 |
88 |
89 |
90 |
91 | Added Belarusian, Chinese, Dutch, Finnish, Hindi, Portuguese, Swedish, and Turkish Translations
92 | Updated German Translation
93 | Updated Blueprint, pyparsing, packaging dependencies
94 | Updated to Gnome Runtime 46
95 |
96 |
97 |
98 |
99 |
100 |
101 | Added Czech Translation
102 | Added Spanish Translation
103 | Updated French Translation
104 | New Application Icon
105 | Updated Libportal
106 |
107 |
108 |
109 |
110 |
111 |
112 | Fixed issue with Uninstall
113 |
114 |
115 |
116 |
117 |
118 |
119 | Removed Deprecated Font Install Preference
120 |
121 |
122 |
123 |
124 |
125 |
126 | Fixed Appdata
127 | Removed some options that no longer exist upstream
128 |
129 |
130 |
131 |
132 |
133 |
134 | Updated Russian Translation
135 | Updated to new upstream install method
136 |
137 |
138 |
139 |
140 |
141 |
142 | Updated German and Ukrainian Translations
143 | Added Portuguese Translation
144 |
145 |
146 |
147 |
148 |
149 |
150 | Fixed Appdata
151 |
152 |
153 |
154 |
155 |
156 |
157 | Beta Toggle removed as new UI support landed upstream
158 | Added option to use Steam's Original Top Bar instead of our Adwaita styled one
159 | Initial German Translation
160 | Added hover tooltips to installer options
161 |
162 |
163 |
164 |
165 |
166 |
167 | Added French, Ukrainian, and Russian Translations
168 |
169 |
170 |
171 |
172 |
173 |
174 | New UI
175 | Added Experimental Beta Client Support (with new options)
176 | Added Custom CSS Option
177 |
178 |
179 |
180 |
181 |
182 |
183 | Added Autostart Update Check preference toggle
184 | Added Font Install preference toggle
185 |
186 |
187 |
188 |
189 |
190 |
191 | Fixed issue with theme preview on light mode
192 | Added preferences toggle for theme preview
193 |
194 |
195 |
196 |
197 |
198 |
199 | Colortheme is now previewed in app
200 | Added -u/-i arguments to install skin via commandline
201 | Added -o argument to override install options for -i/-u
202 |
203 |
204 |
205 |
206 |
207 |
208 | Added Library Sidebar Options
209 |
210 |
211 |
212 |
213 |
214 |
215 | Updated to Gnome 44 Runtime
216 | Changed Default Web Theme to Full Variant
217 |
218 |
219 |
220 |
221 |
222 |
223 | Fixed Installer CLI Output
224 |
225 |
226 |
227 |
228 |
229 |
230 | Added Color Theme Support
231 | Added -c argument to notify about updates
232 |
233 |
234 |
235 |
236 |
237 |
238 | Last chosen settings are now loaded at startup
239 | Changed display of install button if the theme is already installed
240 |
241 |
242 |
243 |
244 |
245 |
246 | Added None to Window Control Options
247 |
248 |
249 |
250 |
251 |
252 |
253 | Added QR Login Options
254 | Improved Missing Dir Messages
255 |
256 |
257 |
258 |
259 |
260 |
261 | Updated to Gnome 43 SDK
262 | Implemented AdwAboutWindow
263 | Updated Filesystem Permissions
264 | Fixed Quit Shortcut
265 | Fixed Current Check
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 | Main Window
276 | https://raw.githubusercontent.com/Foldex/AdwSteamGtk/main/img/screen.png
277 |
278 |
279 | Library Preview
280 | https://raw.githubusercontent.com/tkashkin/Adwaita-for-Steam/refs/heads/master/screenshots/library.png
281 |
282 |
283 | Login Preview
284 | https://raw.githubusercontent.com/tkashkin/Adwaita-for-Steam/master/adwaita/colorthemes/adwaita/preview.png
285 |
286 |
287 |
288 |
289 |
--------------------------------------------------------------------------------
/data/io.github.Foldex.AdwSteamGtk.desktop.in:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Name=AdwSteamGtk
3 | Comment=A simple wrapper that installs Adwaita for Steam
4 | Exec=adwaita-steam-gtk
5 | Icon=io.github.Foldex.AdwSteamGtk
6 | Terminal=false
7 | Type=Application
8 | Categories=GTK;Utility
9 | Keywords=Steam;Adwaita;Skin;
10 | StartupNotify=true
11 |
--------------------------------------------------------------------------------
/data/io.github.Foldex.AdwSteamGtk.gschema.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | "Adwaita"
8 |
9 |
10 |
11 | false
12 |
13 |
14 |
15 |
16 | "Adwaita"
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | "Auto"
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | "Show"
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | false
47 |
48 |
49 |
50 |
51 | "Show"
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 | false
62 |
63 |
64 |
65 | true
66 |
67 |
68 |
69 | false
70 |
71 |
72 |
73 | false
74 |
75 |
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/data/meson.build:
--------------------------------------------------------------------------------
1 | desktop_file = i18n.merge_file(
2 | input: 'io.github.Foldex.AdwSteamGtk.desktop.in',
3 | output: 'io.github.Foldex.AdwSteamGtk.desktop',
4 | type: 'desktop',
5 | po_dir: '../po',
6 | install: true,
7 | install_dir: join_paths(get_option('datadir'), 'applications')
8 | )
9 |
10 | desktop_utils = find_program('desktop-file-validate', required: false)
11 | if desktop_utils.found()
12 | test('Validate desktop file', desktop_utils,
13 | args: [desktop_file]
14 | )
15 | endif
16 |
17 | appstream_file = i18n.merge_file(
18 | input: 'io.github.Foldex.AdwSteamGtk.appdata.xml.in',
19 | output: 'io.github.Foldex.AdwSteamGtk.appdata.xml',
20 | po_dir: '../po',
21 | install: true,
22 | install_dir: join_paths(get_option('datadir'), 'appdata')
23 | )
24 |
25 | appstream_util = find_program('appstream-util', required: false)
26 | if appstream_util.found()
27 | test('Validate appstream file', appstream_util,
28 | args: ['validate', appstream_file]
29 | )
30 | endif
31 |
32 | install_data('io.github.Foldex.AdwSteamGtk.gschema.xml',
33 | install_dir: join_paths(get_option('datadir'), 'glib-2.0/schemas')
34 | )
35 |
36 | compile_schemas = find_program('glib-compile-schemas', required: false)
37 | if compile_schemas.found()
38 | test('Validate schema file', compile_schemas,
39 | args: ['--strict', '--dry-run', meson.current_source_dir()]
40 | )
41 | endif
42 |
43 | subdir('icons')
44 |
--------------------------------------------------------------------------------
/img/screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Foldex/AdwSteamGtk/b3c5ebe02f2a489357312f08d5a3bb45c8d13f4d/img/screen.png
--------------------------------------------------------------------------------
/img/update.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Foldex/AdwSteamGtk/b3c5ebe02f2a489357312f08d5a3bb45c8d13f4d/img/update.png
--------------------------------------------------------------------------------
/io.github.Foldex.AdwSteamGtk.json:
--------------------------------------------------------------------------------
1 | {
2 | "app-id": "io.github.Foldex.AdwSteamGtk",
3 | "runtime": "org.gnome.Platform",
4 | "runtime-version": "48",
5 | "sdk": "org.gnome.Sdk",
6 | "command": "adwaita-steam-gtk",
7 | "finish-args": [
8 | "--share=network",
9 | "--share=ipc",
10 | "--socket=fallback-x11",
11 | "--device=dri",
12 | "--socket=wayland",
13 | "--filesystem=~/.var/app/com.valvesoftware.Steam/.steam/steam",
14 | "--filesystem=~/.steam/steam"
15 | ],
16 | "cleanup": [
17 | "/include",
18 | "/lib/pkgconfig",
19 | "/man",
20 | "/share/doc",
21 | "/share/gtk-doc",
22 | "/share/man",
23 | "/share/pkgconfig",
24 | "*.la",
25 | "*.a"
26 | ],
27 | "modules": [
28 | {
29 | "name": "blueprint-compiler",
30 | "buildsystem": "meson",
31 | "sources": [
32 | {
33 | "type": "archive",
34 | "url": "https://gitlab.gnome.org/jwestman/blueprint-compiler/-/archive/v0.16.0/blueprint-compiler-v0.16.0.tar.bz2",
35 | "sha256": "77a5d593f433c8ca70a05390532cd186c60944cfa6bcd39296c1c2597a7a50fc",
36 | "x-checker-data": {
37 | "type": "anitya",
38 | "project-id": 279929,
39 | "url-template": "https://gitlab.gnome.org/jwestman/blueprint-compiler/-/archive/v$version/blueprint-compiler-v$version.tar.bz2"
40 | }
41 | }
42 | ],
43 | "cleanup": [
44 | "*"
45 | ]
46 | },
47 | {
48 | "name": "libportal",
49 | "buildsystem": "meson",
50 | "config-opts": [
51 | "-Ddocs=false",
52 | "-Dbackend-gtk4=enabled"
53 | ],
54 | "sources": [
55 | {
56 | "type": "archive",
57 | "url": "https://github.com/flatpak/libportal/archive/refs/tags/0.9.1.tar.gz",
58 | "sha256": "ea422b789ae487e04194d387bea031fd7485bf88a18aef8c767f7d1c29496a4e",
59 | "x-checker-data": {
60 | "type": "anitya",
61 | "project-id": 230124,
62 | "url-template": "https://github.com/flatpak/libportal/archive/refs/tags/$version.tar.gz"
63 | }
64 | }
65 | ]
66 | },
67 | {
68 | "name": "python3-packaging",
69 | "buildsystem": "simple",
70 | "build-commands": [
71 | "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"packaging\" --no-build-isolation"
72 | ],
73 | "sources": [
74 | {
75 | "type": "file",
76 | "url": "https://files.pythonhosted.org/packages/05/e7/df2285f3d08fee213f2d041540fa4fc9ca6c2d44cf36d3a035bf2a8d2bcc/pyparsing-3.2.3-py3-none-any.whl",
77 | "sha256": "a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf",
78 | "x-checker-data": {
79 | "type": "pypi",
80 | "name": "pyparsing",
81 | "packagetype": "bdist_wheel"
82 | }
83 | },
84 | {
85 | "type": "file",
86 | "url": "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl",
87 | "sha256": "09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759",
88 | "x-checker-data": {
89 | "type": "pypi",
90 | "name": "packaging",
91 | "packagetype": "bdist_wheel"
92 | }
93 | }
94 | ]
95 | },
96 | {
97 | "name": "adwaita-steam-gtk",
98 | "builddir": true,
99 | "buildsystem": "meson",
100 | "sources": [
101 | {
102 | "type": "dir",
103 | "path": "."
104 | }
105 | ]
106 | }
107 | ]
108 | }
109 |
--------------------------------------------------------------------------------
/meson.build:
--------------------------------------------------------------------------------
1 | project('adwaita-steam-gtk',
2 | version: '0.8.0',
3 | meson_version: '>= 0.59.0',
4 | default_options: [ 'warning_level=2',
5 | 'werror=false',
6 | ],
7 | )
8 |
9 | i18n = import('i18n')
10 |
11 | gnome = import('gnome')
12 |
13 |
14 |
15 | subdir('data')
16 | subdir('src')
17 | subdir('po')
18 |
19 | gnome.post_install(
20 | glib_compile_schemas: true,
21 | gtk_update_icon_cache: true,
22 | update_desktop_database: true,
23 | )
24 |
--------------------------------------------------------------------------------
/po/AdwSteamGtk.pot:
--------------------------------------------------------------------------------
1 | # AdwSteamGtk Pot
2 | # Copyright (C) 2024 Foldex
3 | # This file is distributed under the GNU GPLv3 license.
4 | # Foldex, 2024.
5 | #
6 | #, fuzzy
7 | msgid ""
8 | msgstr ""
9 | "Project-Id-Version: AdwSteamGtk 0.6.11\n"
10 | "Report-Msgid-Bugs-To: \n"
11 | "POT-Creation-Date: 2024-11-09 19:43-0500\n"
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 | "Last-Translator: FULL NAME \n"
14 | "Language-Team: LANGUAGE \n"
15 | "Language: EDIT_LANG_HERE\n"
16 | "MIME-Version: 1.0\n"
17 | "Content-Type: text/plain; charset=UTF-8\n"
18 | "Content-Transfer-Encoding: 8bit\n"
19 |
20 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:12
21 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:3
22 | msgid "AdwSteamGtk"
23 | msgstr ""
24 |
25 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:13
26 | msgid "Give Steam the Adwaita treatment"
27 | msgstr ""
28 |
29 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:14
30 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:16
31 | msgid "Foldex"
32 | msgstr ""
33 |
34 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:25
35 | msgid ""
36 | "Make Steam look like it belongs on your computer. This app installs and "
37 | "updates the Adwaita-for-Steam skin for you. It's as simple as this:"
38 | msgstr ""
39 |
40 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:30
41 | msgid "Configure the skin to your liking"
42 | msgstr ""
43 |
44 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:31
45 | msgid "Click the “Apply” button"
46 | msgstr ""
47 |
48 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:32
49 | msgid "Restart Steam"
50 | msgstr ""
51 |
52 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:34
53 | msgid ""
54 | "On startup, the app will automatically download any updates to the skin and "
55 | "display a notification. Apply the skin again and restart Steam to take the "
56 | "changes into use."
57 | msgstr ""
58 |
59 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:38
60 | msgid ""
61 | "In order to get rounded corners on Steam, you will need to use the “Rounded "
62 | "Window Corners” GNOME extension."
63 | msgstr ""
64 |
65 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:244
66 | msgid "Main Window"
67 | msgstr ""
68 |
69 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:248
70 | msgid "Theme Preview"
71 | msgstr ""
72 |
73 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:252
74 | msgid "Login Preview"
75 | msgstr ""
76 |
77 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:4
78 | msgid "A simple wrapper that installs Adwaita for Steam"
79 | msgstr ""
80 |
81 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:10
82 | msgid "Steam;Adwaita;Skin;"
83 | msgstr ""
84 |
85 | #: src/cli.py:47 src/cli.py:138
86 | msgid "Up to Date."
87 | msgstr ""
88 |
89 | #: src/cli.py:105
90 | #, python-brace-format
91 | msgid "{key}: {cur_val} invalid value"
92 | msgstr ""
93 |
94 | #: src/cli.py:111
95 | msgid "Could not get theme list. Falling back to last selected theme."
96 | msgstr ""
97 |
98 | #: src/cli.py:117
99 | #, python-brace-format
100 | msgid ""
101 | "Could not find theme {colortheme} in theme list. Falling back to last "
102 | "selected theme."
103 | msgstr ""
104 |
105 | #: src/cli.py:132
106 | msgid "New Release Available: "
107 | msgstr ""
108 |
109 | #: src/cli.py:135
110 | msgid "Update Check Failed: "
111 | msgstr ""
112 |
113 | #: src/dl.py:30
114 | msgid "API: HTTP Error Code "
115 | msgstr ""
116 |
117 | #: src/dl.py:32
118 | msgid "API: Error Parsing JSON"
119 | msgstr ""
120 |
121 | #: src/dl.py:34
122 | msgid "API: Error retrieving release info"
123 | msgstr ""
124 |
125 | #: src/dl.py:42
126 | msgid "API: JSON is missing required keys"
127 | msgstr ""
128 |
129 | #: src/dl.py:48
130 | msgid "Release: HTTP Error Code "
131 | msgstr ""
132 |
133 | #: src/dl.py:50
134 | msgid "Release: Connection Reset"
135 | msgstr ""
136 |
137 | #: src/dl.py:52
138 | msgid "Release: Permission Error"
139 | msgstr ""
140 |
141 | #: src/dl.py:54
142 | msgid "Release: Connection Timeout"
143 | msgstr ""
144 |
145 | #: src/dl.py:56
146 | msgid "Release: Error Retrieving Zip"
147 | msgstr ""
148 |
149 | #: src/install.py:132
150 | msgid "Install: Found no Valid Install Targets"
151 | msgstr ""
152 |
153 | #: src/install.py:135
154 | msgid "Install: Installer Process Failed"
155 | msgstr ""
156 |
157 | #: src/install.py:169
158 | msgid "Install: Failed to Find Valid '~/.steam/steam' Symlink"
159 | msgstr ""
160 |
161 | #: src/main.py:138
162 | msgid "Upstream"
163 | msgstr ""
164 |
165 | #: src/main.py:139
166 | msgid "Translators"
167 | msgstr ""
168 |
169 | #: src/main.py:148
170 | msgid "Uninstall Theme"
171 | msgstr ""
172 |
173 | #: src/main.py:149
174 | msgid "This will reset all customizations made to the Steam client."
175 | msgstr ""
176 |
177 | #: src/main.py:151
178 | msgid "Cancel"
179 | msgstr ""
180 |
181 | #: src/main.py:152
182 | msgid "Uninstall"
183 | msgstr ""
184 |
185 | #: src/pages/window.py:193
186 | msgid "New Release Downloaded: "
187 | msgstr ""
188 |
189 | #: src/pages/window.py:195
190 | msgid "Retry"
191 | msgstr ""
192 |
193 | #: src/pages/window.py:228
194 | msgid "Theme Installed"
195 | msgstr ""
196 |
197 | #: src/style.py:40
198 | msgid "Get Themes: Failed to get themes"
199 | msgstr ""
200 |
201 | #: src/style.py:71
202 | #, python-brace-format
203 | msgid "Style: Could not find theme {theme_name}"
204 | msgstr ""
205 |
206 | #: src/style.py:122
207 | #, python-brace-format
208 | msgid "Style: Theme {theme_name} seems to be invalid"
209 | msgstr ""
210 |
211 | #: src/ui/prefs.blp:5
212 | msgid "Preferences"
213 | msgstr ""
214 |
215 | #: src/ui/prefs.blp:12
216 | msgid "Autostart"
217 | msgstr ""
218 |
219 | #: src/ui/prefs.blp:15
220 | msgid "Auto Update Check"
221 | msgstr ""
222 |
223 | #: src/ui/prefs.blp:16
224 | msgid "Checks and notifies for theme updates on user login."
225 | msgstr ""
226 |
227 | #: src/ui/prefs.blp:25
228 | msgid "Beta"
229 | msgstr ""
230 |
231 | #: src/ui/prefs.blp:29
232 | msgid "Experimental Beta Support"
233 | msgstr ""
234 |
235 | #: src/ui/prefs.blp:30
236 | msgid "Enables Beta Support (requires restart)"
237 | msgstr ""
238 |
239 | #: src/ui/prefs.blp:39
240 | msgid "Installer"
241 | msgstr ""
242 |
243 | #: src/ui/prefs.blp:42
244 | msgid "Custom CSS"
245 | msgstr ""
246 |
247 | #: src/ui/prefs.blp:43
248 | msgid "Include Custom CSS into Steam"
249 | msgstr ""
250 |
251 | #: src/ui/prefs.blp:48
252 | msgid "Custom CSS Info"
253 | msgstr ""
254 |
255 | #: src/ui/prefs.blp:53
256 | msgid "Edit Custom CSS File"
257 | msgstr ""
258 |
259 | #: src/ui/prefs.blp:63
260 | msgid "Interface"
261 | msgstr ""
262 |
263 | #: src/ui/prefs.blp:66
264 | msgid "Preview Themes"
265 | msgstr ""
266 |
267 | #: src/ui/prefs.blp:67
268 | msgid "Styles the interface to match the currently selected theme."
269 | msgstr ""
270 |
271 | #: src/ui/window.blp:7
272 | msgid "Adwaita Steam Installer"
273 | msgstr ""
274 |
275 | #: src/ui/window.blp:14
276 | msgid "Apply"
277 | msgstr ""
278 |
279 | #: src/ui/window.blp:40
280 | msgid "Theme Options"
281 | msgstr ""
282 |
283 | #: src/ui/window.blp:42
284 | msgid "Color Theme"
285 | msgstr ""
286 |
287 | #: src/ui/window.blp:43
288 | msgid "Changes the color theme of Steam's interface."
289 | msgstr ""
290 |
291 | #: src/ui/window.blp:46
292 | msgid "No Rounded Corners"
293 | msgstr ""
294 |
295 | #: src/ui/window.blp:47
296 | msgid "Removes smooth rounded corners from the interface."
297 | msgstr ""
298 |
299 | #: src/ui/window.blp:57
300 | msgid "Window Controls Options"
301 | msgstr ""
302 |
303 | #: src/ui/window.blp:59
304 | msgid "Controls Style"
305 | msgstr ""
306 |
307 | #: src/ui/window.blp:60
308 | msgid "Changes Minimize/Maximize/Close Button Theme"
309 | msgstr ""
310 |
311 | #: src/ui/window.blp:61 src/ui/window.blp:66
312 | msgid "Adwaita"
313 | msgstr ""
314 |
315 | #: src/ui/window.blp:61 src/ui/window.blp:66
316 | msgid "MacOS"
317 | msgstr ""
318 |
319 | #: src/ui/window.blp:61 src/ui/window.blp:66
320 | msgid "Windows"
321 | msgstr ""
322 |
323 | #: src/ui/window.blp:64
324 | msgid "Controls Button Layout"
325 | msgstr ""
326 |
327 | #: src/ui/window.blp:65
328 | msgid "Changes Minimize/Maximize/Close Button Layout and Position"
329 | msgstr ""
330 |
331 | #: src/ui/window.blp:66
332 | msgid "Auto"
333 | msgstr ""
334 |
335 | #: src/ui/window.blp:66
336 | msgid "Elementary"
337 | msgstr ""
338 |
339 | #: src/ui/window.blp:71
340 | msgid "Library Options"
341 | msgstr ""
342 |
343 | #: src/ui/window.blp:74
344 | msgid "Library Sidebar"
345 | msgstr ""
346 |
347 | #: src/ui/window.blp:75
348 | msgid "Changes display options for the Library's left sidebar."
349 | msgstr ""
350 |
351 | #: src/ui/window.blp:76 src/ui/window.blp:96
352 | msgid "Show"
353 | msgstr ""
354 |
355 | #: src/ui/window.blp:76 src/ui/window.blp:96
356 | msgid "Hover Only"
357 | msgstr ""
358 |
359 | #: src/ui/window.blp:80
360 | msgid "Hide Library What's New Shelf"
361 | msgstr ""
362 |
363 | #: src/ui/window.blp:81
364 | msgid "Disables display of the new updates section on top of the Library."
365 | msgstr ""
366 |
367 | #: src/ui/window.blp:91
368 | msgid "Login Options"
369 | msgstr ""
370 |
371 | #: src/ui/window.blp:94
372 | msgid "QR Code Login"
373 | msgstr ""
374 |
375 | #: src/ui/window.blp:95
376 | msgid "Changes display options for the mobile QR code in the Login dialog."
377 | msgstr ""
378 |
379 | #: src/ui/window.blp:96
380 | msgid "Hide"
381 | msgstr ""
382 |
383 | #: src/ui/window.blp:108
384 | msgid "_Preferences"
385 | msgstr ""
386 |
387 | #: src/ui/window.blp:112
388 | msgid "_Uninstall"
389 | msgstr ""
390 |
391 | #: src/ui/window.blp:116
392 | msgid "_About AdwSteamGtk"
393 | msgstr ""
394 |
395 | #: src/zip.py:28
396 | msgid "Extract: Failed to read ZIP archive"
397 | msgstr ""
398 |
399 | #: src/zip.py:30
400 | msgid "Extract: Bad ZIP File"
401 | msgstr ""
402 |
403 | #: src/zip.py:32
404 | msgid "Extract: Failed to Extract ZIP File"
405 | msgstr ""
406 |
--------------------------------------------------------------------------------
/po/LINGUAS:
--------------------------------------------------------------------------------
1 | de
2 | fr
3 | ru
4 | uk
5 | pt_BR
6 | es
7 | cs
8 | fi
9 | ckb
10 | sv
11 | tr
12 | be
13 | nl
14 | pt
15 | hi
16 | zh_Hans
17 | it
18 | ta
19 | ca
20 | sr
21 | ar
22 | hu
23 |
--------------------------------------------------------------------------------
/po/POTFILES:
--------------------------------------------------------------------------------
1 | data/io.github.Foldex.AdwSteamGtk.appdata.xml.in
2 | data/io.github.Foldex.AdwSteamGtk.desktop.in
3 | data/io.github.Foldex.AdwSteamGtk.gschema.xml
4 | src/cli.py
5 | src/dl.py
6 | src/install.py
7 | src/main.py
8 | src/pages/window.py
9 | src/style.py
10 | src/ui/prefs.blp
11 | src/ui/window.blp
12 | src/zip.py
13 |
--------------------------------------------------------------------------------
/po/README.md:
--------------------------------------------------------------------------------
1 | # Localization
2 |
3 | ## Language Codes
4 |
5 | Languages are typically given a two-letter designation.
6 |
7 | e.g. `fr` for French, `de` for German.
8 |
9 | For languages where regional differences exist, a hyphen followed by a region code is added to distinguish it.
10 |
11 | e.g. `en-GB` is English from Great Britain
12 |
13 | [Usual Language Codes](https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html)
14 |
15 | [Regional Language Codes](https://lingohub.com/developers/supported-locales/language-designators-with-regions)
16 |
17 | ## Adding Support for a New Language
18 |
19 | Assume `xx` is your Language Code:
20 | - [Fork](https://docs.github.com/en/get-started/quickstart/contributing-to-projects#forking-a-repository) and [Clone](https://docs.github.com/en/get-started/quickstart/contributing-to-projects#cloning-a-fork) this repo
21 | - Ensure you have [gettext](#gettext) installed
22 | - Run `./update_pot.sh` and copy `AdwSteamGtk.pot` to `xx.po`
23 | - [Edit](#editing-po-files) `xx.po`
24 | - Add `xx` to [LINGUAS](/po/LINGUAS) on a new line. Keep this list sorted alphabetically
25 | - [Test](#testing) your changes (Optional, but appreciated)
26 | - Add yourself to the [Translators credits](/src/info.py.in) section
27 | - [Commit](https://docs.github.com/en/get-started/quickstart/contributing-to-projects#making-and-pushing-changes) your changes
28 | - [Open a Pull Request](https://docs.github.com/en/get-started/quickstart/contributing-to-projects#making-a-pull-request)
29 |
30 | ## Gettext
31 |
32 | `update_pot.sh` requires the xgettext utility from the gettext package.
33 |
34 | | Distro | Package Name | Install Command |
35 | |--------|---------------------------------------------------------------------|------------------------------|
36 | | Arch | [gettext](https://archlinux.org/packages/core/x86_64/gettext/) | sudo pacman -S gettext |
37 | | Debian | [gettext](https://packages.debian.org/stable/gettext) | sudo apt-get install gettext |
38 | | Fedora | [gettext](https://packages.fedoraproject.org/pkgs/gettext/gettext/) | sudo dnf install gettext |
39 | | Ubuntu | [gettext](https://packages.ubuntu.com/lunar/gettext) | sudo apt-get install gettext |
40 |
41 | ## Editing PO Files
42 |
43 | You'll likely want to use a PO File Editor:
44 |
45 | - [Gtranslator](https://flathub.org/apps/org.gnome.Gtranslator)
46 | - [Lokalize](https://flathub.org/apps/org.kde.lokalize)
47 | - [Poedit](https://flathub.org/apps/net.poedit.Poedit)
48 |
49 | ## Testing
50 |
51 | Follow the flatpak-builder [Instructions](https://github.com/Foldex/AdwSteamGtk#building) for building the project.
52 |
53 | Run those commands from the top level directory of the project.
54 |
55 | You should now be able to run the app via:
56 |
57 | `flatpak run io.github.Foldex.AdwSteamGtk`
58 |
59 | To test out your localization changes you will need to force the locale.
60 |
61 | ### Generating Locale
62 |
63 | If you already have the locale for the language you are translating installed, you may skip this step.
64 |
65 | In order to run the program with a new locale, you must first generate it on your system.
66 |
67 | See: [Generating Locale](https://wiki.archlinux.org/title/Locale#Generating_locales)
68 |
69 | ### Flatpak Locale
70 |
71 | For freshly generated locales, flatpak will also need to fetch the new locale information.
72 |
73 | Switch to the new locale and run:
74 |
75 | `flatpak update`
76 |
77 | ### Running with Locale
78 |
79 | For example, to run the Ukrainian locale:
80 |
81 | `LANG=uk_UA.UTF-8 flatpak run io.github.Foldex.AdwSteamGtk`
82 |
83 | #### Locale not Supported Error
84 |
85 | If you get this error:
86 |
87 | `Locale not supported by C library. Using the fallback 'C' locale.`
88 |
89 | Ensure that:
90 | - The locale has been [Generated](#generating-locale) on your system
91 | - You have typed the locale name correctly when passing `LANG=`
92 | - Flatpak has downloaded the [Runtime Locale](#flatpak-locale)
93 | - The Language Code is present in the [LINGUAS](/po/LINGUAS) file
94 |
--------------------------------------------------------------------------------
/po/ar.po:
--------------------------------------------------------------------------------
1 | # AdwSteamGtk Pot
2 | # Copyright (C) 2024 Foldex
3 | # This file is distributed under the GNU GPLv3 license.
4 | # Foldex, 2024.
5 | #
6 | msgid ""
7 | msgstr ""
8 | "Project-Id-Version: AdwSteamGtk 0.6.11\n"
9 | "Report-Msgid-Bugs-To: \n"
10 | "POT-Creation-Date: 2024-11-09 19:43-0500\n"
11 | "PO-Revision-Date: 2025-03-08 17:23+0000\n"
12 | "Last-Translator: 5wi_5wi \n"
13 | "Language-Team: Arabic \n"
15 | "Language: ar\n"
16 | "MIME-Version: 1.0\n"
17 | "Content-Type: text/plain; charset=UTF-8\n"
18 | "Content-Transfer-Encoding: 8bit\n"
19 | "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
20 | "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
21 | "X-Generator: Weblate 5.10.3-dev\n"
22 |
23 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:12
24 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:3
25 | msgid "AdwSteamGtk"
26 | msgstr ".AdwSteamGtk"
27 |
28 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:13
29 | msgid "Give Steam the Adwaita treatment"
30 | msgstr "امنح ستيم طابع Adwaita"
31 |
32 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:14
33 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:16
34 | msgid "Foldex"
35 | msgstr ".Foldex"
36 |
37 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:25
38 | msgid ""
39 | "Make Steam look like it belongs on your computer. This app installs and "
40 | "updates the Adwaita-for-Steam skin for you. It's as simple as this:"
41 | msgstr ""
42 | "اجعل ستيم يبدو وكأنه جزء من نظامك. يقوم هذا التطبيق بتثبيت وتحديث مظهر "
43 | "\"Adwaita for steam\" من أجلك. إنه بهذه البساطة:"
44 |
45 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:30
46 | msgid "Configure the skin to your liking"
47 | msgstr "قم بتكوين المظهر حسب رغبتك"
48 |
49 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:31
50 | msgid "Click the “Apply” button"
51 | msgstr "انقر على زر \"تطبيق\""
52 |
53 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:32
54 | msgid "Restart Steam"
55 | msgstr "أعد تشغيل ستيم"
56 |
57 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:34
58 | msgid ""
59 | "On startup, the app will automatically download any updates to the skin and "
60 | "display a notification. Apply the skin again and restart Steam to take the "
61 | "changes into use."
62 | msgstr ""
63 | "عند بدء التشغيل، سيقوم التطبيق بتنزيل أي تحديثات للمظهر تلقائيًا وسيعرض إشعارً"
64 | "ا. قم بتطبيق المظهر مرة أخرى وأعد تشغيل ستيم لتفعيل التغييرات."
65 |
66 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:38
67 | msgid ""
68 | "In order to get rounded corners on Steam, you will need to use the “Rounded "
69 | "Window Corners” GNOME extension."
70 | msgstr ""
71 | "للحصول على زوايا مستديرة في ستيم، ستحتاج إلى استخدام إضافة GNOME "
72 | "\"زوايا النوافذ المستديرة\"."
73 |
74 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:244
75 | msgid "Main Window"
76 | msgstr "النافذة الرئيسية"
77 |
78 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:248
79 | msgid "Theme Preview"
80 | msgstr "معاينة السمة"
81 |
82 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:252
83 | msgid "Login Preview"
84 | msgstr "معاينة تسجيل الدخول"
85 |
86 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:4
87 | msgid "A simple wrapper that installs Adwaita for Steam"
88 | msgstr "أداة بسيطة تقوم بتثبيت Adwaita لـ Steam"
89 |
90 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:10
91 | msgid "Steam;Adwaita;Skin;"
92 | msgstr "Steam;Adwaita;مظهر;"
93 |
94 | #: src/cli.py:47 src/cli.py:138
95 | msgid "Up to Date."
96 | msgstr "محدث."
97 |
98 | #: src/cli.py:105
99 | #, python-brace-format
100 | msgid "{key}: {cur_val} invalid value"
101 | msgstr "{key}: {cur_val} قيمة غير صالحة"
102 |
103 | #: src/cli.py:111
104 | msgid "Could not get theme list. Falling back to last selected theme."
105 | msgstr ""
106 | "لم يتمكن من الحصول على قائمة السمات. الرجوع إلى السمة التي تم اختيارها آخر "
107 | "مرة."
108 |
109 | #: src/cli.py:117
110 | #, python-brace-format
111 | msgid ""
112 | "Could not find theme {colortheme} in theme list. Falling back to last "
113 | "selected theme."
114 | msgstr ""
115 | "لم يتمكن من العثور على السمة {colortheme} في قائمة السمات. الرجوع إلى السمة "
116 | "التي تم اختيارها آخر مرة."
117 |
118 | #: src/cli.py:132
119 | msgid "New Release Available: "
120 | msgstr "إصدار جديد متاح: "
121 |
122 | #: src/cli.py:135
123 | msgid "Update Check Failed: "
124 | msgstr "فشل التحقق من التحديث: "
125 |
126 | #: src/dl.py:30
127 | msgid "API: HTTP Error Code "
128 | msgstr "API: رمز HTTP خطأ "
129 |
130 | #: src/dl.py:32
131 | msgid "API: Error Parsing JSON"
132 | msgstr "API: خطأ في تحليل JSON"
133 |
134 | #: src/dl.py:34
135 | msgid "API: Error retrieving release info"
136 | msgstr "API: خطأ في استرداد معلومات الإصدار"
137 |
138 | #: src/dl.py:42
139 | msgid "API: JSON is missing required keys"
140 | msgstr "API: JSON يفتقد المفاتيح المطلوبة"
141 |
142 | #: src/dl.py:48
143 | msgid "Release: HTTP Error Code "
144 | msgstr "الإصدار: رمز HTTP خطأ "
145 |
146 | #: src/dl.py:50
147 | msgid "Release: Connection Reset"
148 | msgstr "الإصدار: إعادة تعيين الاتصال"
149 |
150 | #: src/dl.py:52
151 | msgid "Release: Permission Error"
152 | msgstr "الإصدار: خطأ في الإذن"
153 |
154 | #: src/dl.py:54
155 | msgid "Release: Connection Timeout"
156 | msgstr "الإصدار: انتهاء مهلة الاتصال"
157 |
158 | #: src/dl.py:56
159 | msgid "Release: Error Retrieving Zip"
160 | msgstr "الإصدار: خطأ في استرداد الملف المضغوط (Zip)"
161 |
162 | #: src/install.py:132
163 | msgid "Install: Found no Valid Install Targets"
164 | msgstr "التثبيت: لم يتم العثور على أهداف تثبيت صالحة"
165 |
166 | #: src/install.py:135
167 | msgid "Install: Installer Process Failed"
168 | msgstr "التثبيت: فشل عملية المثبت"
169 |
170 | #: src/install.py:169
171 | msgid "Install: Failed to Find Valid '~/.steam/steam' Symlink"
172 | msgstr "التثبيت: فشل في العثور على رابط رمزي صالح '~/.steam/steam'"
173 |
174 | #: src/main.py:138
175 | msgid "Upstream"
176 | msgstr "المصدر الأصلي"
177 |
178 | #: src/main.py:139
179 | msgid "Translators"
180 | msgstr "المترجمون"
181 |
182 | #: src/main.py:148
183 | msgid "Uninstall Theme"
184 | msgstr "إلغاء تثبيت السمة"
185 |
186 | #: src/main.py:149
187 | msgid "This will reset all customizations made to the Steam client."
188 | msgstr "سيؤدي هذا إلى إعادة تعيين جميع التخصيصات التي تم إجراؤها على ستيم."
189 |
190 | #: src/main.py:151
191 | msgid "Cancel"
192 | msgstr "إلغاء"
193 |
194 | #: src/main.py:152
195 | msgid "Uninstall"
196 | msgstr "إلغاء التثبيت"
197 |
198 | #: src/pages/window.py:193
199 | msgid "New Release Downloaded: "
200 | msgstr "تنزيل إصدار جديد: "
201 |
202 | #: src/pages/window.py:195
203 | msgid "Retry"
204 | msgstr "إعادة المحاولة"
205 |
206 | #: src/pages/window.py:228
207 | msgid "Theme Installed"
208 | msgstr "تم تثبيت السمة"
209 |
210 | #: src/style.py:40
211 | msgid "Get Themes: Failed to get themes"
212 | msgstr "الحصول على السمات: فشل في الحصول على السمات"
213 |
214 | #: src/style.py:71
215 | #, python-brace-format
216 | msgid "Style: Could not find theme {theme_name}"
217 | msgstr "الأسلوب: تعذر العثور على السمة {theme_name}"
218 |
219 | #: src/style.py:122
220 | #, python-brace-format
221 | msgid "Style: Theme {theme_name} seems to be invalid"
222 | msgstr "النمط: يبدو أن السمة {theme_name} غير صالحة"
223 |
224 | #: src/ui/prefs.blp:5
225 | msgid "Preferences"
226 | msgstr "التفضيلات"
227 |
228 | #: src/ui/prefs.blp:12
229 | msgid "Autostart"
230 | msgstr "التشغيل التلقائي"
231 |
232 | #: src/ui/prefs.blp:15
233 | msgid "Auto Update Check"
234 | msgstr "التحقق التلقائي من التحديثات"
235 |
236 | #: src/ui/prefs.blp:16
237 | msgid "Checks and notifies for theme updates on user login."
238 | msgstr "يتحقق ويُعلم بتحديثات السمة عند تسجيل دخول المستخدم."
239 |
240 | #: src/ui/prefs.blp:25
241 | msgid "Beta"
242 | msgstr "نسخة تجريبية"
243 |
244 | #: src/ui/prefs.blp:29
245 | msgid "Experimental Beta Support"
246 | msgstr "دعم تجريبي للنسخة التجريبية"
247 |
248 | #: src/ui/prefs.blp:30
249 | msgid "Enables Beta Support (requires restart)"
250 | msgstr "يُمكّن دعم النسخة التجريبية (يتطلب إعادة تشغيل)"
251 |
252 | #: src/ui/prefs.blp:39
253 | msgid "Installer"
254 | msgstr "المثبت"
255 |
256 | #: src/ui/prefs.blp:42
257 | msgid "Custom CSS"
258 | msgstr "CSS خاص"
259 |
260 | #: src/ui/prefs.blp:43
261 | msgid "Include Custom CSS into Steam"
262 | msgstr "تضمين CSS مخصص في ستيم"
263 |
264 | #: src/ui/prefs.blp:48
265 | msgid "Custom CSS Info"
266 | msgstr "معلومات CSS المخصص"
267 |
268 | #: src/ui/prefs.blp:53
269 | msgid "Edit Custom CSS File"
270 | msgstr "تعديل ملف CSS المخصص"
271 |
272 | #: src/ui/prefs.blp:63
273 | msgid "Interface"
274 | msgstr "الواجهة"
275 |
276 | #: src/ui/prefs.blp:66
277 | msgid "Preview Themes"
278 | msgstr "معاينة السمات"
279 |
280 | #: src/ui/prefs.blp:67
281 | msgid "Styles the interface to match the currently selected theme."
282 | msgstr "يُصمم الواجهة لتتناسب مع السمة المختارة حاليًا."
283 |
284 | #: src/ui/window.blp:7
285 | msgid "Adwaita Steam Installer"
286 | msgstr "مثبت Adwaita ستيم"
287 |
288 | #: src/ui/window.blp:14
289 | msgid "Apply"
290 | msgstr "تطبيق"
291 |
292 | #: src/ui/window.blp:40
293 | msgid "Theme Options"
294 | msgstr "خيارات السمة"
295 |
296 | #: src/ui/window.blp:42
297 | msgid "Color Theme"
298 | msgstr "لون السمة"
299 |
300 | #: src/ui/window.blp:43
301 | msgid "Changes the color theme of Steam's interface."
302 | msgstr "يغير سمة اللون لواجهة ستيم."
303 |
304 | #: src/ui/window.blp:46
305 | msgid "No Rounded Corners"
306 | msgstr "بدون زوايا مدورة"
307 |
308 | #: src/ui/window.blp:47
309 | msgid "Removes smooth rounded corners from the interface."
310 | msgstr "يزيل الزوايا المدورة الناعمة من الواجهة."
311 |
312 | #: src/ui/window.blp:57
313 | msgid "Window Controls Options"
314 | msgstr "خيارات التحكم في النافذة"
315 |
316 | #: src/ui/window.blp:59
317 | msgid "Controls Style"
318 | msgstr "أسلوب التحكم"
319 |
320 | #: src/ui/window.blp:60
321 | msgid "Changes Minimize/Maximize/Close Button Theme"
322 | msgstr "يغيّر سمة أزرار التصغير/التكبير/الإغلاق"
323 |
324 | #: src/ui/window.blp:61 src/ui/window.blp:66
325 | msgid "Adwaita"
326 | msgstr ".Adwaita"
327 |
328 | #: src/ui/window.blp:61 src/ui/window.blp:66
329 | msgid "MacOS"
330 | msgstr "نظام ماك"
331 |
332 | #: src/ui/window.blp:61 src/ui/window.blp:66
333 | msgid "Windows"
334 | msgstr "ويندوز"
335 |
336 | #: src/ui/window.blp:64
337 | msgid "Controls Button Layout"
338 | msgstr "يتحكم في تخطيط أزرار التحكم"
339 |
340 | #: src/ui/window.blp:65
341 | msgid "Changes Minimize/Maximize/Close Button Layout and Position"
342 | msgstr "يغيّر تخطيط وموقع أزرار التصغير/التكبير/الإغلاق"
343 |
344 | #: src/ui/window.blp:66
345 | msgid "Auto"
346 | msgstr "تلقائي"
347 |
348 | #: src/ui/window.blp:66
349 | msgid "Elementary"
350 | msgstr "إليمينتري"
351 |
352 | #: src/ui/window.blp:71
353 | msgid "Library Options"
354 | msgstr "خيارات المكتبة"
355 |
356 | #: src/ui/window.blp:74
357 | msgid "Library Sidebar"
358 | msgstr "الشريط الجانبي للمكتبة"
359 |
360 | #: src/ui/window.blp:75
361 | msgid "Changes display options for the Library's left sidebar."
362 | msgstr "يغير خيارات العرض للشريط الجانبي الأيسر للمكتبة."
363 |
364 | #: src/ui/window.blp:76 src/ui/window.blp:96
365 | msgid "Show"
366 | msgstr "عرض"
367 |
368 | #: src/ui/window.blp:76 src/ui/window.blp:96
369 | msgid "Hover Only"
370 | msgstr "عند التمرير فقط"
371 |
372 | #: src/ui/window.blp:80
373 | msgid "Hide Library What's New Shelf"
374 | msgstr "إخفاء رف \"ما الجديد (What's new) \" في المكتبة"
375 |
376 | #: src/ui/window.blp:81
377 | msgid "Disables display of the new updates section on top of the Library."
378 | msgstr "يعطل عرض قسم التحديثات الجديدة أعلى المكتبة."
379 |
380 | #: src/ui/window.blp:91
381 | msgid "Login Options"
382 | msgstr "خيارات تسجيل الدخول"
383 |
384 | #: src/ui/window.blp:94
385 | msgid "QR Code Login"
386 | msgstr "تسجيل الدخول باستخدام رمز الاستجابة السريعة"
387 |
388 | #: src/ui/window.blp:95
389 | msgid "Changes display options for the mobile QR code in the Login dialog."
390 | msgstr "يغير خيارات العرض لرمز الاستجابة السريعة للجوال في نافذة تسجيل الدخول."
391 |
392 | #: src/ui/window.blp:96
393 | msgid "Hide"
394 | msgstr "اخفاء"
395 |
396 | #: src/ui/window.blp:108
397 | msgid "_Preferences"
398 | msgstr "_التفضيلات"
399 |
400 | #: src/ui/window.blp:112
401 | msgid "_Uninstall"
402 | msgstr "_إلغاء التثبيت"
403 |
404 | #: src/ui/window.blp:116
405 | msgid "_About AdwSteamGtk"
406 | msgstr "_عن AdwSteamGtk"
407 |
408 | #: src/zip.py:28
409 | msgid "Extract: Failed to read ZIP archive"
410 | msgstr "الاستخراج: فشل في قراءة أرشيف ZIP"
411 |
412 | #: src/zip.py:30
413 | msgid "Extract: Bad ZIP File"
414 | msgstr "الاستخراج: ملف ZIP تالف"
415 |
416 | #: src/zip.py:32
417 | msgid "Extract: Failed to Extract ZIP File"
418 | msgstr "الاستخراج: فشل في استخراج ملف ZIP"
419 |
--------------------------------------------------------------------------------
/po/ca.po:
--------------------------------------------------------------------------------
1 | # AdwSteamGtk Pot
2 | # Copyright (C) 2024 Foldex
3 | # This file is distributed under the GNU GPLv3 license.
4 | # Foldex, 2024.
5 | #
6 | msgid ""
7 | msgstr ""
8 | "Project-Id-Version: AdwSteamGtk 0.6.11\n"
9 | "Report-Msgid-Bugs-To: \n"
10 | "POT-Creation-Date: 2024-11-09 19:43-0500\n"
11 | "PO-Revision-Date: 2025-02-22 19:14+0000\n"
12 | "Last-Translator: Adolfo Jayme Barrientos \n"
13 | "Language-Team: Catalan \n"
15 | "Language: ca\n"
16 | "MIME-Version: 1.0\n"
17 | "Content-Type: text/plain; charset=UTF-8\n"
18 | "Content-Transfer-Encoding: 8bit\n"
19 | "Plural-Forms: nplurals=2; plural=n != 1;\n"
20 | "X-Generator: Weblate 5.10.1-dev\n"
21 |
22 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:12
23 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:3
24 | msgid "AdwSteamGtk"
25 | msgstr "AdwSteamGtk"
26 |
27 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:13
28 | msgid "Give Steam the Adwaita treatment"
29 | msgstr ""
30 |
31 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:14
32 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:16
33 | msgid "Foldex"
34 | msgstr "Foldex"
35 |
36 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:25
37 | msgid ""
38 | "Make Steam look like it belongs on your computer. This app installs and "
39 | "updates the Adwaita-for-Steam skin for you. It's as simple as this:"
40 | msgstr ""
41 |
42 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:30
43 | msgid "Configure the skin to your liking"
44 | msgstr ""
45 |
46 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:31
47 | msgid "Click the “Apply” button"
48 | msgstr "Feu clic al botó «Aplica»"
49 |
50 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:32
51 | msgid "Restart Steam"
52 | msgstr "Reinicieu l’Steam"
53 |
54 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:34
55 | msgid ""
56 | "On startup, the app will automatically download any updates to the skin and "
57 | "display a notification. Apply the skin again and restart Steam to take the "
58 | "changes into use."
59 | msgstr ""
60 |
61 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:38
62 | msgid ""
63 | "In order to get rounded corners on Steam, you will need to use the “Rounded "
64 | "Window Corners” GNOME extension."
65 | msgstr ""
66 |
67 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:244
68 | msgid "Main Window"
69 | msgstr "Finestra principal"
70 |
71 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:248
72 | msgid "Theme Preview"
73 | msgstr "Previsualització del tema"
74 |
75 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:252
76 | msgid "Login Preview"
77 | msgstr "Previsualització de l’inici de sessió"
78 |
79 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:4
80 | msgid "A simple wrapper that installs Adwaita for Steam"
81 | msgstr "Una interfície simple per a instal·lar l’Adwaita per a l’Steam"
82 |
83 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:10
84 | msgid "Steam;Adwaita;Skin;"
85 | msgstr "Steam;Adwaita;Aparença;"
86 |
87 | #: src/cli.py:47 src/cli.py:138
88 | msgid "Up to Date."
89 | msgstr "Actualitzat."
90 |
91 | #: src/cli.py:105
92 | #, python-brace-format
93 | msgid "{key}: {cur_val} invalid value"
94 | msgstr "{key}: valor no vàlid de «{cur_val}»"
95 |
96 | #: src/cli.py:111
97 | msgid "Could not get theme list. Falling back to last selected theme."
98 | msgstr ""
99 | "No s’ha pogut recuperar la llista de temes. S’usarà l’últim tema seleccionat."
100 |
101 | #: src/cli.py:117
102 | #, python-brace-format
103 | msgid ""
104 | "Could not find theme {colortheme} in theme list. Falling back to last "
105 | "selected theme."
106 | msgstr ""
107 | "No s’ha pogut trobar el tema «{colortheme}» a la llista. S’usarà l’últim "
108 | "tema seleccionat."
109 |
110 | #: src/cli.py:132
111 | msgid "New Release Available: "
112 | msgstr "Versió nova disponible: "
113 |
114 | #: src/cli.py:135
115 | msgid "Update Check Failed: "
116 | msgstr "Ha fallat la comprovació d’actualitzacions: "
117 |
118 | #: src/dl.py:30
119 | msgid "API: HTTP Error Code "
120 | msgstr "API: codi d’error HTTP "
121 |
122 | #: src/dl.py:32
123 | msgid "API: Error Parsing JSON"
124 | msgstr "API: error en processar el JSON"
125 |
126 | #: src/dl.py:34
127 | msgid "API: Error retrieving release info"
128 | msgstr "API: error en recuperar la informació de versions"
129 |
130 | #: src/dl.py:42
131 | msgid "API: JSON is missing required keys"
132 | msgstr "API: el JSON manca claus requerides"
133 |
134 | #: src/dl.py:48
135 | msgid "Release: HTTP Error Code "
136 | msgstr "Versió: codi d’error HTTP "
137 |
138 | #: src/dl.py:50
139 | msgid "Release: Connection Reset"
140 | msgstr "Versió: connexió reinicialitzada"
141 |
142 | #: src/dl.py:52
143 | msgid "Release: Permission Error"
144 | msgstr "Versió: error de permisos"
145 |
146 | #: src/dl.py:54
147 | msgid "Release: Connection Timeout"
148 | msgstr "Versió: s’ha esgotat el temps d’espera de la connexió"
149 |
150 | #: src/dl.py:56
151 | msgid "Release: Error Retrieving Zip"
152 | msgstr "Versió: error en recuperar el ZIP"
153 |
154 | #: src/install.py:132
155 | msgid "Install: Found no Valid Install Targets"
156 | msgstr "Instal·lació: no s’ha trobat cap destinació d’instal·lació"
157 |
158 | #: src/install.py:135
159 | msgid "Install: Installer Process Failed"
160 | msgstr "Instal·lació: ha fallat el procés de l’instal·lador"
161 |
162 | #: src/install.py:169
163 | msgid "Install: Failed to Find Valid '~/.steam/steam' Symlink"
164 | msgstr ""
165 | "Instal·lació: no s’ha pogut trobar un enllaç simbòlic vàlid a «~/.steam/"
166 | "steam»"
167 |
168 | #: src/main.py:138
169 | msgid "Upstream"
170 | msgstr "Originari"
171 |
172 | #: src/main.py:139
173 | msgid "Translators"
174 | msgstr "Traductors"
175 |
176 | #: src/main.py:148
177 | msgid "Uninstall Theme"
178 | msgstr "Desinstal·la el tema"
179 |
180 | #: src/main.py:149
181 | msgid "This will reset all customizations made to the Steam client."
182 | msgstr ""
183 | "Això reinicialitzarà totes les personalitzacions fetes al client de l’Steam."
184 |
185 | #: src/main.py:151
186 | msgid "Cancel"
187 | msgstr "Cancel·la"
188 |
189 | #: src/main.py:152
190 | msgid "Uninstall"
191 | msgstr "Desinstal·la"
192 |
193 | #: src/pages/window.py:193
194 | msgid "New Release Downloaded: "
195 | msgstr "Versió nova baixada: "
196 |
197 | #: src/pages/window.py:195
198 | msgid "Retry"
199 | msgstr "Torna a provar"
200 |
201 | #: src/pages/window.py:228
202 | msgid "Theme Installed"
203 | msgstr "S’ha instal·lat el tema"
204 |
205 | #: src/style.py:40
206 | msgid "Get Themes: Failed to get themes"
207 | msgstr "Obtenció de temes: no s’han pogut recuperar els temes"
208 |
209 | #: src/style.py:71
210 | #, python-brace-format
211 | msgid "Style: Could not find theme {theme_name}"
212 | msgstr "Estil: no s’ha pogut trobar el tema {theme_name}"
213 |
214 | #: src/style.py:122
215 | #, python-brace-format
216 | msgid "Style: Theme {theme_name} seems to be invalid"
217 | msgstr ""
218 |
219 | #: src/ui/prefs.blp:5
220 | msgid "Preferences"
221 | msgstr "Preferències"
222 |
223 | #: src/ui/prefs.blp:12
224 | msgid "Autostart"
225 | msgstr "Inici automàtic"
226 |
227 | #: src/ui/prefs.blp:15
228 | msgid "Auto Update Check"
229 | msgstr "Comprovació d’actualitzacions automàtica"
230 |
231 | #: src/ui/prefs.blp:16
232 | msgid "Checks and notifies for theme updates on user login."
233 | msgstr ""
234 | "Revisa i notifica si hi ha actualitzacions dels temes en iniciar la sessió "
235 | "l’usuari."
236 |
237 | #: src/ui/prefs.blp:25
238 | msgid "Beta"
239 | msgstr "Beta"
240 |
241 | #: src/ui/prefs.blp:29
242 | msgid "Experimental Beta Support"
243 | msgstr "Compatibilitat beta experimental"
244 |
245 | #: src/ui/prefs.blp:30
246 | msgid "Enables Beta Support (requires restart)"
247 | msgstr "Activa la compatibilitat beta (cal reiniciar)"
248 |
249 | #: src/ui/prefs.blp:39
250 | msgid "Installer"
251 | msgstr "Instal·lador"
252 |
253 | #: src/ui/prefs.blp:42
254 | msgid "Custom CSS"
255 | msgstr "CSS personalitzat"
256 |
257 | #: src/ui/prefs.blp:43
258 | msgid "Include Custom CSS into Steam"
259 | msgstr "Inclou CSS personalitzat a l’Steam"
260 |
261 | #: src/ui/prefs.blp:48
262 | msgid "Custom CSS Info"
263 | msgstr "Informació del CSS personalitzat"
264 |
265 | #: src/ui/prefs.blp:53
266 | msgid "Edit Custom CSS File"
267 | msgstr "Edita el fitxer de CSS personalitzat"
268 |
269 | #: src/ui/prefs.blp:63
270 | msgid "Interface"
271 | msgstr "Interfície"
272 |
273 | #: src/ui/prefs.blp:66
274 | msgid "Preview Themes"
275 | msgstr "Previsualitza els temes"
276 |
277 | #: src/ui/prefs.blp:67
278 | msgid "Styles the interface to match the currently selected theme."
279 | msgstr ""
280 | "Dóna estil a la interfície perquè coincideixi amb el tema seleccionat "
281 | "actualment."
282 |
283 | #: src/ui/window.blp:7
284 | msgid "Adwaita Steam Installer"
285 | msgstr "Instal·lador Adwaita de l’Steam"
286 |
287 | #: src/ui/window.blp:14
288 | msgid "Apply"
289 | msgstr "Aplica"
290 |
291 | #: src/ui/window.blp:40
292 | msgid "Theme Options"
293 | msgstr "Opcions del tema"
294 |
295 | #: src/ui/window.blp:42
296 | msgid "Color Theme"
297 | msgstr "Tema de colors"
298 |
299 | #: src/ui/window.blp:43
300 | msgid "Changes the color theme of Steam's interface."
301 | msgstr "Canvia el tema de colors de la interfície de l’Steam."
302 |
303 | #: src/ui/window.blp:46
304 | msgid "No Rounded Corners"
305 | msgstr "Sense cantonades arrodonides"
306 |
307 | #: src/ui/window.blp:47
308 | msgid "Removes smooth rounded corners from the interface."
309 | msgstr "Treu les cantonades suaus de la interfície."
310 |
311 | #: src/ui/window.blp:57
312 | msgid "Window Controls Options"
313 | msgstr "Opcions dels controls de la finestra"
314 |
315 | #: src/ui/window.blp:59
316 | msgid "Controls Style"
317 | msgstr "Estil dels controls"
318 |
319 | #: src/ui/window.blp:60
320 | msgid "Changes Minimize/Maximize/Close Button Theme"
321 | msgstr "Canvia el tema dels botons Minimitza/Maximitza/Tanca"
322 |
323 | #: src/ui/window.blp:61 src/ui/window.blp:66
324 | msgid "Adwaita"
325 | msgstr "Adwaita"
326 |
327 | #: src/ui/window.blp:61 src/ui/window.blp:66
328 | msgid "MacOS"
329 | msgstr "macOS"
330 |
331 | #: src/ui/window.blp:61 src/ui/window.blp:66
332 | msgid "Windows"
333 | msgstr "Windows"
334 |
335 | #: src/ui/window.blp:64
336 | msgid "Controls Button Layout"
337 | msgstr "Disposició dels botons dels controls"
338 |
339 | #: src/ui/window.blp:65
340 | msgid "Changes Minimize/Maximize/Close Button Layout and Position"
341 | msgstr "Canvia la disposició i la posició dels botons Minimitza/Maximitza/Tanca"
342 |
343 | #: src/ui/window.blp:66
344 | msgid "Auto"
345 | msgstr "Automàtic"
346 |
347 | #: src/ui/window.blp:66
348 | msgid "Elementary"
349 | msgstr "Elementary"
350 |
351 | #: src/ui/window.blp:71
352 | msgid "Library Options"
353 | msgstr "Opcions de la ludoteca"
354 |
355 | #: src/ui/window.blp:74
356 | msgid "Library Sidebar"
357 | msgstr "Barra lateral de la ludoteca"
358 |
359 | #: src/ui/window.blp:75
360 | msgid "Changes display options for the Library's left sidebar."
361 | msgstr ""
362 | "Canvia les opcions de visualització de la barra lateral esquerra de la "
363 | "ludoteca."
364 |
365 | #: src/ui/window.blp:76 src/ui/window.blp:96
366 | msgid "Show"
367 | msgstr "Mostra"
368 |
369 | #: src/ui/window.blp:76 src/ui/window.blp:96
370 | msgid "Hover Only"
371 | msgstr "Només en posar-hi el punter"
372 |
373 | #: src/ui/window.blp:80
374 | msgid "Hide Library What's New Shelf"
375 | msgstr "Amaga el prestatge «Novetats» de la ludoteca"
376 |
377 | #: src/ui/window.blp:81
378 | msgid "Disables display of the new updates section on top of the Library."
379 | msgstr ""
380 | "Desactiva la visualització de la secció d’actualitzacions a la part superior "
381 | "de la biblioteca."
382 |
383 | #: src/ui/window.blp:91
384 | msgid "Login Options"
385 | msgstr "Opcions d’inici de sessió"
386 |
387 | #: src/ui/window.blp:94
388 | msgid "QR Code Login"
389 | msgstr "Inici de sessió mitjançant codi QR"
390 |
391 | #: src/ui/window.blp:95
392 | msgid "Changes display options for the mobile QR code in the Login dialog."
393 | msgstr ""
394 | "Canvia les opcions de visualització del codi QR mòbil al diàleg d’inici de "
395 | "sessió."
396 |
397 | #: src/ui/window.blp:96
398 | msgid "Hide"
399 | msgstr "Amaga"
400 |
401 | #: src/ui/window.blp:108
402 | msgid "_Preferences"
403 | msgstr "_Preferències"
404 |
405 | #: src/ui/window.blp:112
406 | msgid "_Uninstall"
407 | msgstr "_Desinstal·la"
408 |
409 | #: src/ui/window.blp:116
410 | msgid "_About AdwSteamGtk"
411 | msgstr "_Quant a l’AdwSteamGtk"
412 |
413 | #: src/zip.py:28
414 | msgid "Extract: Failed to read ZIP archive"
415 | msgstr "Extracció: no s’ha pogut llegir l’arxiu ZIP"
416 |
417 | #: src/zip.py:30
418 | msgid "Extract: Bad ZIP File"
419 | msgstr "Extracció: fitxer ZIP malmès"
420 |
421 | #: src/zip.py:32
422 | msgid "Extract: Failed to Extract ZIP File"
423 | msgstr "Extracció: no s’ha pogut extreure el fitxer ZIP"
424 |
--------------------------------------------------------------------------------
/po/ckb.po:
--------------------------------------------------------------------------------
1 | # AdwSteamGtk Pot
2 | # Copyright (C) 2023 Foldex
3 | # This file is distributed under the GNU GPLv3 license.
4 | # Foldex, 2023.
5 | #
6 | msgid ""
7 | msgstr ""
8 | "Project-Id-Version: AdwSteamGtk 0.6.9\n"
9 | "Report-Msgid-Bugs-To: \n"
10 | "POT-Creation-Date: 2023-09-16 13:37-0400\n"
11 | "PO-Revision-Date: 2023-10-16 04:17+0000\n"
12 | "Last-Translator: \"Hoshmand M. Qadir\" \n"
13 | "Language-Team: Kurdish (Central) \n"
15 | "Language: ckb\n"
16 | "MIME-Version: 1.0\n"
17 | "Content-Type: text/plain; charset=UTF-8\n"
18 | "Content-Transfer-Encoding: 8bit\n"
19 | "Plural-Forms: nplurals=2; plural=n != 1;\n"
20 | "X-Generator: Weblate 5.1-dev\n"
21 |
22 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:12
23 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:3
24 | msgid "AdwSteamGtk"
25 | msgstr ""
26 |
27 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:13
28 | msgid "Give Steam the Adwaita treatment"
29 | msgstr ""
30 |
31 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:14
32 | msgid "Foldex"
33 | msgstr ""
34 |
35 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:20
36 | msgid ""
37 | "Make Steam look like it belongs on your computer. This app installs and "
38 | "updates the Adwaita-for-Steam skin for you. It's as simple as this:"
39 | msgstr ""
40 |
41 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:25
42 | msgid "Configure the skin to your liking"
43 | msgstr ""
44 |
45 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:26
46 | msgid "Click the “Apply” button"
47 | msgstr ""
48 |
49 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:27
50 | msgid "Restart Steam"
51 | msgstr ""
52 |
53 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:29
54 | msgid ""
55 | "On startup, the app will automatically download any updates to the skin and "
56 | "display a notification. Apply the skin again and restart Steam to take the "
57 | "changes into use."
58 | msgstr ""
59 |
60 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:33
61 | msgid ""
62 | "In order to get rounded corners on Steam, you will need to use the “Rounded "
63 | "Window Corners” GNOME extension."
64 | msgstr ""
65 |
66 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:46
67 | msgid "Added Czech Translation"
68 | msgstr ""
69 |
70 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:47
71 | msgid "Added Spanish Translation"
72 | msgstr ""
73 |
74 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:48
75 | msgid "Updated French Translation"
76 | msgstr ""
77 |
78 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:49
79 | msgid "New Application Icon"
80 | msgstr ""
81 |
82 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:50
83 | msgid "Updated Libportal"
84 | msgstr ""
85 |
86 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:57
87 | msgid "Fixed issue with Uninstall"
88 | msgstr ""
89 |
90 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:64
91 | msgid "Removed Deprecated Font Install Preference"
92 | msgstr ""
93 |
94 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:71
95 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:95
96 | msgid "Fixed Appdata"
97 | msgstr ""
98 |
99 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:72
100 | msgid "Removed some options that no longer exist upstream"
101 | msgstr ""
102 |
103 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:79
104 | msgid "Updated Russian Translation"
105 | msgstr ""
106 |
107 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:80
108 | msgid "Updated to new upstream install method"
109 | msgstr ""
110 |
111 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:87
112 | msgid "Updated German and Ukrainian Translations"
113 | msgstr ""
114 |
115 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:88
116 | msgid "Added Portuguese Translation"
117 | msgstr ""
118 |
119 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:102
120 | msgid "Beta Toggle removed as new UI support landed upstream"
121 | msgstr ""
122 |
123 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:103
124 | msgid ""
125 | "Added option to use Steam's Original Top Bar instead of our Adwaita styled "
126 | "one"
127 | msgstr ""
128 |
129 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:104
130 | msgid "Initial German Translation"
131 | msgstr ""
132 |
133 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:105
134 | msgid "Added hover tooltips to installer options"
135 | msgstr ""
136 |
137 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:112
138 | msgid "Added French, Ukrainian, and Russian Translations"
139 | msgstr ""
140 |
141 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:119
142 | msgid "New UI"
143 | msgstr ""
144 |
145 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:120
146 | msgid "Added Experimental Beta Client Support (with new options)"
147 | msgstr ""
148 |
149 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:121
150 | msgid "Added Custom CSS Option"
151 | msgstr ""
152 |
153 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:128
154 | msgid "Added Autostart Update Check preference toggle"
155 | msgstr ""
156 |
157 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:129
158 | msgid "Added Font Install preference toggle"
159 | msgstr ""
160 |
161 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:136
162 | msgid "Fixed issue with theme preview on light mode"
163 | msgstr ""
164 |
165 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:137
166 | msgid "Added preferences toggle for theme preview"
167 | msgstr ""
168 |
169 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:144
170 | msgid "Colortheme is now previewed in app"
171 | msgstr ""
172 |
173 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:145
174 | msgid "Added -u/-i arguments to install skin via commandline"
175 | msgstr ""
176 |
177 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:146
178 | msgid "Added -o argument to override install options for -i/-u"
179 | msgstr ""
180 |
181 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:153
182 | msgid "Added Library Sidebar Options"
183 | msgstr ""
184 |
185 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:160
186 | msgid "Updated to Gnome 44 Runtime"
187 | msgstr ""
188 |
189 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:161
190 | msgid "Changed Default Web Theme to Full Variant"
191 | msgstr ""
192 |
193 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:168
194 | msgid "Fixed Installer CLI Output"
195 | msgstr ""
196 |
197 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:175
198 | msgid "Added Color Theme Support"
199 | msgstr ""
200 |
201 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:176
202 | msgid "Added -c argument to notify about updates"
203 | msgstr ""
204 |
205 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:183
206 | msgid "Last chosen settings are now loaded at startup"
207 | msgstr ""
208 |
209 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:184
210 | msgid "Changed display of install button if the theme is already installed"
211 | msgstr ""
212 |
213 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:191
214 | msgid "Added None to Window Control Options"
215 | msgstr ""
216 |
217 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:198
218 | msgid "Added QR Login Options"
219 | msgstr ""
220 |
221 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:199
222 | msgid "Improved Missing Dir Messages"
223 | msgstr ""
224 |
225 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:206
226 | msgid "Updated to Gnome 43 SDK"
227 | msgstr ""
228 |
229 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:207
230 | msgid "Implemented AdwAboutWindow"
231 | msgstr ""
232 |
233 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:208
234 | msgid "Updated Filesystem Permissions"
235 | msgstr ""
236 |
237 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:209
238 | msgid "Fixed Quit Shortcut"
239 | msgstr ""
240 |
241 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:210
242 | msgid "Fixed Current Check"
243 | msgstr ""
244 |
245 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:220
246 | msgid "Main Window"
247 | msgstr ""
248 |
249 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:224
250 | msgid "Theme Preview"
251 | msgstr ""
252 |
253 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:228
254 | msgid "Login Preview"
255 | msgstr ""
256 |
257 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:4
258 | msgid "A simple wrapper that installs Adwaita for Steam"
259 | msgstr ""
260 |
261 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:10
262 | msgid "Steam;Adwaita;Skin;"
263 | msgstr ""
264 |
265 | #: src/cli.py:47 src/cli.py:138
266 | msgid "Up to Date."
267 | msgstr ""
268 |
269 | #: src/cli.py:105
270 | #, python-brace-format
271 | msgid "{key}: {cur_val} invalid value"
272 | msgstr ""
273 |
274 | #: src/cli.py:111
275 | msgid "Could not get theme list. Falling back to last selected theme."
276 | msgstr ""
277 |
278 | #: src/cli.py:117
279 | #, python-brace-format
280 | msgid ""
281 | "Could not find theme {colortheme} in theme list. Falling back to last "
282 | "selected theme."
283 | msgstr ""
284 |
285 | #: src/cli.py:132
286 | msgid "New Release Available: "
287 | msgstr ""
288 |
289 | #: src/cli.py:135
290 | msgid "Update Check Failed: "
291 | msgstr ""
292 |
293 | #: src/dl.py:30
294 | msgid "API: HTTP Error Code "
295 | msgstr ""
296 |
297 | #: src/dl.py:32
298 | msgid "API: Error Parsing JSON"
299 | msgstr ""
300 |
301 | #: src/dl.py:34
302 | msgid "API: Error retrieving release info"
303 | msgstr ""
304 |
305 | #: src/dl.py:42
306 | msgid "API: JSON is missing required keys"
307 | msgstr ""
308 |
309 | #: src/dl.py:48
310 | msgid "Release: HTTP Error Code "
311 | msgstr ""
312 |
313 | #: src/dl.py:50
314 | msgid "Release: Connection Reset"
315 | msgstr ""
316 |
317 | #: src/dl.py:52
318 | msgid "Release: Permission Error"
319 | msgstr ""
320 |
321 | #: src/dl.py:54
322 | msgid "Release: Connection Timeout"
323 | msgstr ""
324 |
325 | #: src/dl.py:56
326 | msgid "Release: Error Retrieving Zip"
327 | msgstr ""
328 |
329 | #: src/install.py:117
330 | msgid "Install: Found no Valid Install Targets"
331 | msgstr ""
332 |
333 | #: src/install.py:120
334 | msgid "Install: Installer Process Failed"
335 | msgstr ""
336 |
337 | #: src/install.py:135
338 | msgid "Install: Failed to Find Valid '~/.steam/steam' Symlink"
339 | msgstr ""
340 |
341 | #: src/main.py:138
342 | msgid "Upstream"
343 | msgstr ""
344 |
345 | #: src/main.py:139
346 | msgid "Translators"
347 | msgstr ""
348 |
349 | #: src/main.py:148
350 | msgid "Uninstall Theme"
351 | msgstr ""
352 |
353 | #: src/main.py:149
354 | msgid "This will reset all customizations made to the Steam client."
355 | msgstr ""
356 |
357 | #: src/main.py:151
358 | msgid "Cancel"
359 | msgstr ""
360 |
361 | #: src/main.py:152
362 | msgid "Uninstall"
363 | msgstr ""
364 |
365 | #: src/pages/window.py:193
366 | msgid "New Release Downloaded: "
367 | msgstr ""
368 |
369 | #: src/pages/window.py:195
370 | msgid "Retry"
371 | msgstr ""
372 |
373 | #: src/pages/window.py:228
374 | msgid "Theme Installed"
375 | msgstr ""
376 |
377 | #: src/style.py:40
378 | msgid "Get Themes: Failed to get themes"
379 | msgstr ""
380 |
381 | #: src/style.py:71
382 | #, python-brace-format
383 | msgid "Style: Could not find theme {theme_name}"
384 | msgstr ""
385 |
386 | #: src/ui/prefs.blp:5
387 | msgid "Preferences"
388 | msgstr ""
389 |
390 | #: src/ui/prefs.blp:12
391 | msgid "Autostart"
392 | msgstr ""
393 |
394 | #: src/ui/prefs.blp:15
395 | msgid "Auto Update Check"
396 | msgstr ""
397 |
398 | #: src/ui/prefs.blp:16
399 | msgid "Checks and notifies for theme updates on user login."
400 | msgstr ""
401 |
402 | #: src/ui/prefs.blp:25
403 | msgid "Beta"
404 | msgstr ""
405 |
406 | #: src/ui/prefs.blp:29
407 | msgid "Experimental Beta Support"
408 | msgstr ""
409 |
410 | #: src/ui/prefs.blp:30
411 | msgid "Enables Beta Support (requires restart)"
412 | msgstr ""
413 |
414 | #: src/ui/prefs.blp:39
415 | msgid "Installer"
416 | msgstr ""
417 |
418 | #: src/ui/prefs.blp:42
419 | msgid "Custom CSS"
420 | msgstr ""
421 |
422 | #: src/ui/prefs.blp:43
423 | msgid "Include Custom CSS into Steam"
424 | msgstr ""
425 |
426 | #: src/ui/prefs.blp:48
427 | msgid "Custom CSS Info"
428 | msgstr ""
429 |
430 | #: src/ui/prefs.blp:53
431 | msgid "Edit Custom CSS File"
432 | msgstr ""
433 |
434 | #: src/ui/prefs.blp:63
435 | msgid "Interface"
436 | msgstr ""
437 |
438 | #: src/ui/prefs.blp:66
439 | msgid "Preview Themes"
440 | msgstr ""
441 |
442 | #: src/ui/prefs.blp:67
443 | msgid "Styles the interface to match the currently selected theme."
444 | msgstr ""
445 |
446 | #: src/ui/window.blp:7
447 | msgid "Adwaita Steam Installer"
448 | msgstr "دامەزرێنەری ئادوایتا ستریم"
449 |
450 | #: src/ui/window.blp:14
451 | msgid "Apply"
452 | msgstr "جێبەجێکردن"
453 |
454 | #: src/ui/window.blp:40
455 | msgid "Theme Options"
456 | msgstr "هەڵبژاردەکانی روکار"
457 |
458 | #: src/ui/window.blp:42
459 | msgid "Color Theme"
460 | msgstr "ڕەنگی روکار"
461 |
462 | #: src/ui/window.blp:43
463 | msgid "Changes the color theme of Steam's interface."
464 | msgstr ""
465 |
466 | #: src/ui/window.blp:46
467 | msgid "No Rounded Corners"
468 | msgstr ""
469 |
470 | #: src/ui/window.blp:47
471 | msgid "Removes smooth rounded corners from the interface."
472 | msgstr ""
473 |
474 | #: src/ui/window.blp:57
475 | msgid "Window Controls Options"
476 | msgstr ""
477 |
478 | #: src/ui/window.blp:59
479 | msgid "Window Controls"
480 | msgstr ""
481 |
482 | #: src/ui/window.blp:60
483 | msgid ""
484 | "Changes Window Control position and type. Minimize and Maximize buttons are "
485 | "hidden by default. Use All to show them."
486 | msgstr ""
487 |
488 | #: src/ui/window.blp:61 src/ui/window.blp:66
489 | msgid "Default"
490 | msgstr ""
491 |
492 | #: src/ui/window.blp:61
493 | msgid "Right-All"
494 | msgstr ""
495 |
496 | #: src/ui/window.blp:61
497 | msgid "Left"
498 | msgstr ""
499 |
500 | #: src/ui/window.blp:61
501 | msgid "Left-All"
502 | msgstr ""
503 |
504 | #: src/ui/window.blp:61
505 | msgid "None"
506 | msgstr ""
507 |
508 | #: src/ui/window.blp:64
509 | msgid "Controls Style"
510 | msgstr ""
511 |
512 | #: src/ui/window.blp:65
513 | msgid ""
514 | "Changes Window Control visual style. Default is the traditional style, while "
515 | "Dots are Mac OS style colored circles."
516 | msgstr ""
517 |
518 | #: src/ui/window.blp:66
519 | msgid "Dots"
520 | msgstr ""
521 |
522 | #: src/ui/window.blp:71
523 | msgid "Library Options"
524 | msgstr ""
525 |
526 | #: src/ui/window.blp:74
527 | msgid "Library Sidebar"
528 | msgstr ""
529 |
530 | #: src/ui/window.blp:75
531 | msgid "Changes display options for the Library's left sidebar."
532 | msgstr ""
533 |
534 | #: src/ui/window.blp:76 src/ui/window.blp:96
535 | msgid "Show"
536 | msgstr ""
537 |
538 | #: src/ui/window.blp:76 src/ui/window.blp:96
539 | msgid "Hover Only"
540 | msgstr ""
541 |
542 | #: src/ui/window.blp:80
543 | msgid "Hide Library What's New Shelf"
544 | msgstr ""
545 |
546 | #: src/ui/window.blp:81
547 | msgid "Disables display of the new updates section on top of the Library."
548 | msgstr ""
549 |
550 | #: src/ui/window.blp:91
551 | msgid "Login Options"
552 | msgstr ""
553 |
554 | #: src/ui/window.blp:94
555 | msgid "QR Code Login"
556 | msgstr ""
557 |
558 | #: src/ui/window.blp:95
559 | msgid "Changes display options for the mobile QR code in the Login dialog."
560 | msgstr ""
561 |
562 | #: src/ui/window.blp:96
563 | msgid "Hide"
564 | msgstr ""
565 |
566 | #: src/ui/window.blp:108
567 | msgid "_Preferences"
568 | msgstr ""
569 |
570 | #: src/ui/window.blp:112
571 | msgid "_Uninstall"
572 | msgstr ""
573 |
574 | #: src/ui/window.blp:116
575 | msgid "_About AdwSteamGtk"
576 | msgstr ""
577 |
578 | #: src/zip.py:28
579 | msgid "Extract: Failed to read ZIP archive"
580 | msgstr ""
581 |
582 | #: src/zip.py:30
583 | msgid "Extract: Bad ZIP File"
584 | msgstr ""
585 |
586 | #: src/zip.py:32
587 | msgid "Extract: Failed to Extract ZIP File"
588 | msgstr ""
589 |
--------------------------------------------------------------------------------
/po/hu.po:
--------------------------------------------------------------------------------
1 | # AdwSteamGtk Pot
2 | # Copyright (C) 2024 Foldex
3 | # This file is distributed under the GNU GPLv3 license.
4 | # Foldex, 2024.
5 | #
6 | msgid ""
7 | msgstr ""
8 | "Project-Id-Version: AdwSteamGtk 0.6.11\n"
9 | "Report-Msgid-Bugs-To: \n"
10 | "POT-Creation-Date: 2024-11-09 19:43-0500\n"
11 | "PO-Revision-Date: 2025-03-22 21:47+0000\n"
12 | "Last-Translator: Raihwy \n"
13 | "Language-Team: Hungarian \n"
15 | "Language: hu\n"
16 | "MIME-Version: 1.0\n"
17 | "Content-Type: text/plain; charset=UTF-8\n"
18 | "Content-Transfer-Encoding: 8bit\n"
19 | "Plural-Forms: nplurals=2; plural=n != 1;\n"
20 | "X-Generator: Weblate 5.11-dev\n"
21 |
22 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:12
23 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:3
24 | msgid "AdwSteamGtk"
25 | msgstr "AdwSteamGtk"
26 |
27 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:13
28 | msgid "Give Steam the Adwaita treatment"
29 | msgstr "Adj a Steamnek Adwaita stílust"
30 |
31 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:14
32 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:16
33 | msgid "Foldex"
34 | msgstr "Foldex"
35 |
36 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:25
37 | msgid ""
38 | "Make Steam look like it belongs on your computer. This app installs and "
39 | "updates the Adwaita-for-Steam skin for you. It's as simple as this:"
40 | msgstr ""
41 | "Alakítsd át a Steam témáját, hogy illeszkedjen a számítógépedhez. Ez az "
42 | "alkalmazás telepíti és frissíti az Adwaita-for-Steam témát. Könnyen és "
43 | "egyszerűen:"
44 |
45 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:30
46 | msgid "Configure the skin to your liking"
47 | msgstr "Állítsd be a témát ízlésed szerint"
48 |
49 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:31
50 | msgid "Click the “Apply” button"
51 | msgstr "Kattints az 'Alkalmaz' gombra"
52 |
53 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:32
54 | msgid "Restart Steam"
55 | msgstr "Indítsd újra a Steamet"
56 |
57 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:34
58 | msgid ""
59 | "On startup, the app will automatically download any updates to the skin and "
60 | "display a notification. Apply the skin again and restart Steam to take the "
61 | "changes into use."
62 | msgstr ""
63 | "Induláskor az alkalmazás automatikusan letölti a téma frissítéseit, és "
64 | "értesítést jelenít meg. Alkalmazd újra a témát, és indítsd újra a Steamet, "
65 | "hogy érvénybe lépjenek a változások."
66 |
67 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:38
68 | msgid ""
69 | "In order to get rounded corners on Steam, you will need to use the “Rounded "
70 | "Window Corners” GNOME extension."
71 | msgstr ""
72 | "A lekerekített sarkok eléréséhez a Steam-en használnod kell a „Rounded "
73 | "Window Corners” GNOME bővítményt."
74 |
75 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:244
76 | msgid "Main Window"
77 | msgstr "Főablak"
78 |
79 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:248
80 | msgid "Theme Preview"
81 | msgstr "Téma Előnézet"
82 |
83 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:252
84 | msgid "Login Preview"
85 | msgstr "Bejelentkezési Előnézet"
86 |
87 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:4
88 | msgid "A simple wrapper that installs Adwaita for Steam"
89 | msgstr "Egy egyszerű wrapper, amely telepíti az Adwaita-t a Steamhez"
90 |
91 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:10
92 | msgid "Steam;Adwaita;Skin;"
93 | msgstr "Steam;Adwaita;Téma;"
94 |
95 | #: src/cli.py:47 src/cli.py:138
96 | msgid "Up to Date."
97 | msgstr "Frissítve."
98 |
99 | #: src/cli.py:105
100 | #, python-brace-format
101 | msgid "{key}: {cur_val} invalid value"
102 | msgstr "{key}: {cur_val} érvénytelen érték"
103 |
104 | #: src/cli.py:111
105 | msgid "Could not get theme list. Falling back to last selected theme."
106 | msgstr ""
107 | "Nem sikerült lekérni a téma listát. Visszatérünk az utoljára kiválasztott "
108 | "témához."
109 |
110 | #: src/cli.py:117
111 | #, python-brace-format
112 | msgid ""
113 | "Could not find theme {colortheme} in theme list. Falling back to last "
114 | "selected theme."
115 | msgstr ""
116 | "Nem található a(z) {colortheme} témát a téma listában. Visszatérünk az "
117 | "utoljára kiválasztott témához."
118 |
119 | #: src/cli.py:132
120 | msgid "New Release Available: "
121 | msgstr "Új Kiadás Elérhető: "
122 |
123 | #: src/cli.py:135
124 | msgid "Update Check Failed: "
125 | msgstr "Frissítés Ellenőrzés Hiba: "
126 |
127 | #: src/dl.py:30
128 | msgid "API: HTTP Error Code "
129 | msgstr "API: HTTP hibakód "
130 |
131 | #: src/dl.py:32
132 | msgid "API: Error Parsing JSON"
133 | msgstr "API: Hiba a JSON feldolgozásában"
134 |
135 | #: src/dl.py:34
136 | msgid "API: Error retrieving release info"
137 | msgstr "API: Hiba a kiadási információk lekérésekor"
138 |
139 | #: src/dl.py:42
140 | msgid "API: JSON is missing required keys"
141 | msgstr "API: A JSON-ból hiányoznak a szükséges kulcsok"
142 |
143 | #: src/dl.py:48
144 | msgid "Release: HTTP Error Code "
145 | msgstr "Kiadás: HTTP hibakód "
146 |
147 | #: src/dl.py:50
148 | msgid "Release: Connection Reset"
149 | msgstr "Kiadás: Kapcsolat Visszaállítva"
150 |
151 | #: src/dl.py:52
152 | msgid "Release: Permission Error"
153 | msgstr "Kiadás: Jogosultsági Hiba"
154 |
155 | #: src/dl.py:54
156 | msgid "Release: Connection Timeout"
157 | msgstr "Kiadás: Kapcsolati Időtúllépés"
158 |
159 | #: src/dl.py:56
160 | msgid "Release: Error Retrieving Zip"
161 | msgstr "Kiadás: Hiba a ZIP fájl Lekérésekor"
162 |
163 | #: src/install.py:132
164 | msgid "Install: Found no Valid Install Targets"
165 | msgstr "Telepítés: Nem Található Érvényes Telepítési Célpont"
166 |
167 | #: src/install.py:135
168 | msgid "Install: Installer Process Failed"
169 | msgstr "Telepítés: A Telepítő Folyamat nem Sikerült"
170 |
171 | #: src/install.py:169
172 | msgid "Install: Failed to Find Valid '~/.steam/steam' Symlink"
173 | msgstr ""
174 | "Telepítés: Nem sikerült érvényes '~/.steam/steam' szimbolikus linket "
175 | "(Symlink) találni"
176 |
177 | #: src/main.py:138
178 | msgid "Upstream"
179 | msgstr "Forrás"
180 |
181 | #: src/main.py:139
182 | msgid "Translators"
183 | msgstr "Fordítók"
184 |
185 | #: src/main.py:148
186 | msgid "Uninstall Theme"
187 | msgstr "Téma Eltávolítása"
188 |
189 | #: src/main.py:149
190 | msgid "This will reset all customizations made to the Steam client."
191 | msgstr "Ez visszaállítja az összes változtatást a Steam kliensen."
192 |
193 | #: src/main.py:151
194 | msgid "Cancel"
195 | msgstr "Mégse"
196 |
197 | #: src/main.py:152
198 | msgid "Uninstall"
199 | msgstr "Eltávolítás"
200 |
201 | #: src/pages/window.py:193
202 | msgid "New Release Downloaded: "
203 | msgstr "Új Kiadás Letöltve: "
204 |
205 | #: src/pages/window.py:195
206 | msgid "Retry"
207 | msgstr "Újrapróbálkozás"
208 |
209 | #: src/pages/window.py:228
210 | msgid "Theme Installed"
211 | msgstr "Téma Telepítve"
212 |
213 | #: src/style.py:40
214 | msgid "Get Themes: Failed to get themes"
215 | msgstr "Témák Beszerzése: Nem Sikerült Letölteni a Témákat"
216 |
217 | #: src/style.py:71
218 | #, python-brace-format
219 | msgid "Style: Could not find theme {theme_name}"
220 | msgstr "Style: Nem található a(z) {theme_name} téma"
221 |
222 | #: src/style.py:122
223 | #, python-brace-format
224 | msgid "Style: Theme {theme_name} seems to be invalid"
225 | msgstr "Stílus: A {theme_name} Téma érvénytelennek tűnik"
226 |
227 | #: src/ui/prefs.blp:5
228 | msgid "Preferences"
229 | msgstr "Beállítások"
230 |
231 | #: src/ui/prefs.blp:12
232 | msgid "Autostart"
233 | msgstr "Automatikus Indítás"
234 |
235 | #: src/ui/prefs.blp:15
236 | msgid "Auto Update Check"
237 | msgstr "Frissítések Ellenőrzése"
238 |
239 | #: src/ui/prefs.blp:16
240 | msgid "Checks and notifies for theme updates on user login."
241 | msgstr ""
242 | "Ellenőrzi és értesít a témafrissítésekről a felhasználói bejelentkezéskor."
243 |
244 | #: src/ui/prefs.blp:25
245 | msgid "Beta"
246 | msgstr "Béta"
247 |
248 | #: src/ui/prefs.blp:29
249 | msgid "Experimental Beta Support"
250 | msgstr "Kísérleti Béta Hozzáférés"
251 |
252 | #: src/ui/prefs.blp:30
253 | msgid "Enables Beta Support (requires restart)"
254 | msgstr "Engedélyezi a Bétaverziót (újraindítás szükséges)"
255 |
256 | #: src/ui/prefs.blp:39
257 | msgid "Installer"
258 | msgstr "Telepítő"
259 |
260 | #: src/ui/prefs.blp:42
261 | msgid "Custom CSS"
262 | msgstr "Egyéni CSS"
263 |
264 | #: src/ui/prefs.blp:43
265 | msgid "Include Custom CSS into Steam"
266 | msgstr "Egyéni CSS Hozzáadása a Steamhez"
267 |
268 | #: src/ui/prefs.blp:48
269 | msgid "Custom CSS Info"
270 | msgstr "Egyéni CSS Információ"
271 |
272 | #: src/ui/prefs.blp:53
273 | msgid "Edit Custom CSS File"
274 | msgstr "Egyéni CSS fájl Szerkesztése"
275 |
276 | #: src/ui/prefs.blp:63
277 | msgid "Interface"
278 | msgstr "Kezelőfelület"
279 |
280 | #: src/ui/prefs.blp:66
281 | msgid "Preview Themes"
282 | msgstr "Témák Előnézete"
283 |
284 | #: src/ui/prefs.blp:67
285 | msgid "Styles the interface to match the currently selected theme."
286 | msgstr ""
287 | "A kezelőfelület stílusát megváltoztatja, hogy illeszkedjen a jelenleg "
288 | "kiválasztott stílushoz."
289 |
290 | #: src/ui/window.blp:7
291 | msgid "Adwaita Steam Installer"
292 | msgstr "Adwaita Steam Telepítő"
293 |
294 | #: src/ui/window.blp:14
295 | msgid "Apply"
296 | msgstr "Alkalmaz"
297 |
298 | #: src/ui/window.blp:40
299 | msgid "Theme Options"
300 | msgstr "Téma Opciók"
301 |
302 | #: src/ui/window.blp:42
303 | msgid "Color Theme"
304 | msgstr "Színtéma"
305 |
306 | #: src/ui/window.blp:43
307 | msgid "Changes the color theme of Steam's interface."
308 | msgstr "Módosítja a Steam felületének színtémáját."
309 |
310 | #: src/ui/window.blp:46
311 | msgid "No Rounded Corners"
312 | msgstr "Nem lekerekített sarkok"
313 |
314 | #: src/ui/window.blp:47
315 | msgid "Removes smooth rounded corners from the interface."
316 | msgstr "Eltávolítja a sima, lekerekített sarkokat a felületről."
317 |
318 | #: src/ui/window.blp:57
319 | msgid "Window Controls Options"
320 | msgstr "Ablakkezelő beállításai"
321 |
322 | #: src/ui/window.blp:59
323 | msgid "Controls Style"
324 | msgstr "Ablak stílusa"
325 |
326 | #: src/ui/window.blp:60
327 | msgid "Changes Minimize/Maximize/Close Button Theme"
328 | msgstr "A Kicsinyítés/Nagyítás/Bezárás gomb témáját módosítja"
329 |
330 | #: src/ui/window.blp:61 src/ui/window.blp:66
331 | msgid "Adwaita"
332 | msgstr "Adwaita"
333 |
334 | #: src/ui/window.blp:61 src/ui/window.blp:66
335 | msgid "MacOS"
336 | msgstr "MacOS"
337 |
338 | #: src/ui/window.blp:61 src/ui/window.blp:66
339 | msgid "Windows"
340 | msgstr "Windows"
341 |
342 | #: src/ui/window.blp:64
343 | msgid "Controls Button Layout"
344 | msgstr "Vezérlő Gombok Elrendezése"
345 |
346 | #: src/ui/window.blp:65
347 | msgid "Changes Minimize/Maximize/Close Button Layout and Position"
348 | msgstr ""
349 | "A Kicsinyítés/Nagyítás/Bezárás gombok elrendezésének és pozíciójának "
350 | "módosítása"
351 |
352 | #: src/ui/window.blp:66
353 | msgid "Auto"
354 | msgstr "Automata"
355 |
356 | #: src/ui/window.blp:66
357 | msgid "Elementary"
358 | msgstr "Elementary"
359 |
360 | #: src/ui/window.blp:71
361 | msgid "Library Options"
362 | msgstr "Könyvtár beállításai"
363 |
364 | #: src/ui/window.blp:74
365 | msgid "Library Sidebar"
366 | msgstr "Könyvtár Oldalsáv"
367 |
368 | #: src/ui/window.blp:75
369 | msgid "Changes display options for the Library's left sidebar."
370 | msgstr "Módosítja a könyvtár bal oldalsávjának megjelenítési beállításait."
371 |
372 | #: src/ui/window.blp:76 src/ui/window.blp:96
373 | msgid "Show"
374 | msgstr "Megjelenítés"
375 |
376 | #: src/ui/window.blp:76 src/ui/window.blp:96
377 | msgid "Hover Only"
378 | msgstr "Csak Egérmutatóra"
379 |
380 | #: src/ui/window.blp:80
381 | msgid "Hide Library What's New Shelf"
382 | msgstr "Újdonságok elrejtése"
383 |
384 | #: src/ui/window.blp:81
385 | msgid "Disables display of the new updates section on top of the Library."
386 | msgstr ""
387 | "Letiltja az új frissítések szekciójának megjelenítését a könyvtár tetején."
388 |
389 | #: src/ui/window.blp:91
390 | msgid "Login Options"
391 | msgstr "Bejelentkezési Beállítások"
392 |
393 | #: src/ui/window.blp:94
394 | msgid "QR Code Login"
395 | msgstr "QR Kódos Bejelentkezés"
396 |
397 | #: src/ui/window.blp:95
398 | msgid "Changes display options for the mobile QR code in the Login dialog."
399 | msgstr "Módosítja a QR kód megjelenítését a bejelentkezési ablakban."
400 |
401 | #: src/ui/window.blp:96
402 | msgid "Hide"
403 | msgstr "Elrejtés"
404 |
405 | #: src/ui/window.blp:108
406 | msgid "_Preferences"
407 | msgstr "_Beállítások"
408 |
409 | #: src/ui/window.blp:112
410 | msgid "_Uninstall"
411 | msgstr "_Eltávolítás"
412 |
413 | #: src/ui/window.blp:116
414 | msgid "_About AdwSteamGtk"
415 | msgstr "_Az AdwSteamGtk-ról"
416 |
417 | #: src/zip.py:28
418 | msgid "Extract: Failed to read ZIP archive"
419 | msgstr "Kibontás: Nem Sikerült Olvasni a ZIP fájlt"
420 |
421 | #: src/zip.py:30
422 | msgid "Extract: Bad ZIP File"
423 | msgstr "Kibontás: Hibás ZIP fájl"
424 |
425 | #: src/zip.py:32
426 | msgid "Extract: Failed to Extract ZIP File"
427 | msgstr "Kibontás: Nem sikerült Kibontani a ZIP fájlt"
428 |
--------------------------------------------------------------------------------
/po/meson.build:
--------------------------------------------------------------------------------
1 | i18n.gettext('adwaita-steam-gtk', preset: 'glib')
2 |
--------------------------------------------------------------------------------
/po/sr.po:
--------------------------------------------------------------------------------
1 | # AdwSteamGtk Pot
2 | # Copyright (C) 2024 Foldex
3 | # This file is distributed under the GNU GPLv3 license.
4 | # Foldex, 2024.
5 | #
6 | msgid ""
7 | msgstr ""
8 | "Project-Id-Version: AdwSteamGtk 0.6.11\n"
9 | "Report-Msgid-Bugs-To: \n"
10 | "POT-Creation-Date: 2024-11-09 19:43-0500\n"
11 | "PO-Revision-Date: 2025-02-15 08:01+0000\n"
12 | "Last-Translator: Enenra \n"
13 | "Language-Team: Serbian \n"
15 | "Language: sr\n"
16 | "MIME-Version: 1.0\n"
17 | "Content-Type: text/plain; charset=UTF-8\n"
18 | "Content-Transfer-Encoding: 8bit\n"
19 | "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
20 | "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
21 | "X-Generator: Weblate 5.10\n"
22 |
23 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:12
24 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:3
25 | msgid "AdwSteamGtk"
26 | msgstr "AdwSteamGtk"
27 |
28 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:13
29 | msgid "Give Steam the Adwaita treatment"
30 | msgstr "Dajte Steamu Adwaita tretman"
31 |
32 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:14
33 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:16
34 | msgid "Foldex"
35 | msgstr "Foldex"
36 |
37 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:25
38 | msgid ""
39 | "Make Steam look like it belongs on your computer. This app installs and "
40 | "updates the Adwaita-for-Steam skin for you. It's as simple as this:"
41 | msgstr ""
42 | "Napravi Steam da izgleda kao da pripada tvom kompjuteru. Ova aplikacija "
43 | "instalira i ažurira Adwaita-for-Steam skin za tebe. Ovoliko je jednostavno:"
44 |
45 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:30
46 | msgid "Configure the skin to your liking"
47 | msgstr "Konfiguriši skin po svom ukusu"
48 |
49 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:31
50 | msgid "Click the “Apply” button"
51 | msgstr "Klikni \"Primeni\" dugme"
52 |
53 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:32
54 | msgid "Restart Steam"
55 | msgstr "Restartuj Steam"
56 |
57 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:34
58 | msgid ""
59 | "On startup, the app will automatically download any updates to the skin and "
60 | "display a notification. Apply the skin again and restart Steam to take the "
61 | "changes into use."
62 | msgstr ""
63 | "Pri paljenju, ova aplikacija će automatski preuzeti sva ažuriranja za skin i "
64 | "prikazati notifikaciju. Ponovo primeni temu i restartuj Steam da bi primenio "
65 | "promene."
66 |
67 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:38
68 | msgid ""
69 | "In order to get rounded corners on Steam, you will need to use the “Rounded "
70 | "Window Corners” GNOME extension."
71 | msgstr ""
72 | "Kako bi dobio zaobljene uglove na Steam-u, moraš koristiti "
73 | "\"Rounded Window Corners\" GNOME ekstenziju."
74 |
75 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:244
76 | msgid "Main Window"
77 | msgstr "Glavni Prozor"
78 |
79 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:248
80 | msgid "Theme Preview"
81 | msgstr "Pregled Teme"
82 |
83 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:252
84 | msgid "Login Preview"
85 | msgstr "Pregled Prijavljivanja"
86 |
87 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:4
88 | msgid "A simple wrapper that installs Adwaita for Steam"
89 | msgstr "Jednostavan alat koji instalira Adwaitu za Steam"
90 |
91 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:10
92 | msgid "Steam;Adwaita;Skin;"
93 | msgstr "Steam;Adwaita;Skin;Koža;Tema;"
94 |
95 | #: src/cli.py:47 src/cli.py:138
96 | msgid "Up to Date."
97 | msgstr "Ažurirano."
98 |
99 | #: src/cli.py:105
100 | #, python-brace-format
101 | msgid "{key}: {cur_val} invalid value"
102 | msgstr "{key}: {cur_val} nevažeća vrednost"
103 |
104 | #: src/cli.py:111
105 | msgid "Could not get theme list. Falling back to last selected theme."
106 | msgstr "Nije moguće preuzeti listu tema. Vraćeno na poslednju odabranu temu."
107 |
108 | #: src/cli.py:117
109 | #, python-brace-format
110 | msgid ""
111 | "Could not find theme {colortheme} in theme list. Falling back to last "
112 | "selected theme."
113 | msgstr ""
114 | "Nije moguće pronaći temu {colortheme} u listi tema. Vraćeno na poslednju "
115 | "odabranu temu."
116 |
117 | #: src/cli.py:132
118 | msgid "New Release Available: "
119 | msgstr "Novo Izdanje Dostupno: "
120 |
121 | #: src/cli.py:135
122 | msgid "Update Check Failed: "
123 | msgstr "Provera Ažuriranja Neuspešna: "
124 |
125 | #: src/dl.py:30
126 | msgid "API: HTTP Error Code "
127 | msgstr "API: HTTP Greška "
128 |
129 | #: src/dl.py:32
130 | msgid "API: Error Parsing JSON"
131 | msgstr "API: Greška prilikom parsiranja JSON-a"
132 |
133 | #: src/dl.py:34
134 | msgid "API: Error retrieving release info"
135 | msgstr "API: Greška prilikom preuzimanja informacija o izdanju"
136 |
137 | #: src/dl.py:42
138 | msgid "API: JSON is missing required keys"
139 | msgstr "API: JSON nema potrebne ključeve"
140 |
141 | #: src/dl.py:48
142 | msgid "Release: HTTP Error Code "
143 | msgstr "Izdanje: HTTP greška "
144 |
145 | #: src/dl.py:50
146 | msgid "Release: Connection Reset"
147 | msgstr "Izdanje: Konekcija resetovana"
148 |
149 | #: src/dl.py:52
150 | msgid "Release: Permission Error"
151 | msgstr "Izdanje: Greška u dozvolama"
152 |
153 | #: src/dl.py:54
154 | msgid "Release: Connection Timeout"
155 | msgstr "Izdanje: Konekcija istekla"
156 |
157 | #: src/dl.py:56
158 | msgid "Release: Error Retrieving Zip"
159 | msgstr "Izdanje: Greška pri preuzimanju ZIP-a"
160 |
161 | #: src/install.py:132
162 | msgid "Install: Found no Valid Install Targets"
163 | msgstr "Instalacija: Nije pronadjen validan direktorijum za instalaciju"
164 |
165 | #: src/install.py:135
166 | msgid "Install: Installer Process Failed"
167 | msgstr "Instalacija: Proces instalacije nije uspeo"
168 |
169 | #: src/install.py:169
170 | msgid "Install: Failed to Find Valid '~/.steam/steam' Symlink"
171 | msgstr "Instalacija: Nije Pronađen Validan '~/.steam/steam' Symlink"
172 |
173 | #: src/main.py:138
174 | msgid "Upstream"
175 | msgstr "Autor"
176 |
177 | #: src/main.py:139
178 | msgid "Translators"
179 | msgstr "Prevodioci"
180 |
181 | #: src/main.py:148
182 | msgid "Uninstall Theme"
183 | msgstr "Deinstaliraj Temu"
184 |
185 | #: src/main.py:149
186 | msgid "This will reset all customizations made to the Steam client."
187 | msgstr "Ovo će resetovati sve promene primenjene Steam klijentu."
188 |
189 | #: src/main.py:151
190 | msgid "Cancel"
191 | msgstr "Odustani"
192 |
193 | #: src/main.py:152
194 | msgid "Uninstall"
195 | msgstr "Deinstaliraj"
196 |
197 | #: src/pages/window.py:193
198 | msgid "New Release Downloaded: "
199 | msgstr "Novo Izdanje Preuzeto: "
200 |
201 | #: src/pages/window.py:195
202 | msgid "Retry"
203 | msgstr "Pokušaj Ponovo"
204 |
205 | #: src/pages/window.py:228
206 | msgid "Theme Installed"
207 | msgstr "Tema Instalirana"
208 |
209 | #: src/style.py:40
210 | msgid "Get Themes: Failed to get themes"
211 | msgstr "Preuzimanje Tema: Preuzimanje tema nije uspelo"
212 |
213 | #: src/style.py:71
214 | #, python-brace-format
215 | msgid "Style: Could not find theme {theme_name}"
216 | msgstr "Stil: Tema nije pronađena {theme_name}"
217 |
218 | #: src/style.py:122
219 | #, python-brace-format
220 | msgid "Style: Theme {theme_name} seems to be invalid"
221 | msgstr "Stil: Tema {theme_name} nije validna"
222 |
223 | #: src/ui/prefs.blp:5
224 | msgid "Preferences"
225 | msgstr "Preference"
226 |
227 | #: src/ui/prefs.blp:12
228 | msgid "Autostart"
229 | msgstr "Automatsko Pokretanje"
230 |
231 | #: src/ui/prefs.blp:15
232 | msgid "Auto Update Check"
233 | msgstr "Automatska Provera Ažuriranja"
234 |
235 | #: src/ui/prefs.blp:16
236 | msgid "Checks and notifies for theme updates on user login."
237 | msgstr "Proverava i obaveštava o ažuriranju teme prilikom prijavljivanja."
238 |
239 | #: src/ui/prefs.blp:25
240 | msgid "Beta"
241 | msgstr "Beta"
242 |
243 | #: src/ui/prefs.blp:29
244 | msgid "Experimental Beta Support"
245 | msgstr "Eksperimentalna Beta Podrška"
246 |
247 | #: src/ui/prefs.blp:30
248 | msgid "Enables Beta Support (requires restart)"
249 | msgstr "Uključuje Beta Podršku (zahteva restart)"
250 |
251 | #: src/ui/prefs.blp:39
252 | msgid "Installer"
253 | msgstr "Instaler"
254 |
255 | #: src/ui/prefs.blp:42
256 | msgid "Custom CSS"
257 | msgstr "Prilagođeni CSS"
258 |
259 | #: src/ui/prefs.blp:43
260 | msgid "Include Custom CSS into Steam"
261 | msgstr "Dodaje Prilagođeni CSS u Steam"
262 |
263 | #: src/ui/prefs.blp:48
264 | msgid "Custom CSS Info"
265 | msgstr "Informacije o Prilagođenom CSS-u"
266 |
267 | #: src/ui/prefs.blp:53
268 | msgid "Edit Custom CSS File"
269 | msgstr "Izmeni Datoteku Prilagođenog CSS-a"
270 |
271 | #: src/ui/prefs.blp:63
272 | msgid "Interface"
273 | msgstr "Interfejs"
274 |
275 | #: src/ui/prefs.blp:66
276 | msgid "Preview Themes"
277 | msgstr "Pregled Tema"
278 |
279 | #: src/ui/prefs.blp:67
280 | msgid "Styles the interface to match the currently selected theme."
281 | msgstr "Stilizuje interfejs da odgovara trenutno odabranoj temi."
282 |
283 | #: src/ui/window.blp:7
284 | msgid "Adwaita Steam Installer"
285 | msgstr "Adwaita Steam Instaler"
286 |
287 | #: src/ui/window.blp:14
288 | msgid "Apply"
289 | msgstr "Primeni"
290 |
291 | #: src/ui/window.blp:40
292 | msgid "Theme Options"
293 | msgstr "Opcije Teme"
294 |
295 | #: src/ui/window.blp:42
296 | msgid "Color Theme"
297 | msgstr "Boja Teme"
298 |
299 | #: src/ui/window.blp:43
300 | msgid "Changes the color theme of Steam's interface."
301 | msgstr "Menja boju teme Steam interfejsa."
302 |
303 | #: src/ui/window.blp:46
304 | msgid "No Rounded Corners"
305 | msgstr "Bez Zaobljenih Uglova"
306 |
307 | #: src/ui/window.blp:47
308 | msgid "Removes smooth rounded corners from the interface."
309 | msgstr "Uklanja zaobljene uglove iz interfejsa."
310 |
311 | #: src/ui/window.blp:57
312 | msgid "Window Controls Options"
313 | msgstr "Opcije Kontrola Prozora"
314 |
315 | #: src/ui/window.blp:59
316 | msgid "Controls Style"
317 | msgstr "Stil Kontrola"
318 |
319 | #: src/ui/window.blp:60
320 | msgid "Changes Minimize/Maximize/Close Button Theme"
321 | msgstr "Menja Temu Minimizuj/Povećaj/Zatvori Dugmadi"
322 |
323 | #: src/ui/window.blp:61 src/ui/window.blp:66
324 | msgid "Adwaita"
325 | msgstr "Adwaita"
326 |
327 | #: src/ui/window.blp:61 src/ui/window.blp:66
328 | msgid "MacOS"
329 | msgstr "MacOS"
330 |
331 | #: src/ui/window.blp:61 src/ui/window.blp:66
332 | msgid "Windows"
333 | msgstr "Windows"
334 |
335 | #: src/ui/window.blp:64
336 | msgid "Controls Button Layout"
337 | msgstr "Kontroliše Raspored Dugmadi"
338 |
339 | #: src/ui/window.blp:65
340 | msgid "Changes Minimize/Maximize/Close Button Layout and Position"
341 | msgstr "Menja Raspored i Poziciju Minimizuj/Povećaj/Zatvori Dugmadi"
342 |
343 | #: src/ui/window.blp:66
344 | msgid "Auto"
345 | msgstr "Automatski"
346 |
347 | #: src/ui/window.blp:66
348 | msgid "Elementary"
349 | msgstr "Osnovno"
350 |
351 | #: src/ui/window.blp:71
352 | msgid "Library Options"
353 | msgstr "Opcije Biblioteke"
354 |
355 | #: src/ui/window.blp:74
356 | msgid "Library Sidebar"
357 | msgstr "Bočna Traka Biblioteke"
358 |
359 | #: src/ui/window.blp:75
360 | msgid "Changes display options for the Library's left sidebar."
361 | msgstr "Menja opcije prikaza za levu bočnu traku Biblioteke."
362 |
363 | #: src/ui/window.blp:76 src/ui/window.blp:96
364 | msgid "Show"
365 | msgstr "Prikaži"
366 |
367 | #: src/ui/window.blp:76 src/ui/window.blp:96
368 | msgid "Hover Only"
369 | msgstr "Samo pri prelazu kursora"
370 |
371 | #: src/ui/window.blp:80
372 | msgid "Hide Library What's New Shelf"
373 | msgstr "Sakrij \"šta je novo\" u Biblioteci"
374 |
375 | #: src/ui/window.blp:81
376 | msgid "Disables display of the new updates section on top of the Library."
377 | msgstr "Isključuje prikaz novih promena u Biblioteci."
378 |
379 | #: src/ui/window.blp:91
380 | msgid "Login Options"
381 | msgstr "Opcije Prijavljivanja"
382 |
383 | #: src/ui/window.blp:94
384 | msgid "QR Code Login"
385 | msgstr "Prijavljivanje QR Kodom"
386 |
387 | #: src/ui/window.blp:95
388 | msgid "Changes display options for the mobile QR code in the Login dialog."
389 | msgstr "Menja opcije prikaza mobilnog QR koda u dijalogu za prijavljivanje."
390 |
391 | #: src/ui/window.blp:96
392 | msgid "Hide"
393 | msgstr "Sakrij"
394 |
395 | #: src/ui/window.blp:108
396 | msgid "_Preferences"
397 | msgstr "_Preference"
398 |
399 | #: src/ui/window.blp:112
400 | msgid "_Uninstall"
401 | msgstr "_Izbriši"
402 |
403 | #: src/ui/window.blp:116
404 | msgid "_About AdwSteamGtk"
405 | msgstr "_O AdwSteamGtk"
406 |
407 | #: src/zip.py:28
408 | msgid "Extract: Failed to read ZIP archive"
409 | msgstr "Ekstraktovanje: Nije uspelo čitanje ZIP arhive"
410 |
411 | #: src/zip.py:30
412 | msgid "Extract: Bad ZIP File"
413 | msgstr "Ekstraktovanje: Loš ZIP Fajl"
414 |
415 | #: src/zip.py:32
416 | msgid "Extract: Failed to Extract ZIP File"
417 | msgstr "Ekstraktovanje: Ekstraktovanje ZIP File-a neuspešno"
418 |
--------------------------------------------------------------------------------
/po/ta.po:
--------------------------------------------------------------------------------
1 | # AdwSteamGtk Pot
2 | # Copyright (C) 2024 Foldex
3 | # This file is distributed under the GNU GPLv3 license.
4 | # Foldex, 2024.
5 | #
6 | msgid ""
7 | msgstr ""
8 | "Project-Id-Version: AdwSteamGtk 0.6.11\n"
9 | "Report-Msgid-Bugs-To: \n"
10 | "POT-Creation-Date: 2024-11-09 19:43-0500\n"
11 | "PO-Revision-Date: 2024-11-29 23:00+0000\n"
12 | "Last-Translator: தமிழ்நேரம் \n"
13 | "Language-Team: Tamil \n"
15 | "Language: ta\n"
16 | "MIME-Version: 1.0\n"
17 | "Content-Type: text/plain; charset=UTF-8\n"
18 | "Content-Transfer-Encoding: 8bit\n"
19 | "Plural-Forms: nplurals=2; plural=n != 1;\n"
20 | "X-Generator: Weblate 5.9-dev\n"
21 |
22 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:12
23 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:3
24 | msgid "AdwSteamGtk"
25 | msgstr "Adwsteamgtk"
26 |
27 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:13
28 | msgid "Give Steam the Adwaita treatment"
29 | msgstr "அட்வைதா சிகிச்சையை நீராவி கொடுங்கள்"
30 |
31 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:14
32 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:16
33 | msgid "Foldex"
34 | msgstr "மடிப்பு"
35 |
36 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:25
37 | msgid ""
38 | "Make Steam look like it belongs on your computer. This app installs and "
39 | "updates the Adwaita-for-Steam skin for you. It's as simple as this:"
40 | msgstr ""
41 | "நீராவி உங்கள் கணினியில் சொந்தமானது போல் தோற்றமளிக்கவும். இந்த பயன்பாடு உங்களுக்கான அட்வைட்டா-க்கு-நீராவி தோலை நிறுவி "
42 | "புதுப்பிக்கிறது. இது போன்ற எளிது:"
43 |
44 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:30
45 | msgid "Configure the skin to your liking"
46 | msgstr "உங்கள் விருப்பப்படி தோலை உள்ளமைக்கவும்"
47 |
48 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:31
49 | msgid "Click the “Apply” button"
50 | msgstr "“விண்ணப்பிக்கவும்” பொத்தானைக் சொடுக்கு செய்க"
51 |
52 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:32
53 | msgid "Restart Steam"
54 | msgstr "நீராவியை மறுதொடக்கம் செய்யுங்கள்"
55 |
56 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:34
57 | msgid ""
58 | "On startup, the app will automatically download any updates to the skin and "
59 | "display a notification. Apply the skin again and restart Steam to take the "
60 | "changes into use."
61 | msgstr ""
62 | "தொடக்கத்தில், பயன்பாடு தானாகவே சருமத்தில் எந்த புதுப்பிப்புகளையும் பதிவிறக்கம் செய்து அறிவிப்பைக் காண்பிக்கும். சருமத்தை "
63 | "மீண்டும் தடவி, மாற்றங்களை பயன்பாட்டுக்கு கொண்டு செல்ல நீராவியை மறுதொடக்கம் செய்யுங்கள்."
64 |
65 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:38
66 | msgid ""
67 | "In order to get rounded corners on Steam, you will need to use the “Rounded "
68 | "Window Corners” GNOME extension."
69 | msgstr ""
70 | "நீராவியில் வட்டமான மூலைகளைப் பெறுவதற்கு, நீங்கள் “வட்டமான சாளர மூலைகள்” க்னோம் நீட்டிப்பைப் பயன்படுத்த வேண்டும்."
71 |
72 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:244
73 | msgid "Main Window"
74 | msgstr "முதன்மை சாளரம்"
75 |
76 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:248
77 | msgid "Theme Preview"
78 | msgstr "கருப்பொருள் முன்னோட்டம்"
79 |
80 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:252
81 | msgid "Login Preview"
82 | msgstr "உள்நுழைவு முன்னோட்டம்"
83 |
84 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:4
85 | msgid "A simple wrapper that installs Adwaita for Steam"
86 | msgstr "நீராவிக்கு அட்வைதாவை நிறுவும் எளிய ரேப்பர்"
87 |
88 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:10
89 | msgid "Steam;Adwaita;Skin;"
90 | msgstr "நீராவி; ஆத்வைதா; தோல்;"
91 |
92 | #: src/cli.py:47 src/cli.py:138
93 | msgid "Up to Date."
94 | msgstr "புதுப்பித்த நிலையில்."
95 |
96 | #: src/cli.py:105
97 | #, python-brace-format
98 | msgid "{key}: {cur_val} invalid value"
99 | msgstr "{key}: {cur_val} தவறான மதிப்பு"
100 |
101 | #: src/cli.py:111
102 | msgid "Could not get theme list. Falling back to last selected theme."
103 | msgstr ""
104 | "கருப்பொருள் பட்டியலைப் பெற முடியவில்லை. கடைசியாக தேர்ந்தெடுக்கப்பட்ட கருப்பொருளுக்கு மீண்டும் விழுகிறது."
105 |
106 | #: src/cli.py:117
107 | #, python-brace-format
108 | msgid ""
109 | "Could not find theme {colortheme} in theme list. Falling back to last "
110 | "selected theme."
111 | msgstr ""
112 | "கருப்பொருள் பட்டியலில் கருப்பொருள் {colortheme} ஐ கண்டுபிடிக்க முடியவில்லை. கடைசியாகத் தேர்ந்தெடுக்கப்பட்ட "
113 | "கருப்பொருளுக்கு மீண்டும் விழுகிறது."
114 |
115 | #: src/cli.py:132
116 | msgid "New Release Available: "
117 | msgstr "புதிய வெளியீடு கிடைக்கிறது: "
118 |
119 | #: src/cli.py:135
120 | msgid "Update Check Failed: "
121 | msgstr "புதுப்பிப்பு சோதனை தோல்வியடைந்தது: "
122 |
123 | #: src/dl.py:30
124 | msgid "API: HTTP Error Code "
125 | msgstr "API: HTTP பிழைக் குறியீடு "
126 |
127 | #: src/dl.py:32
128 | msgid "API: Error Parsing JSON"
129 | msgstr "ஏபிஐ: பிழை பாகுபடுத்தும் சாதொபொகு"
130 |
131 | #: src/dl.py:34
132 | msgid "API: Error retrieving release info"
133 | msgstr "ஏபிஐ: வெளியீட்டு தகவலை மீட்டெடுப்பதில் பிழை"
134 |
135 | #: src/dl.py:42
136 | msgid "API: JSON is missing required keys"
137 | msgstr "ஏபிஐ: சாதொபொகு தேவையான விசைகளைக் காணவில்லை"
138 |
139 | #: src/dl.py:48
140 | msgid "Release: HTTP Error Code "
141 | msgstr "வெளியீடு: HTTP பிழைக் குறியீடு "
142 |
143 | #: src/dl.py:50
144 | msgid "Release: Connection Reset"
145 | msgstr "வெளியீடு: இணைப்பு மீட்டமைப்பு"
146 |
147 | #: src/dl.py:52
148 | msgid "Release: Permission Error"
149 | msgstr "வெளியீடு: இசைவு பிழை"
150 |
151 | #: src/dl.py:54
152 | msgid "Release: Connection Timeout"
153 | msgstr "வெளியீடு: இணைப்பு நேரம் முடிந்தது"
154 |
155 | #: src/dl.py:56
156 | msgid "Release: Error Retrieving Zip"
157 | msgstr "வெளியீடு: ZIP ஐ மீட்டெடுப்பதில் பிழை"
158 |
159 | #: src/install.py:132
160 | msgid "Install: Found no Valid Install Targets"
161 | msgstr "நிறுவு: சரியான நிறுவல் இலக்குகள் இல்லை"
162 |
163 | #: src/install.py:135
164 | msgid "Install: Installer Process Failed"
165 | msgstr "நிறுவு: நிறுவி செயல்முறை தோல்வியடைந்தது"
166 |
167 | #: src/install.py:169
168 | msgid "Install: Failed to Find Valid '~/.steam/steam' Symlink"
169 | msgstr ""
170 | "நிறுவு: செல்லுபடியாகும் '~/.ச்டீம்/நீராவி' சிம்லிங்கைக் கண்டுபிடிக்கத் தவறிவிட்டது"
171 |
172 | #: src/main.py:138
173 | msgid "Upstream"
174 | msgstr "மேலோடை"
175 |
176 | #: src/main.py:139
177 | msgid "Translators"
178 | msgstr "மொழிபெயர்ப்பாளர்கள்"
179 |
180 | #: src/main.py:148
181 | msgid "Uninstall Theme"
182 | msgstr "கருப்பொருள் நிறுவல் நீக்குதல்"
183 |
184 | #: src/main.py:149
185 | msgid "This will reset all customizations made to the Steam client."
186 | msgstr ""
187 | "இது நீராவி கிளையண்டிற்கு செய்யப்பட்ட அனைத்து தனிப்பயனாக்கங்களையும் மீட்டமைக்கும்."
188 |
189 | #: src/main.py:151
190 | msgid "Cancel"
191 | msgstr "ரத்துசெய்"
192 |
193 | #: src/main.py:152
194 | msgid "Uninstall"
195 | msgstr "நிறுவல் நீக்க"
196 |
197 | #: src/pages/window.py:193
198 | msgid "New Release Downloaded: "
199 | msgstr "புதிய வெளியீட்டு பதிவிறக்க: "
200 |
201 | #: src/pages/window.py:195
202 | msgid "Retry"
203 | msgstr "மீண்டும் முயற்சிக்கவும்"
204 |
205 | #: src/pages/window.py:228
206 | msgid "Theme Installed"
207 | msgstr "கருப்பொருள் நிறுவப்பட்டது"
208 |
209 | #: src/style.py:40
210 | msgid "Get Themes: Failed to get themes"
211 | msgstr "கருப்பொருள்களைப் பெறுங்கள்: கருப்பொருள்களைப் பெறுவதில் தோல்வி"
212 |
213 | #: src/style.py:71
214 | #, python-brace-format
215 | msgid "Style: Could not find theme {theme_name}"
216 | msgstr "நடை: கருப்பொருள் {theme_name} கண்டுபிடிக்க முடியவில்லை"
217 |
218 | #: src/style.py:122
219 | #, python-brace-format
220 | msgid "Style: Theme {theme_name} seems to be invalid"
221 | msgstr "நடை: கருப்பொருள் {theme_name} தவறானது என்று தெரிகிறது"
222 |
223 | #: src/ui/prefs.blp:5
224 | msgid "Preferences"
225 | msgstr "விருப்பத்தேர்வுகள்"
226 |
227 | #: src/ui/prefs.blp:12
228 | msgid "Autostart"
229 | msgstr "ஆட்டோச்டார்ட்"
230 |
231 | #: src/ui/prefs.blp:15
232 | msgid "Auto Update Check"
233 | msgstr "ஆட்டோ புதுப்பிப்பு சோதனை"
234 |
235 | #: src/ui/prefs.blp:16
236 | msgid "Checks and notifies for theme updates on user login."
237 | msgstr ""
238 | "பயனர் உள்நுழைவு குறித்த கருப்பொருள் புதுப்பிப்புகளை சரிபார்த்து அறிவிக்கிறது."
239 |
240 | #: src/ui/prefs.blp:25
241 | msgid "Beta"
242 | msgstr "பீட்டா"
243 |
244 | #: src/ui/prefs.blp:29
245 | msgid "Experimental Beta Support"
246 | msgstr "சோதனை பீட்டா உதவி"
247 |
248 | #: src/ui/prefs.blp:30
249 | msgid "Enables Beta Support (requires restart)"
250 | msgstr "பீட்டா ஆதரவை இயக்குகிறது (மறுதொடக்கம் தேவை)"
251 |
252 | #: src/ui/prefs.blp:39
253 | msgid "Installer"
254 | msgstr "நிறுவி"
255 |
256 | #: src/ui/prefs.blp:42
257 | msgid "Custom CSS"
258 | msgstr "தனிப்பயன் சிஎச்எச்"
259 |
260 | #: src/ui/prefs.blp:43
261 | msgid "Include Custom CSS into Steam"
262 | msgstr "தனிப்பயன் சிஎச்எச் ஐ நீராவியில் சேர்க்கவும்"
263 |
264 | #: src/ui/prefs.blp:48
265 | msgid "Custom CSS Info"
266 | msgstr "தனிப்பயன் சிஎச்எச் செய்தி"
267 |
268 | #: src/ui/prefs.blp:53
269 | msgid "Edit Custom CSS File"
270 | msgstr "தனிப்பயன் சிஎச்எச் கோப்பைத் திருத்தவும்"
271 |
272 | #: src/ui/prefs.blp:63
273 | msgid "Interface"
274 | msgstr "இடைமுகம்"
275 |
276 | #: src/ui/prefs.blp:66
277 | msgid "Preview Themes"
278 | msgstr "கருப்பொருள்கள் முன்னோட்டம்"
279 |
280 | #: src/ui/prefs.blp:67
281 | msgid "Styles the interface to match the currently selected theme."
282 | msgstr ""
283 | "தற்போது தேர்ந்தெடுக்கப்பட்ட கருப்பொருளுடன் பொருந்தக்கூடிய இடைமுகத்தை ச்டைல்கள்."
284 |
285 | #: src/ui/window.blp:7
286 | msgid "Adwaita Steam Installer"
287 | msgstr "அட்வைதா நீராவி நிறுவி"
288 |
289 | #: src/ui/window.blp:14
290 | msgid "Apply"
291 | msgstr "இடு"
292 |
293 | #: src/ui/window.blp:40
294 | msgid "Theme Options"
295 | msgstr "கருப்பொருள் விருப்பங்கள்"
296 |
297 | #: src/ui/window.blp:42
298 | msgid "Color Theme"
299 | msgstr "வண்ண கருப்பொருள்"
300 |
301 | #: src/ui/window.blp:43
302 | msgid "Changes the color theme of Steam's interface."
303 | msgstr "நீராவி இடைமுகத்தின் வண்ண கருப்பொருளை மாற்றவும்."
304 |
305 | #: src/ui/window.blp:46
306 | msgid "No Rounded Corners"
307 | msgstr "வட்டமான மூலைகள் இல்லை"
308 |
309 | #: src/ui/window.blp:47
310 | msgid "Removes smooth rounded corners from the interface."
311 | msgstr "இடைமுகத்திலிருந்து மென்மையான வட்டமான மூலைகளை நீக்குகிறது."
312 |
313 | #: src/ui/window.blp:57
314 | msgid "Window Controls Options"
315 | msgstr "சாளரம் விருப்பங்களை கட்டுப்படுத்துகிறது"
316 |
317 | #: src/ui/window.blp:59
318 | msgid "Controls Style"
319 | msgstr "பாணியைக் கட்டுப்படுத்துகிறது"
320 |
321 | #: src/ui/window.blp:60
322 | msgid "Changes Minimize/Maximize/Close Button Theme"
323 | msgstr "மாற்றங்கள் பொத்தான் கருப்பொருளை குறைக்க/அதிகரிக்க/மூடு"
324 |
325 | #: src/ui/window.blp:61 src/ui/window.blp:66
326 | msgid "Adwaita"
327 | msgstr "மீண்டும் கைப்பற்றுதல்"
328 |
329 | #: src/ui/window.blp:61 src/ui/window.blp:66
330 | msgid "MacOS"
331 | msgstr "மேகோச்"
332 |
333 | #: src/ui/window.blp:61 src/ui/window.blp:66
334 | msgid "Windows"
335 | msgstr "சாளரங்கள்"
336 |
337 | #: src/ui/window.blp:64
338 | msgid "Controls Button Layout"
339 | msgstr "பொத்தான் தளவமைப்பைக் கட்டுப்படுத்துகிறது"
340 |
341 | #: src/ui/window.blp:65
342 | msgid "Changes Minimize/Maximize/Close Button Layout and Position"
343 | msgstr "மாற்றங்கள் பொத்தான் தளவமைப்பு மற்றும் நிலையை குறைக்க/அதிகரிக்க/மூடு"
344 |
345 | #: src/ui/window.blp:66
346 | msgid "Auto"
347 | msgstr "தானி"
348 |
349 | #: src/ui/window.blp:66
350 | msgid "Elementary"
351 | msgstr "அடிப்படை"
352 |
353 | #: src/ui/window.blp:71
354 | msgid "Library Options"
355 | msgstr "நூலக விருப்பங்கள்"
356 |
357 | #: src/ui/window.blp:74
358 | msgid "Library Sidebar"
359 | msgstr "நூலக பக்கப்பட்டி"
360 |
361 | #: src/ui/window.blp:75
362 | msgid "Changes display options for the Library's left sidebar."
363 | msgstr "நூலகத்தின் இடது பக்கப்பட்டிக்கான காட்சி விருப்பங்களை மாற்றுகிறது."
364 |
365 | #: src/ui/window.blp:76 src/ui/window.blp:96
366 | msgid "Show"
367 | msgstr "காட்டு"
368 |
369 | #: src/ui/window.blp:76 src/ui/window.blp:96
370 | msgid "Hover Only"
371 | msgstr "வட்டமிட மட்டுமே"
372 |
373 | #: src/ui/window.blp:80
374 | msgid "Hide Library What's New Shelf"
375 | msgstr "புதிய அலமாரியை நூலகத்தை மறைக்கவும்"
376 |
377 | #: src/ui/window.blp:81
378 | msgid "Disables display of the new updates section on top of the Library."
379 | msgstr "நூலகத்தின் மேல் புதிய புதுப்பிப்புகள் பிரிவின் காட்சியை முடக்குகிறது."
380 |
381 | #: src/ui/window.blp:91
382 | msgid "Login Options"
383 | msgstr "உள்நுழைவு விருப்பங்கள்"
384 |
385 | #: src/ui/window.blp:94
386 | msgid "QR Code Login"
387 | msgstr "QR குறியீடு உள்நுழைவு"
388 |
389 | #: src/ui/window.blp:95
390 | msgid "Changes display options for the mobile QR code in the Login dialog."
391 | msgstr ""
392 | "உள்நுழைவு உரையாடலில் மொபைல் QR குறியீட்டிற்கான காட்சி விருப்பங்களை மாற்றுகிறது."
393 |
394 | #: src/ui/window.blp:96
395 | msgid "Hide"
396 | msgstr "மறை"
397 |
398 | #: src/ui/window.blp:108
399 | msgid "_Preferences"
400 | msgstr "_ முனைகள்"
401 |
402 | #: src/ui/window.blp:112
403 | msgid "_Uninstall"
404 | msgstr "நிறுவல்நீக்கு(_U)"
405 |
406 | #: src/ui/window.blp:116
407 | msgid "_About AdwSteamGtk"
408 | msgstr "_About adwsteamgtk"
409 |
410 | #: src/zip.py:28
411 | msgid "Extract: Failed to read ZIP archive"
412 | msgstr "பிரித்தெடுத்தல்: சிப் காப்பகத்தைப் படிக்கத் தவறிவிட்டது"
413 |
414 | #: src/zip.py:30
415 | msgid "Extract: Bad ZIP File"
416 | msgstr "பிரித்தெடுத்தல்: மோசமான சிப் கோப்பு"
417 |
418 | #: src/zip.py:32
419 | msgid "Extract: Failed to Extract ZIP File"
420 | msgstr "பிரித்தெடுத்தல்: சிப் கோப்பைப் பிரித்தெடுப்பதில் தோல்வி"
421 |
--------------------------------------------------------------------------------
/po/update_pot.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | PO_DIR=$(dirname "$(realpath "$0")")
3 | PROJ_DIR="$PO_DIR/.."
4 | OUT_FILE="$PO_DIR/AdwSteamGtk.pot"
5 | MESON_FILE="$PROJ_DIR/meson.build"
6 |
7 | PKG_VER=$(grep -oP "(?<=version: \')[0-9]+\.[0-9]+\.[0-9]+" "$MESON_FILE")
8 |
9 | if [[ ! $PKG_VER =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
10 | echo "Invalid PKG VERSION: $PKG_VER"
11 | exit 1
12 | else
13 | echo "PKG VERSION: $PKG_VER"
14 | fi
15 |
16 | cd "$PROJ_DIR" || exit
17 |
18 | xgettext \
19 | -f "$PO_DIR"/POTFILES \
20 | -o "$OUT_FILE" \
21 | --add-comments=Translators \
22 | --from-code=UTF-8 \
23 | --keyword=C_:1c,2 \
24 | --keyword=_ \
25 | --package-name="AdwSteamGtk" \
26 | --package-version="$PKG_VER"
27 |
28 | sed -i \
29 | -e "s/FIRST AUTHOR , YEAR./Foldex, $(date +%Y)./" \
30 | -e "s/Language: /Language: EDIT_LANG_HERE/" \
31 | -e "s/SOME DESCRIPTIVE TITLE./AdwSteamGtk Pot/" \
32 | -e "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/$(date +%Y) Foldex/" \
33 | -e "s/charset=CHARSET/charset=UTF-8/" \
34 | -e "s/same license as the AdwSteamGtk package./GNU GPLv3 license./" \
35 | "$OUT_FILE"
36 |
--------------------------------------------------------------------------------
/po/zh_Hans.po:
--------------------------------------------------------------------------------
1 | # AdwSteamGtk Pot
2 | # Copyright (C) 2023 Foldex
3 | # This file is distributed under the GNU GPLv3 license.
4 | # Foldex, 2023.
5 | #
6 | msgid ""
7 | msgstr ""
8 | "Project-Id-Version: AdwSteamGtk 0.6.9\n"
9 | "Report-Msgid-Bugs-To: \n"
10 | "POT-Creation-Date: 2023-09-16 13:37-0400\n"
11 | "PO-Revision-Date: 2024-03-19 11:01+0000\n"
12 | "Last-Translator: 复予 \n"
13 | "Language-Team: Chinese (Simplified) \n"
15 | "Language: zh_Hans\n"
16 | "MIME-Version: 1.0\n"
17 | "Content-Type: text/plain; charset=UTF-8\n"
18 | "Content-Transfer-Encoding: 8bit\n"
19 | "Plural-Forms: nplurals=1; plural=0;\n"
20 | "X-Generator: Weblate 5.5-dev\n"
21 |
22 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:12
23 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:3
24 | msgid "AdwSteamGtk"
25 | msgstr "AdwSteamGtk"
26 |
27 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:13
28 | msgid "Give Steam the Adwaita treatment"
29 | msgstr "给予 Steam 以 Adwaita 级待遇"
30 |
31 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:14
32 | msgid "Foldex"
33 | msgstr "Foldex"
34 |
35 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:20
36 | msgid ""
37 | "Make Steam look like it belongs on your computer. This app installs and "
38 | "updates the Adwaita-for-Steam skin for you. It's as simple as this:"
39 | msgstr "让 Steam 看起来属于您的电脑。这款应用会为您安装并更新 Adwaita-for-Steam "
40 | "皮肤。就像这样一般简单:"
41 |
42 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:25
43 | msgid "Configure the skin to your liking"
44 | msgstr "按您的喜好配置皮肤"
45 |
46 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:26
47 | msgid "Click the “Apply” button"
48 | msgstr "点击“确定”按钮"
49 |
50 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:27
51 | msgid "Restart Steam"
52 | msgstr "重启 Steam"
53 |
54 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:29
55 | msgid ""
56 | "On startup, the app will automatically download any updates to the skin and "
57 | "display a notification. Apply the skin again and restart Steam to take the "
58 | "changes into use."
59 | msgstr "此应用在启动时会自动下载皮肤的所有更新并显示通知。再次应用皮肤并重启 Steam "
60 | "以使更改生效。"
61 |
62 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:33
63 | msgid ""
64 | "In order to get rounded corners on Steam, you will need to use the “Rounded "
65 | "Window Corners” GNOME extension."
66 | msgstr "如果要让 Steam 显示圆角,您需要使用“窗口圆角” GNOME 扩展。"
67 |
68 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:46
69 | msgid "Added Czech Translation"
70 | msgstr "添加捷克语翻译"
71 |
72 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:47
73 | msgid "Added Spanish Translation"
74 | msgstr "添加西班牙语翻译"
75 |
76 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:48
77 | msgid "Updated French Translation"
78 | msgstr "更新法语翻译"
79 |
80 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:49
81 | msgid "New Application Icon"
82 | msgstr "新的应用图标"
83 |
84 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:50
85 | msgid "Updated Libportal"
86 | msgstr "更新 Libportal"
87 |
88 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:57
89 | msgid "Fixed issue with Uninstall"
90 | msgstr "修复卸载问题"
91 |
92 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:64
93 | msgid "Removed Deprecated Font Install Preference"
94 | msgstr "移除已启用的字体安装设置"
95 |
96 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:71
97 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:95
98 | msgid "Fixed Appdata"
99 | msgstr "修复 Appdata"
100 |
101 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:72
102 | msgid "Removed some options that no longer exist upstream"
103 | msgstr "移除上游版本不再存在的选项"
104 |
105 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:79
106 | msgid "Updated Russian Translation"
107 | msgstr "更新俄语翻译"
108 |
109 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:80
110 | msgid "Updated to new upstream install method"
111 | msgstr "更新到上游版本的新安装方法"
112 |
113 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:87
114 | msgid "Updated German and Ukrainian Translations"
115 | msgstr "更新德语与乌克兰语翻译"
116 |
117 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:88
118 | msgid "Added Portuguese Translation"
119 | msgstr "添加葡萄牙语翻译"
120 |
121 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:102
122 | msgid "Beta Toggle removed as new UI support landed upstream"
123 | msgstr "由于新界面支持上游版本,移除测试版开关"
124 |
125 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:103
126 | msgid ""
127 | "Added option to use Steam's Original Top Bar instead of our Adwaita styled "
128 | "one"
129 | msgstr "添加设置,使用 Steam 原有顶栏而非使用我们的 Adwaita 样式顶栏"
130 |
131 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:104
132 | msgid "Initial German Translation"
133 | msgstr "初始化德语翻译"
134 |
135 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:105
136 | msgid "Added hover tooltips to installer options"
137 | msgstr "向安装程序设置添加悬停提示"
138 |
139 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:112
140 | msgid "Added French, Ukrainian, and Russian Translations"
141 | msgstr "添加法语、乌克兰语与俄语翻译"
142 |
143 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:119
144 | msgid "New UI"
145 | msgstr "新用户界面"
146 |
147 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:120
148 | msgid "Added Experimental Beta Client Support (with new options)"
149 | msgstr "添加实验性测试客户端支持(带新设置)"
150 |
151 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:121
152 | msgid "Added Custom CSS Option"
153 | msgstr "添加自定义 CSS 设置"
154 |
155 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:128
156 | msgid "Added Autostart Update Check preference toggle"
157 | msgstr "添加自启动时检查更新的首选项开关"
158 |
159 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:129
160 | msgid "Added Font Install preference toggle"
161 | msgstr "添加字体安装首选项开关"
162 |
163 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:136
164 | msgid "Fixed issue with theme preview on light mode"
165 | msgstr "修复浅色模式下的主题预览问题"
166 |
167 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:137
168 | msgid "Added preferences toggle for theme preview"
169 | msgstr "添加主题预览首选项开关"
170 |
171 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:144
172 | msgid "Colortheme is now previewed in app"
173 | msgstr "颜色主题现在在应用内预览"
174 |
175 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:145
176 | msgid "Added -u/-i arguments to install skin via commandline"
177 | msgstr "添加 -u/-i 参数以通过命令行安装皮肤"
178 |
179 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:146
180 | msgid "Added -o argument to override install options for -i/-u"
181 | msgstr "添加 -o 参数以覆盖 -i/-u 安装设置"
182 |
183 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:153
184 | msgid "Added Library Sidebar Options"
185 | msgstr "添加游戏库侧边栏设置"
186 |
187 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:160
188 | msgid "Updated to Gnome 44 Runtime"
189 | msgstr "更新到 Gnome 44 运行时"
190 |
191 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:161
192 | msgid "Changed Default Web Theme to Full Variant"
193 | msgstr "将默认网页主题更改为 Full Varient"
194 |
195 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:168
196 | msgid "Fixed Installer CLI Output"
197 | msgstr "修复安装程序命令行输出"
198 |
199 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:175
200 | msgid "Added Color Theme Support"
201 | msgstr "添加颜色主题支持"
202 |
203 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:176
204 | msgid "Added -c argument to notify about updates"
205 | msgstr "添加 -c 参数以通知更新"
206 |
207 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:183
208 | msgid "Last chosen settings are now loaded at startup"
209 | msgstr "上次选择的设置现在在启动时加载"
210 |
211 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:184
212 | msgid "Changed display of install button if the theme is already installed"
213 | msgstr "如果主题已安装,则改变安装按钮显示"
214 |
215 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:191
216 | msgid "Added None to Window Control Options"
217 | msgstr "向窗口控制器设置中添加“无”"
218 |
219 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:198
220 | msgid "Added QR Login Options"
221 | msgstr "添加二维码登录设置"
222 |
223 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:199
224 | msgid "Improved Missing Dir Messages"
225 | msgstr "改善缺失目录消息"
226 |
227 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:206
228 | msgid "Updated to Gnome 43 SDK"
229 | msgstr "更新到 Gnome 43 SDK"
230 |
231 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:207
232 | msgid "Implemented AdwAboutWindow"
233 | msgstr "实现 AdwAboutWindow"
234 |
235 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:208
236 | msgid "Updated Filesystem Permissions"
237 | msgstr "更新文件系统权限"
238 |
239 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:209
240 | msgid "Fixed Quit Shortcut"
241 | msgstr "修复退出快捷键"
242 |
243 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:210
244 | msgid "Fixed Current Check"
245 | msgstr "修复当前版本检查"
246 |
247 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:220
248 | msgid "Main Window"
249 | msgstr "主窗口"
250 |
251 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:224
252 | msgid "Theme Preview"
253 | msgstr "主题预览"
254 |
255 | #: data/io.github.Foldex.AdwSteamGtk.appdata.xml.in:228
256 | msgid "Login Preview"
257 | msgstr "登录预览"
258 |
259 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:4
260 | msgid "A simple wrapper that installs Adwaita for Steam"
261 | msgstr "一款安装 Adwaita for Steam 的简单包装应用"
262 |
263 | #: data/io.github.Foldex.AdwSteamGtk.desktop.in:10
264 | msgid "Steam;Adwaita;Skin;"
265 | msgstr "Steam;Adwaita;皮肤;"
266 |
267 | #: src/cli.py:47 src/cli.py:138
268 | msgid "Up to Date."
269 | msgstr "已是最新。"
270 |
271 | #: src/cli.py:105
272 | #, python-brace-format
273 | msgid "{key}: {cur_val} invalid value"
274 | msgstr "{key}: {cur_val} 数值无效"
275 |
276 | #: src/cli.py:111
277 | msgid "Could not get theme list. Falling back to last selected theme."
278 | msgstr "无法获取主题列表。正回退到上次选择的主题。"
279 |
280 | #: src/cli.py:117
281 | #, python-brace-format
282 | msgid ""
283 | "Could not find theme {colortheme} in theme list. Falling back to last "
284 | "selected theme."
285 | msgstr "无法在主题列表中找到主题 {colortheme}。正回退到上次选择的主题。"
286 |
287 | #: src/cli.py:132
288 | msgid "New Release Available: "
289 | msgstr "新版本可用: "
290 |
291 | #: src/cli.py:135
292 | msgid "Update Check Failed: "
293 | msgstr "更新检查失败: "
294 |
295 | #: src/dl.py:30
296 | msgid "API: HTTP Error Code "
297 | msgstr "API: HTTP 错误代码 "
298 |
299 | #: src/dl.py:32
300 | msgid "API: Error Parsing JSON"
301 | msgstr "API: 解析 JSON 时出错"
302 |
303 | #: src/dl.py:34
304 | msgid "API: Error retrieving release info"
305 | msgstr "API: 获取版本信息时出错"
306 |
307 | #: src/dl.py:42
308 | msgid "API: JSON is missing required keys"
309 | msgstr "API: JSON 缺失必需的键"
310 |
311 | #: src/dl.py:48
312 | msgid "Release: HTTP Error Code "
313 | msgstr "发行: HTTP 错误代码 "
314 |
315 | #: src/dl.py:50
316 | msgid "Release: Connection Reset"
317 | msgstr "发行: 连接被重置"
318 |
319 | #: src/dl.py:52
320 | msgid "Release: Permission Error"
321 | msgstr "发行: 权限错误"
322 |
323 | #: src/dl.py:54
324 | msgid "Release: Connection Timeout"
325 | msgstr "发行: 连接超时"
326 |
327 | #: src/dl.py:56
328 | msgid "Release: Error Retrieving Zip"
329 | msgstr "发行: 接收 ZIP 时出错"
330 |
331 | #: src/install.py:117
332 | msgid "Install: Found no Valid Install Targets"
333 | msgstr "安装: 找不到有效安装目标"
334 |
335 | #: src/install.py:120
336 | msgid "Install: Installer Process Failed"
337 | msgstr "安装: 安装进程失败"
338 |
339 | #: src/install.py:135
340 | msgid "Install: Failed to Find Valid '~/.steam/steam' Symlink"
341 | msgstr "安装: 未能找到有效的 '~/.steam/steam' 符号链接"
342 |
343 | #: src/main.py:138
344 | msgid "Upstream"
345 | msgstr "上游"
346 |
347 | #: src/main.py:139
348 | msgid "Translators"
349 | msgstr "翻译人员"
350 |
351 | #: src/main.py:148
352 | msgid "Uninstall Theme"
353 | msgstr "卸载主题"
354 |
355 | #: src/main.py:149
356 | msgid "This will reset all customizations made to the Steam client."
357 | msgstr "这将重置对 Steam 客户端做出的更改。"
358 |
359 | #: src/main.py:151
360 | msgid "Cancel"
361 | msgstr "取消"
362 |
363 | #: src/main.py:152
364 | msgid "Uninstall"
365 | msgstr "卸载"
366 |
367 | #: src/pages/window.py:193
368 | msgid "New Release Downloaded: "
369 | msgstr "已下载新版本: "
370 |
371 | #: src/pages/window.py:195
372 | msgid "Retry"
373 | msgstr "重试"
374 |
375 | #: src/pages/window.py:228
376 | msgid "Theme Installed"
377 | msgstr "主题已安装"
378 |
379 | #: src/style.py:40
380 | msgid "Get Themes: Failed to get themes"
381 | msgstr "获取主题: 无法获取主题"
382 |
383 | #: src/style.py:71
384 | #, python-brace-format
385 | msgid "Style: Could not find theme {theme_name}"
386 | msgstr "样式: 无法找到主题 {theme_name}"
387 |
388 | #: src/ui/prefs.blp:5
389 | msgid "Preferences"
390 | msgstr "首选项"
391 |
392 | #: src/ui/prefs.blp:12
393 | msgid "Autostart"
394 | msgstr "自启动"
395 |
396 | #: src/ui/prefs.blp:15
397 | msgid "Auto Update Check"
398 | msgstr "自动检查更新"
399 |
400 | #: src/ui/prefs.blp:16
401 | msgid "Checks and notifies for theme updates on user login."
402 | msgstr "在用户登录时检查并通知主题更新。"
403 |
404 | #: src/ui/prefs.blp:25
405 | msgid "Beta"
406 | msgstr "测试版"
407 |
408 | #: src/ui/prefs.blp:29
409 | msgid "Experimental Beta Support"
410 | msgstr "实验性测试功能支持"
411 |
412 | #: src/ui/prefs.blp:30
413 | msgid "Enables Beta Support (requires restart)"
414 | msgstr "启用测试版支持(需要重新启动)"
415 |
416 | #: src/ui/prefs.blp:39
417 | msgid "Installer"
418 | msgstr "安装程序"
419 |
420 | #: src/ui/prefs.blp:42
421 | msgid "Custom CSS"
422 | msgstr "自定义 CSS"
423 |
424 | #: src/ui/prefs.blp:43
425 | msgid "Include Custom CSS into Steam"
426 | msgstr "在 Steam 中包括自定义 CSS"
427 |
428 | #: src/ui/prefs.blp:48
429 | msgid "Custom CSS Info"
430 | msgstr "自定义 CSS 信息"
431 |
432 | #: src/ui/prefs.blp:53
433 | msgid "Edit Custom CSS File"
434 | msgstr "编辑自定义 CSS 文件"
435 |
436 | #: src/ui/prefs.blp:63
437 | msgid "Interface"
438 | msgstr "界面"
439 |
440 | #: src/ui/prefs.blp:66
441 | msgid "Preview Themes"
442 | msgstr "预览主题"
443 |
444 | #: src/ui/prefs.blp:67
445 | msgid "Styles the interface to match the currently selected theme."
446 | msgstr "使界面样式与当前所选主题匹配。"
447 |
448 | #: src/ui/window.blp:7
449 | msgid "Adwaita Steam Installer"
450 | msgstr "Adwaita Steam 安装程序"
451 |
452 | #: src/ui/window.blp:14
453 | msgid "Apply"
454 | msgstr "应用"
455 |
456 | #: src/ui/window.blp:40
457 | msgid "Theme Options"
458 | msgstr "主题设置"
459 |
460 | #: src/ui/window.blp:42
461 | msgid "Color Theme"
462 | msgstr "颜色主题"
463 |
464 | #: src/ui/window.blp:43
465 | msgid "Changes the color theme of Steam's interface."
466 | msgstr "改变 Steam 界面的颜色主题。"
467 |
468 | #: src/ui/window.blp:46
469 | msgid "No Rounded Corners"
470 | msgstr "去除圆角"
471 |
472 | #: src/ui/window.blp:47
473 | msgid "Removes smooth rounded corners from the interface."
474 | msgstr "移除界面中的光滑圆角。"
475 |
476 | #: src/ui/window.blp:57
477 | msgid "Window Controls Options"
478 | msgstr "窗口控制器设置"
479 |
480 | #: src/ui/window.blp:59
481 | msgid "Window Controls"
482 | msgstr "窗口控制器"
483 |
484 | #: src/ui/window.blp:60
485 | msgid ""
486 | "Changes Window Control position and type. Minimize and Maximize buttons are "
487 | "hidden by default. Use All to show them."
488 | msgstr "改变窗口控制器的位置与类型。最小化、最大化按钮默认隐藏。选择“全部”以显示它们"
489 | "。"
490 |
491 | #: src/ui/window.blp:61 src/ui/window.blp:66
492 | msgid "Default"
493 | msgstr "默认"
494 |
495 | #: src/ui/window.blp:61
496 | msgid "Right-All"
497 | msgstr "右侧,全部"
498 |
499 | #: src/ui/window.blp:61
500 | msgid "Left"
501 | msgstr "左侧"
502 |
503 | #: src/ui/window.blp:61
504 | msgid "Left-All"
505 | msgstr "左侧,全部"
506 |
507 | #: src/ui/window.blp:61
508 | msgid "None"
509 | msgstr "无"
510 |
511 | #: src/ui/window.blp:64
512 | msgid "Controls Style"
513 | msgstr "控制器样式"
514 |
515 | #: src/ui/window.blp:65
516 | msgid ""
517 | "Changes Window Control visual style. Default is the traditional style, while "
518 | "Dots are Mac OS style colored circles."
519 | msgstr "改变窗口控制器的视觉样式。默认是传统样式,而“点”样式是 Mac OS "
520 | "风格的彩色圆圈。"
521 |
522 | #: src/ui/window.blp:66
523 | msgid "Dots"
524 | msgstr "点"
525 |
526 | #: src/ui/window.blp:71
527 | msgid "Library Options"
528 | msgstr "游戏库选项"
529 |
530 | #: src/ui/window.blp:74
531 | msgid "Library Sidebar"
532 | msgstr "游戏库侧栏"
533 |
534 | #: src/ui/window.blp:75
535 | msgid "Changes display options for the Library's left sidebar."
536 | msgstr "改变游戏库左侧栏的显示设置。"
537 |
538 | #: src/ui/window.blp:76 src/ui/window.blp:96
539 | msgid "Show"
540 | msgstr "显示"
541 |
542 | #: src/ui/window.blp:76 src/ui/window.blp:96
543 | msgid "Hover Only"
544 | msgstr "仅悬停时"
545 |
546 | #: src/ui/window.blp:80
547 | msgid "Hide Library What's New Shelf"
548 | msgstr "隐藏游戏库的“新游戏”托架"
549 |
550 | #: src/ui/window.blp:81
551 | msgid "Disables display of the new updates section on top of the Library."
552 | msgstr "禁用游戏库顶部新更新游戏的显示。"
553 |
554 | #: src/ui/window.blp:91
555 | msgid "Login Options"
556 | msgstr "登录设置"
557 |
558 | #: src/ui/window.blp:94
559 | msgid "QR Code Login"
560 | msgstr "二维码登录"
561 |
562 | #: src/ui/window.blp:95
563 | msgid "Changes display options for the mobile QR code in the Login dialog."
564 | msgstr "改变“登录”对话框中移动二维码的显示设置。"
565 |
566 | #: src/ui/window.blp:96
567 | msgid "Hide"
568 | msgstr "隐藏"
569 |
570 | #: src/ui/window.blp:108
571 | msgid "_Preferences"
572 | msgstr "首选项 (_P)"
573 |
574 | #: src/ui/window.blp:112
575 | msgid "_Uninstall"
576 | msgstr "卸载 (_U)"
577 |
578 | #: src/ui/window.blp:116
579 | msgid "_About AdwSteamGtk"
580 | msgstr "关于 _AdwSteamGtk"
581 |
582 | #: src/zip.py:28
583 | msgid "Extract: Failed to read ZIP archive"
584 | msgstr "解压: 无法读取 ZIP 压缩文件"
585 |
586 | #: src/zip.py:30
587 | msgid "Extract: Bad ZIP File"
588 | msgstr "解压: ZIP 文件损坏"
589 |
590 | #: src/zip.py:32
591 | msgid "Extract: Failed to Extract ZIP File"
592 | msgstr "解压: ZIP 文件解压失败"
593 |
--------------------------------------------------------------------------------
/src/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Foldex/AdwSteamGtk/b3c5ebe02f2a489357312f08d5a3bb45c8d13f4d/src/__init__.py
--------------------------------------------------------------------------------
/src/adwaita-steam-gtk.in:
--------------------------------------------------------------------------------
1 | #!@PYTHON@
2 |
3 | # adwaita-steam-gtk.in
4 | #
5 | # Copyright 2022 Foldex
6 | #
7 | # This program is free software: you can redistribute it and/or modify
8 | # it under the terms of the GNU General Public License as published by
9 | # the Free Software Foundation, either version 3 of the License, or
10 | # (at your option) any later version.
11 | #
12 | # This program is distributed in the hope that it will be useful,
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | # GNU General Public License for more details.
16 | #
17 | # You should have received a copy of the GNU General Public License
18 | # along with this program. If not, see .
19 |
20 | import os
21 | import sys
22 | import signal
23 | import locale
24 | import gettext
25 |
26 | VERSION = '@VERSION@'
27 | pkgdatadir = '@pkgdatadir@'
28 | localedir = '@localedir@'
29 |
30 | sys.path.insert(1, pkgdatadir)
31 | signal.signal(signal.SIGINT, signal.SIG_DFL)
32 | locale.bindtextdomain('adwaita-steam-gtk', localedir)
33 | locale.textdomain('adwaita-steam-gtk')
34 | gettext.install('adwaita-steam-gtk', localedir)
35 |
36 | if __name__ == '__main__':
37 | import gi
38 |
39 | from gi.repository import Gio
40 | resource = Gio.Resource.load(os.path.join(pkgdatadir, 'adwaita-steam-gtk.gresource'))
41 | resource._register()
42 |
43 | from adwaita_steam_gtk import main
44 | sys.exit(main.main(VERSION))
45 |
--------------------------------------------------------------------------------
/src/adwaita_steam_gtk.gresource.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ui/window.ui
5 |
6 |
7 | ui/prefs.ui
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/cli.py:
--------------------------------------------------------------------------------
1 | # dl.py
2 | #
3 | # Copyright 2022 Foldex
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 |
18 | from gi.repository import Gio
19 | from enum import Enum
20 |
21 | from . import info
22 | from . import install
23 | from . import style
24 | from . import update
25 |
26 | class result(Enum):
27 | CONTINUE = 0
28 | EXIT = 1
29 | NOTIFY_AND_EXIT = 2
30 | PRINT_AND_EXIT = 3
31 | FAIL = 4
32 |
33 | def update_install(cli_args, beta_support=False):
34 | (code, msg) = update.check(False, beta_support)
35 | force_install = cli_args.get("install", False)
36 | option_string = cli_args.get("options")
37 |
38 | if code == update.ExitCode.FAIL:
39 | code = result.PRINT_AND_EXIT
40 | t = msg
41 | elif code == update.ExitCode.SUCCESS or force_install:
42 | options = get_options(option_string)
43 | (code, msg) = install.run(options, beta_support)
44 | t = msg
45 | elif code == update.ExitCode.CURRENT:
46 | code = result.PRINT_AND_EXIT
47 | t = _("Up to Date.")
48 | else:
49 | code = result.EXIT
50 | t = None
51 | return (code, t)
52 |
53 | def get_options(option_string):
54 | settings = Gio.Settings.new(info.APP_ID)
55 | options = {
56 | "custom_css": settings.get_boolean('prefs-install-custom-css'),
57 |
58 | "color_theme": settings.get_string('color-theme-options'),
59 | "rounded_corners": not settings.get_boolean('no-rounded-corners-switch'),
60 |
61 | "win_controls": settings.get_string('window-controls-options'),
62 | "win_controls_layout": settings.get_string('window-controls-layout-options'),
63 |
64 | "library_sidebar": settings.get_string('library-sidebar-options'),
65 | "library_whats_new": not settings.get_boolean('hide-whats-new-switch'),
66 |
67 | "login_qr": settings.get_string('login-qr-options'),
68 | }
69 |
70 | if option_string is None:
71 | return options
72 |
73 | valid_options = {
74 | "custom_css": (True, False),
75 |
76 | "rounded_corners": (True, False),
77 |
78 | "win_controls": ("Adwaita", "MacOS", "Windows"),
79 | "win_controls_layout": ("Auto", "Adwaita", "Elementary", "MacOS", "Windows", "None"),
80 |
81 | "library_sidebar": ("Show", "Hover Only"),
82 | "library_whats_new": (True, False),
83 |
84 | "login_qr": ("Show", "Hover Only", "Hide"),
85 | }
86 |
87 | if ":" not in option_string:
88 | return options
89 |
90 | user_options = option_string_dict(option_string)
91 |
92 | # override defaults/last selected options
93 | for key,val in user_options.items():
94 | cur_val = val.title().replace("_", " ")
95 |
96 | # map boolean values
97 | if cur_val in ("True", "Yes", "On", "T", "Y"):
98 | cur_val = True
99 | elif cur_val in ("False", "No", "Off", "F", "N"):
100 | cur_val = False
101 |
102 | if cur_val in valid_options.get(key, ()):
103 | options[key] = cur_val
104 | elif key != "color_theme":
105 | print(_("{key}: {cur_val} invalid value").format(key=key, cur_val=cur_val))
106 |
107 |
108 | themes_list, msg = style.get_color_themes()
109 |
110 | if themes_list == ["Adwaita"]:
111 | print(_("Could not get theme list. Falling back to last selected theme."))
112 | return options
113 |
114 | if user_options.get("color_theme", "").title() in themes_list:
115 | options["color_theme"] = user_options["color_theme"]
116 | elif user_options.get("color_theme") is not None:
117 | print(_("Could not find theme {colortheme} in theme list. Falling back to last selected theme.").format(colortheme=user_options['color_theme']))
118 |
119 | return options
120 |
121 | def option_string_dict(option_string):
122 | if option_string[-1] == ";":
123 | option_string = option_string[:-1]
124 |
125 | return dict(x.split(":") for x in option_string.split(";"))
126 |
127 | def update_notify():
128 | (code, msg) = update.check(check_only := True, False)
129 |
130 | if code == update.ExitCode.SUCCESS:
131 | code = result.NOTIFY_AND_EXIT
132 | t = _("New Release Available: ") + msg
133 | elif code == update.ExitCode.FAIL:
134 | code = result.NOTIFY_AND_EXIT
135 | t = _("Update Check Failed: ") + msg
136 | elif code == update.ExitCode.CURRENT:
137 | code = result.PRINT_AND_EXIT
138 | t = _("Up to Date.")
139 | else:
140 | code = result.EXIT
141 | t = None
142 |
143 | return (code, t)
144 |
--------------------------------------------------------------------------------
/src/custom_css.py:
--------------------------------------------------------------------------------
1 | # custom_css.py
2 | #
3 | # Copyright 2022 Foldex
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 |
18 | import os
19 | import shutil
20 |
21 | from . import paths
22 |
23 | TEMPLATE = """/* ------------------ */
24 | /* --- Custom CSS --- */
25 | /* ------------------ */
26 |
27 | /* --- EXAMPLE: Override Theme Colors --- */
28 | /* -- DELETE BOTH LINES TO ENABLE
29 | :root
30 | {
31 | --adw-accent-bg-rgb: 53, 132, 228;
32 | --adw-accent-fg-rgb: 255, 255, 255;
33 | --adw-accent-rgb: 120, 174, 237;
34 | }
35 | -- DELETE BOTH LINES TO ENABLE */
36 | """
37 |
38 | def check():
39 | if not os.path.exists(paths.CONFIG_DIR):
40 | os.makedirs(paths.CONFIG_DIR)
41 |
42 | if not os.path.exists(paths.CUSTOM_CSS_FILE):
43 | create()
44 |
45 | def create():
46 | with open(paths.CUSTOM_CSS_FILE, "w") as f:
47 | f.write(TEMPLATE)
48 |
49 | def install():
50 | shutil.copy(paths.CUSTOM_CSS_FILE, paths.CUSTOM_CSS_FILE_DEST)
51 |
--------------------------------------------------------------------------------
/src/dl.py:
--------------------------------------------------------------------------------
1 | # dl.py
2 | #
3 | # Copyright 2022 Foldex
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 |
18 | import json
19 | import urllib.request
20 |
21 | API_URL="https://api.github.com/repos/tkashkin/Adwaita-for-Steam/releases/latest"
22 | BETA_ZIP="https://github.com/Foldex/Adwaita-for-Steam/archive/refs/heads/beta.zip"
23 |
24 | def get_release_info(beta_support=False):
25 | if not beta_support:
26 | try:
27 | data = urllib.request.urlopen(API_URL).read()
28 | out = json.loads(data)
29 | except urllib.error.HTTPError as e:
30 | return (False, _("API: HTTP Error Code ") + str(e.code))
31 | except ValueError:
32 | return (False, _("API: Error Parsing JSON"))
33 | except:
34 | return (False, _("API: Error retrieving release info"))
35 |
36 | if all(key in out for key in ("tag_name", "zipball_url")):
37 | return (out, None)
38 | else:
39 | out = { "tag_name": "Beta", "zipball_url": BETA_ZIP }
40 | return (out, None)
41 |
42 | return (False, _("API: JSON is missing required keys"))
43 |
44 | def download_release(url, path):
45 | try:
46 | urllib.request.urlretrieve(url, path)
47 | except urllib.error.HTTPError as e:
48 | return (False, _("Release: HTTP Error Code ") + str(e.code))
49 | except ConnectionResetError:
50 | return (False, _("Release: Connection Reset"))
51 | except PermissionError:
52 | return (False, _("Release: Permission Error"))
53 | except TimeoutError:
54 | return (False, _("Release: Connection Timeout"))
55 | except:
56 | return (False, _("Release: Error Retrieving Zip"))
57 |
58 | return (True, None)
59 |
60 |
--------------------------------------------------------------------------------
/src/info.py.in:
--------------------------------------------------------------------------------
1 | # info.py
2 | #
3 | # Copyright 2022 Foldex
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 |
18 | APP_ID="@APP_ID@"
19 | APP_NAME="@APP_NAME@"
20 | VERSION="@VERSION@"
21 |
22 | PROJECT_URL="@PROJECT_URL@"
23 | BUG_TRACKER_URL="@BUG_TRACKER_URL@"
24 |
25 | LICENSE="@LICENSE@"
26 | COPYRIGHT="@COPYRIGHT@"
27 |
28 | AUTHOR='Foldex'
29 |
30 | DEVELOPERS=[
31 | 'Foldex https://github.com/Foldex',
32 | 'Christoph Kohnen https://github.com/ChaosMelone9'
33 | ]
34 |
35 | ARTISTS=[
36 | 'Brage Fuglseth https://bragefuglseth.dev'
37 | ]
38 |
39 | TRANSLATORS=[
40 | 'volkov ',
41 | 'RobOT05442309 https://github.com/RobOT05442309',
42 | 'Christoph Kohnen https://github.com/cmkohnen',
43 | 'AnaxMorden https://github.com/AnaxMorden',
44 | 'Fernando Lopes https://github.com/plasmus777',
45 | 'Percy De La Rosa https://github.com/PercyDLR',
46 | 'Kryštof Černý https://github.com/cewbdex',
47 | 'Jiri Grönroos ',
48 | 'Hoshmand M. Qadir ',
49 | 'P.O ',
50 | 'dumbelekci ',
51 | 'Kuzey Kuzey ',
52 | 'Yahor ',
53 | 'arctize ',
54 | 'CouldBeMathijs ',
55 | 'muggs ',
56 | 'Bo Gustavsson ',
57 | 'ssantos ',
58 | 'Sabri Ünal ',
59 | 'Talha Kumru ',
60 | 'Scrambled777 ',
61 | '刘韬 ',
62 | '复予 '
63 | ]
64 |
65 | UPSTREAM=['Anatoliy Kashkin https://github.com/tkashkin']
66 |
--------------------------------------------------------------------------------
/src/install.py:
--------------------------------------------------------------------------------
1 | # install.py
2 | #
3 | # Copyright 2022 Foldex
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 |
18 | import os
19 | import shlex
20 | import subprocess
21 | import gi
22 |
23 | from gi.repository import Gio, GLib
24 |
25 | from . import custom_css
26 | from . import paths
27 | from . import update
28 |
29 | def gen_cmd_line(options, beta_support):
30 | installer = "python install.py "
31 |
32 | if options.get("uninstall"):
33 | return f"{installer} -u"
34 |
35 | match options["custom_css"]:
36 | case True:
37 | custom_css = "--custom-css "
38 | case _:
39 | custom_css = ""
40 |
41 |
42 | match options["color_theme"].lower():
43 | case "adwaita":
44 | color_theme = ""
45 | case _:
46 | color_theme = f"-c {options['color_theme'].lower()} "
47 |
48 | match options["rounded_corners"]:
49 | case False:
50 | rounded_corners = "-e general/no_rounded_corners "
51 | case _:
52 | rounded_corners = ""
53 |
54 | match options["win_controls"].lower():
55 | case "auto":
56 | win_controls = "--windowcontrols-theme auto "
57 | case "adwaita":
58 | win_controls = "--windowcontrols-theme adwaita "
59 | case "windows":
60 | win_controls = "--windowcontrols-theme windows "
61 | case "macos":
62 | win_controls = "--windowcontrols-theme macos "
63 | case _:
64 | win_controls = ""
65 |
66 | match options["win_controls_layout"].lower():
67 | case "auto":
68 | button_layout = get_button_layout()
69 | if button_layout:
70 | win_controls_layout = f"--windowcontrols-layout {button_layout} "
71 | else:
72 | win_controls_layout = ""
73 | case "adwaita":
74 | win_controls_layout = "--windowcontrols-layout adwaita "
75 | case "elementary":
76 | win_controls_layout = "--windowcontrols-layout elementary "
77 | case "windows":
78 | win_controls_layout = "--windowcontrols-layout windows "
79 | case "macos":
80 | win_controls_layout = "--windowcontrols-layout macos "
81 | case "none":
82 | win_controls_layout = "--windowcontrols-layout ':' "
83 | case _:
84 | win_controls_layout = ""
85 |
86 |
87 | match options["library_sidebar"].lower():
88 | case "hover only":
89 | library_sidebar = "-e library/sidebar_hover "
90 | case _:
91 | library_sidebar = ""
92 |
93 | match options["library_whats_new"]:
94 | case False:
95 | library_whats_new = "-e library/hide_whats_new "
96 | case _:
97 | library_whats_new = ""
98 |
99 |
100 | match options["login_qr"].lower():
101 | case "hide":
102 | login_qr = "-e login/hide_qr "
103 | case "hover only":
104 | login_qr = "-e login/hover_qr "
105 | case _:
106 | login_qr = ""
107 |
108 | cmd = (
109 | f"{installer}"
110 |
111 | f"{color_theme}"
112 | f"{rounded_corners}"
113 |
114 | f"{win_controls}"
115 | f"{win_controls_layout}"
116 |
117 | f"{library_sidebar}"
118 | f"{library_whats_new}"
119 |
120 | f"{login_qr}"
121 |
122 | f"{custom_css}"
123 | )
124 |
125 | return cmd
126 |
127 |
128 | def install(cmd):
129 | try:
130 | ret = subprocess.run(shlex.split(cmd), cwd=paths.EXTRACTED_DIR, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, check=True)
131 | out = ret.stdout.decode()
132 | print(out)
133 | if not out.find("Installing skin"):
134 | return (False, _("Install: Found no Valid Install Targets"))
135 | except subprocess.CalledProcessError as e:
136 | print(e.output.decode())
137 | return (False, _("Install: Installer Process Failed"))
138 |
139 | return (True, None)
140 |
141 | def steam_dir_missing():
142 | return not os.path.exists(paths.STEAM_DIR) and not os.path.exists(paths.STEAM_FLATPAK_DIR)
143 |
144 | def release_missing():
145 | return not os.path.exists(paths.LAST_RELEASE_FILE) and not os.path.exists(paths.EXTRACTED_DIR)
146 |
147 | def zip_not_extracted():
148 | return os.path.exists(paths.LAST_RELEASE_FILE) and not os.path.exists(paths.EXTRACTED_DIR)
149 |
150 | def get_button_layout():
151 | portal = Gio.DBusProxy.new_for_bus_sync(
152 | Gio.BusType.SESSION,
153 | Gio.DBusProxyFlags.NONE,
154 | None,
155 | "org.freedesktop.portal.Desktop",
156 | "/org/freedesktop/portal/desktop",
157 | "org.freedesktop.portal.desktop",
158 | None
159 | )
160 |
161 | args = GLib.Variant('(ss)', ('org.gnome.desktop.wm.preferences', 'button-layout'))
162 |
163 | try:
164 | button_layout = portal.call_sync('org.freedesktop.portal.Settings.ReadOne', args, Gio.DBusCallFlags.NONE, -1, None)
165 | except GLib.GError:
166 | print(_("Could not grab window control settings from desktop portal, falling back to default"))
167 | button_layout = None
168 |
169 | if button_layout:
170 | return button_layout[0]
171 | else:
172 | return None
173 |
174 | def run(options, beta_support=False):
175 | if steam_dir_missing():
176 | return(False, _("Install: Failed to Find Valid '~/.steam/steam' Symlink"))
177 |
178 | if release_missing():
179 | (ret, msg) = update.check(False, beta_support)
180 | if not ret:
181 | return (ret, msg)
182 |
183 | if zip_not_extracted():
184 | (ret, msg) = update.post_download()
185 | if not ret:
186 | return (ret, msg)
187 |
188 | if options.get("custom_css"):
189 | custom_css.install()
190 |
191 | cmd = gen_cmd_line(options, beta_support)
192 | (ret, msg) = install(cmd)
193 |
194 | return (ret, msg)
195 |
--------------------------------------------------------------------------------
/src/main.py:
--------------------------------------------------------------------------------
1 | # main.py
2 | #
3 | # Copyright 2022 Foldex
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 |
18 | import gi
19 | import sys
20 |
21 | gi.require_version('Gtk', '4.0')
22 | gi.require_version('Adw', '1')
23 |
24 | from gi.repository import Gtk, Gio, GLib, Adw
25 |
26 | from . import cli
27 | from . import info
28 | from . import update
29 | from . import install
30 |
31 | from .window import AdwaitaSteamGtkWindow
32 | from .prefs import AdwaitaSteamGtkPrefs
33 |
34 |
35 | class Adwaita_steam_gtkApplication(Adw.Application):
36 | """The main application singleton class."""
37 |
38 | def __init__(self):
39 | super().__init__(application_id=info.APP_ID,
40 | flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE)
41 |
42 | # Beta Support
43 | # Used for when a Steam Client Beta diverges far enough from stable
44 | # that we want to install from separate branches
45 | # Probably not seeing much use since the new UI merged into stable
46 |
47 | # self.settings = Gio.Settings.new(info.APP_ID)
48 | # self.beta_support = self.settings.get_boolean("prefs-beta-support")
49 | self.beta_support = False
50 |
51 | self.create_action('quit', self.on_quit_action, ['q'])
52 | self.create_action('about', self.on_about_action)
53 | self.create_action('prefs', self.on_prefs_action)
54 | self.create_action('uninstall', self.on_uninstall_action)
55 |
56 | self.add_main_option(
57 | "check",
58 | ord("c"),
59 | GLib.OptionFlags.NONE,
60 | GLib.OptionArg.NONE,
61 | "Check for Updates and Display a Notification",
62 | None,
63 | )
64 |
65 | self.add_main_option(
66 | "update",
67 | ord("u"),
68 | GLib.OptionFlags.NONE,
69 | GLib.OptionArg.NONE,
70 | "Check and Install Updates",
71 | None,
72 | )
73 |
74 | self.add_main_option(
75 | "install",
76 | ord("i"),
77 | GLib.OptionFlags.NONE,
78 | GLib.OptionArg.NONE,
79 | "Check Updates and Force Install",
80 | None,
81 | )
82 |
83 | self.add_main_option(
84 | "options",
85 | ord("o"),
86 | GLib.OptionFlags.NONE,
87 | GLib.OptionArg.STRING,
88 | "Override Install Options",
89 | None,
90 | )
91 |
92 | def do_command_line(self, command_line):
93 | options = command_line.get_options_dict()
94 | options = options.end().unpack()
95 |
96 | if "update" in options or "install" in options:
97 | (code, msg) = cli.update_install(options, self.beta_support)
98 | if code == cli.result.PRINT_AND_EXIT:
99 | print(msg)
100 | self.quit()
101 | return 0
102 | elif "check" in options:
103 | (code, msg) = cli.update_notify()
104 | if code == cli.result.NOTIFY_AND_EXIT:
105 | self.send_notif(info.APP_NAME, msg, "update-check")
106 | elif code == cli.result.PRINT_AND_EXIT:
107 | print(msg)
108 | self.quit()
109 | return 0
110 |
111 | self.activate()
112 | return 0
113 |
114 | def do_activate(self):
115 | """Called when the application is activated.
116 |
117 | We raise the application's main window, creating it if
118 | necessary.
119 | """
120 | win = self.props.active_window
121 | if not win:
122 | win = AdwaitaSteamGtkWindow(application=self)
123 | win.present()
124 |
125 | def on_about_action(self, *args):
126 | """Callback for the app.about action."""
127 | about = Adw.AboutWindow(transient_for=self.props.active_window,
128 | application_name=info.APP_NAME,
129 | application_icon=info.APP_ID,
130 | developer_name=info.AUTHOR,
131 | website=info.PROJECT_URL,
132 | issue_url=info.BUG_TRACKER_URL,
133 | version=info.VERSION,
134 | developers=info.DEVELOPERS,
135 | artists=info.ARTISTS,
136 | license_type=info.LICENSE,
137 | copyright=info.COPYRIGHT)
138 | about.add_credit_section(_("Upstream"), info.UPSTREAM)
139 | about.add_credit_section(_("Translators"), info.TRANSLATORS)
140 | about.present()
141 |
142 | def on_prefs_action(self, *args):
143 | prefs = AdwaitaSteamGtkPrefs(self.props.active_window)
144 | prefs.present()
145 |
146 | def on_uninstall_action(self, *args):
147 | dialog = Adw.MessageDialog(transient_for=self.props.active_window,
148 | heading=_("Uninstall Theme"),
149 | body=_("This will reset all customizations made to the Steam client."))
150 |
151 | dialog.add_response("cancel", _("Cancel"))
152 | dialog.add_response("uninstall", _("Uninstall"))
153 | dialog.set_response_appearance("uninstall", Adw.ResponseAppearance.DESTRUCTIVE)
154 | dialog.set_default_response("cancel")
155 |
156 | dialog.connect("response", self.on_uninstall_response)
157 |
158 | dialog.present()
159 |
160 | def on_uninstall_response (self, dialog, response):
161 | if response == "uninstall":
162 | options = { "uninstall": True }
163 | install.run(options, self.beta_support)
164 |
165 | def on_quit_action(self, *args):
166 | self.quit()
167 |
168 | def create_action(self, name, callback, shortcuts=None):
169 | """Add an application action.
170 |
171 | Args:
172 | name: the name of the action
173 | callback: the function to be called when the action is
174 | activated
175 | shortcuts: an optional list of accelerators
176 | """
177 | action = Gio.SimpleAction.new(name, None)
178 | action.connect("activate", callback)
179 | self.add_action(action)
180 | if shortcuts:
181 | self.set_accels_for_action(f"app.{name}", shortcuts)
182 |
183 | def send_notif(self, title, body, notif_id):
184 | n = Gio.Notification()
185 | n.set_title(title)
186 | n.set_body(body)
187 |
188 | self.send_notification(notif_id, n)
189 |
190 | def main(version):
191 | """The application's entry point."""
192 | app = Adwaita_steam_gtkApplication()
193 | return app.run(sys.argv)
194 |
--------------------------------------------------------------------------------
/src/meson.build:
--------------------------------------------------------------------------------
1 | pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
2 | moduledir = join_paths(pkgdatadir, 'adwaita_steam_gtk')
3 | gnome = import('gnome')
4 |
5 | blueprints = custom_target('blueprints',
6 | input: files(
7 | 'ui/window.blp',
8 | 'ui/prefs.blp',
9 | ),
10 | output: '.',
11 | command: [find_program('blueprint-compiler'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'],
12 | )
13 |
14 | gnome.compile_resources('adwaita-steam-gtk',
15 | 'adwaita_steam_gtk.gresource.xml',
16 | dependencies: blueprints,
17 | gresource_bundle: true,
18 | install: true,
19 | install_dir: pkgdatadir,
20 | )
21 |
22 | python = import('python')
23 |
24 | conf = configuration_data()
25 | conf.set('PYTHON', python.find_installation('python3').full_path())
26 |
27 | conf.set('APP_ID', 'io.github.Foldex.AdwSteamGtk')
28 | conf.set('APP_NAME', 'AdwSteamGtk')
29 | conf.set('VERSION', meson.project_version())
30 |
31 | conf.set('BUG_TRACKER_URL', 'https://github.com/Foldex/AdwSteamGtk/issues')
32 | conf.set('PROJECT_URL', 'https://github.com/Foldex/AdwSteamGtk')
33 |
34 | conf.set('COPYRIGHT', '© 2022 Foldex')
35 | conf.set('LICENSE', 'GTK_LICENSE_GPL_3_0')
36 |
37 | conf.set('localedir', join_paths(get_option('prefix'), get_option('localedir')))
38 | conf.set('pkgdatadir', pkgdatadir)
39 |
40 | configure_file(
41 | input: 'adwaita-steam-gtk.in',
42 | output: 'adwaita-steam-gtk',
43 | configuration: conf,
44 | install: true,
45 | install_dir: get_option('bindir')
46 | )
47 |
48 | configure_file(
49 | input: 'info.py.in',
50 | output: '@BASENAME@',
51 | configuration: conf,
52 | install: true,
53 | install_dir: moduledir
54 | )
55 |
56 | adwaita_steam_gtk_sources = [
57 | '__init__.py',
58 | 'main.py',
59 | 'cli.py',
60 | 'custom_css.py',
61 | 'dl.py',
62 | 'install.py',
63 | 'paths.py',
64 | 'style.py',
65 | 'update.py',
66 | 'zip.py',
67 | 'pages/window.py',
68 | 'pages/prefs.py',
69 | ]
70 |
71 | install_data(adwaita_steam_gtk_sources, install_dir: moduledir)
72 |
--------------------------------------------------------------------------------
/src/pages/prefs.py:
--------------------------------------------------------------------------------
1 | # prefs.py
2 | #
3 | # Copyright 2022 Foldex
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 |
18 | import gi
19 | import os
20 |
21 | gi.require_version('Xdp', '1.0')
22 | gi.require_version('XdpGtk4', '1.0')
23 | from gi.repository import Adw, Gtk, Xdp, XdpGtk4
24 |
25 | from . import paths
26 | from . import update
27 |
28 | @Gtk.Template(resource_path='/io/github/Foldex/AdwSteamGtk/ui/prefs.ui')
29 | class AdwaitaSteamGtkPrefs(Adw.PreferencesWindow):
30 | __gtype_name__ = 'AdwaitaSteamGtkPrefs'
31 |
32 | custom_css_switch = Gtk.Template.Child()
33 | preview_theme_switch = Gtk.Template.Child()
34 | update_check_switch = Gtk.Template.Child()
35 | beta_support_switch = Gtk.Template.Child()
36 |
37 | custom_css_edit_button = Gtk.Template.Child()
38 | custom_css_info_button = Gtk.Template.Child()
39 |
40 | def __init__(self, parent, **kwargs):
41 | super().__init__(**kwargs)
42 | self.parent = parent
43 | self.settings = parent.settings
44 | self.app = self.parent.get_application()
45 | self.win = self.app.get_active_window()
46 | self.set_transient_for(self.win)
47 | self.portal = Xdp.Portal()
48 | self.portal_parent = XdpGtk4.parent_new_gtk(self)
49 |
50 | self.setup_widgets()
51 |
52 | def setup_switch(self, switch, config, callback):
53 | switch.set_active(self.settings.get_boolean(config))
54 | switch.connect("state-set", callback)
55 |
56 | def setup_widgets(self):
57 | self.setup_switch(self.preview_theme_switch, "prefs-ui-preview-theme", self.on_preview_theme_switch_toggle)
58 | self.setup_switch(self.update_check_switch, "prefs-autostart-update-check", self.on_update_check_switch_toggle)
59 | self.setup_switch(self.custom_css_switch, "prefs-install-custom-css", self.on_custom_css_switch_toggle)
60 |
61 | # self.setup_switch(self.beta_support_switch, "prefs-beta-support", self.on_beta_support_switch_toggle)
62 |
63 | self.custom_css_edit_button.connect("clicked", self.on_custom_css_edit_button_clicked)
64 | self.custom_css_info_button.connect("clicked", self.on_custom_css_info_button_clicked)
65 |
66 | def on_preview_theme_switch_toggle(self, *args):
67 | state = not self.preview_theme_switch.props.state
68 | self.settings.set_boolean("prefs-ui-preview-theme", state)
69 | self.parent.load_app_style(self.parent.color_theme_options, None)
70 |
71 | def on_beta_support_switch_toggle(self, *args):
72 | state = not self.beta_support_switch.props.state
73 | self.settings.set_boolean("prefs-beta-support", state)
74 |
75 | dialog = Adw.MessageDialog(transient_for=self.parent,
76 | heading=_("Shutting Down"),
77 | body=_("Relaunch AdwSteamGtk to apply this change."))
78 |
79 | dialog.add_response("confirm", _("Okay"))
80 | dialog.set_default_response("confirm")
81 |
82 | dialog.connect("response", self.on_beta_support_response)
83 | dialog.present()
84 |
85 | def on_beta_support_response(self, dialog, response):
86 | update.reset_files()
87 | self.app.quit()
88 |
89 | def on_update_check_switch_toggle(self, *args):
90 | state = not self.update_check_switch.props.state
91 | self.settings.set_boolean("prefs-autostart-update-check", state)
92 |
93 | if state:
94 | flag = Xdp.BackgroundFlags.AUTOSTART
95 | else:
96 | flag = Xdp.BackgroundFlags.NONE
97 |
98 | self.portal.request_background(
99 | None,
100 | "Update Check",
101 | ["adwaita-steam-gtk", "--check"],
102 | flag,
103 | None,
104 | None,
105 | None
106 | )
107 |
108 | def on_custom_css_switch_toggle(self, *args):
109 | state = not self.custom_css_switch.props.state
110 | self.settings.set_boolean("prefs-install-custom-css", state)
111 |
112 | def on_custom_css_edit_button_clicked(self, *args):
113 | self.portal.open_uri(self.portal_parent, paths.CUSTOM_CSS_URI, Xdp.OpenUriFlags.WRITABLE, None, None);
114 |
115 | def on_custom_css_info_button_clicked(self, *args):
116 | self.portal.open_uri(self.portal_parent, paths.CUSTOM_CSS_INFO_URL, Xdp.OpenUriFlags.NONE, None, None);
117 |
--------------------------------------------------------------------------------
/src/pages/window.py:
--------------------------------------------------------------------------------
1 | # window.py
2 | #
3 | # Copyright 2022 Foldex
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 |
18 | from gi.repository import Adw, Gio, Gtk, Gdk
19 |
20 | from . import custom_css
21 | from . import info
22 | from . import install
23 | from . import style
24 | from . import update
25 | from . import zip
26 |
27 | @Gtk.Template(resource_path='/io/github/Foldex/AdwSteamGtk/ui/window.ui')
28 | class AdwaitaSteamGtkWindow(Gtk.ApplicationWindow):
29 | __gtype_name__ = 'AdwaitaSteamGtkWindow'
30 |
31 | settings = Gio.Settings.new(info.APP_ID)
32 | install_button = Gtk.Template.Child()
33 | toast_overlay = Gtk.Template.Child()
34 |
35 | theme_group = Gtk.Template.Child()
36 | color_theme_options = Gtk.Template.Child()
37 | no_rounded_corners = Gtk.Template.Child()
38 | no_rounded_corners_switch = Gtk.Template.Child()
39 |
40 | window_controls_group = Gtk.Template.Child()
41 | window_controls_options = Gtk.Template.Child()
42 | window_controls_layout_options = Gtk.Template.Child()
43 |
44 | library_group = Gtk.Template.Child()
45 | library_sidebar_options = Gtk.Template.Child()
46 | hide_whats_new_switch = Gtk.Template.Child()
47 |
48 | login_group = Gtk.Template.Child()
49 | login_qr_options = Gtk.Template.Child()
50 |
51 | def __init__(self, **kwargs):
52 | super().__init__(**kwargs)
53 |
54 | # Disable Beta Support
55 | self.settings.set_boolean("prefs-beta-support", False)
56 | self.beta_support = self.settings.get_boolean("prefs-beta-support")
57 |
58 | self.opt_array = {
59 | "color_theme": ["Adwaita"],
60 |
61 | "win_controls": ["Adwaita", "MacOS", "Windows"],
62 | "win_controls_layout": ["Auto", "Adwaita", "Elementary", "MacOS", "Windows", "None"],
63 |
64 | "library_sidebar": ["Show", "Hover Only"],
65 |
66 | "login_qr": ["Show", "Hover Only", "Hide"]
67 | }
68 |
69 | self.make_action("install", self.install_theme)
70 | self.make_action("retry_dl", self.retry_check)
71 | self.check_latest_release()
72 | self.check_custom_css()
73 | self.load_color_themes()
74 | self.load_config()
75 | self.style_provider = None
76 | self.load_app_style()
77 | self.color_theme_options.connect("notify::selected", self.load_app_style)
78 |
79 | def make_action(self, action, func):
80 | install_action = Gio.SimpleAction(name=action)
81 | install_action.connect("activate", func)
82 | self.add_action(install_action)
83 |
84 | def pop_toast(self, toast):
85 | self.toast_overlay.add_toast(toast)
86 |
87 | def load_app_style(self, *args):
88 | if self.style_provider is None:
89 | self.style_provider = Gtk.CssProvider()
90 | Gtk.StyleContext.add_provider_for_display(Gdk.Display.get_default(), self.style_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER + 1)
91 |
92 | preview_theme = self.settings.get_boolean("prefs-ui-preview-theme")
93 |
94 | if not preview_theme:
95 | self.style_provider.load_from_data("", -1)
96 | return
97 |
98 | selected_theme = self.get_selected_pref(self.color_theme_options, self.opt_array["color_theme"]).lower()
99 | ret, msg = style.generate_style(selected_theme)
100 |
101 | if not ret:
102 | t = Adw.Toast(title=msg, priority="high")
103 | self.pop_toast(t)
104 |
105 | self.style_provider.load_from_data(msg, -1)
106 |
107 | def load_color_themes(self):
108 | (themes, msg) = style.get_color_themes()
109 |
110 | if msg:
111 | t = Adw.Toast(title=msg, priority="high")
112 | self.pop_toast(t)
113 |
114 | self.opt_array["color_theme"] = themes
115 | self.color_theme_options.set_model(Gtk.StringList.new(themes))
116 |
117 | def load_config(self):
118 | self.select_from_config('color-theme-options', self.color_theme_options, self.opt_array["color_theme"])
119 | self.select_from_config('no-rounded-corners-switch', self.no_rounded_corners_switch)
120 |
121 | self.select_from_config('window-controls-options', self.window_controls_options, self.opt_array["win_controls"])
122 | self.select_from_config('window-controls-layout-options', self.window_controls_layout_options, self.opt_array["win_controls_layout"])
123 |
124 | self.select_from_config('library-sidebar-options', self.library_sidebar_options, self.opt_array["library_sidebar"])
125 | self.select_from_config('hide-whats-new-switch', self.hide_whats_new_switch)
126 |
127 | self.select_from_config('login-qr-options', self.login_qr_options, self.opt_array["login_qr"])
128 |
129 | def save_config(self):
130 | self.config_from_select('color-theme-options', self.color_theme_options, self.opt_array["color_theme"])
131 | self.config_from_select('no-rounded-corners-switch', self.no_rounded_corners_switch)
132 |
133 | self.config_from_select('window-controls-options', self.window_controls_options, self.opt_array["win_controls"])
134 | self.config_from_select('window-controls-layout-options', self.window_controls_layout_options, self.opt_array["win_controls_layout"])
135 |
136 | self.config_from_select('library-sidebar-options', self.library_sidebar_options, self.opt_array["library_sidebar"])
137 | self.config_from_select('hide-whats-new-switch', self.hide_whats_new_switch)
138 |
139 | self.config_from_select('login-qr-options', self.login_qr_options, self.opt_array["login_qr"])
140 |
141 |
142 | def get_selected_pref(self, widget, array=None):
143 | match type := widget.get_name():
144 | case "AdwComboRow":
145 | if not array:
146 | print("get_selected_pref: AdwComboRows need array passed")
147 | selected = None
148 | else:
149 | selected = array[widget.get_selected()]
150 | case "GtkSwitch":
151 | selected = widget.get_active()
152 | case _:
153 | print(f"get_selected_pref: unsupported type {type}")
154 | selected = None
155 | return selected
156 |
157 | def config_to_pos(self, config, array):
158 | string = self.settings.get_string(config)
159 | for pos,s in enumerate(array):
160 | if string == s:
161 | return pos
162 | return 0
163 |
164 | def select_from_config(self, config, widget, array=None):
165 | match type := widget.get_name():
166 | case "AdwComboRow":
167 | if not array:
168 | print("select_from_config: AdwComboRows need array passed")
169 | else:
170 | widget.set_selected(self.config_to_pos(config, array))
171 | case "GtkSwitch":
172 | widget.set_active(self.settings.get_boolean(config))
173 | case _:
174 | print(f"set_from_config: unsupported type {type}")
175 |
176 | def config_from_select(self, config, widget, array=None):
177 | match type := widget.get_name():
178 | case "AdwComboRow":
179 | if not array:
180 | print("config_from_select: AdwComboRows need array passed")
181 | else:
182 | self.settings.set_string(config, array[widget.get_selected()])
183 | case "GtkSwitch":
184 | self.settings.set_boolean(config, widget.get_active())
185 | case _:
186 | print(f"config_from_select: unsupported type {type}")
187 |
188 | def check_latest_release(self):
189 | (code, msg) = update.check(False, self.beta_support)
190 | t = None
191 |
192 | if code == update.ExitCode.SUCCESS:
193 | t = Adw.Toast(title=_("New Release Downloaded: ") + msg, timeout=2)
194 | elif code == update.ExitCode.FAIL:
195 | t = Adw.Toast(title=msg, button_label=_("Retry"), action_name="win.retry_dl", timeout=30)
196 | # elif code == update.ExitCode.CURRENT:
197 | # t = Adw.Toast(title=_("Up to Date"))
198 |
199 | if t:
200 | self.pop_toast(t)
201 |
202 | def retry_check(self, *args):
203 | self.check_latest_release()
204 |
205 | def check_custom_css(self):
206 | custom_css.check()
207 |
208 | def install_theme(self, *args):
209 | options = {
210 | # switches that hide/disable get inverted
211 | "custom_css": self.settings.get_boolean('prefs-install-custom-css'),
212 |
213 | "color_theme": self.get_selected_pref(self.color_theme_options, self.opt_array["color_theme"]),
214 | "rounded_corners": not self.get_selected_pref(self.no_rounded_corners_switch),
215 |
216 | "win_controls": self.get_selected_pref(self.window_controls_options, self.opt_array["win_controls"]),
217 | "win_controls_layout": self.get_selected_pref(self.window_controls_layout_options, self.opt_array["win_controls_layout"]),
218 |
219 | "library_sidebar": self.get_selected_pref(self.library_sidebar_options, self.opt_array["library_sidebar"]),
220 | "library_whats_new": not self.get_selected_pref(self.hide_whats_new_switch),
221 |
222 | "login_qr": self.get_selected_pref(self.login_qr_options, self.opt_array["login_qr"]),
223 | }
224 |
225 | (ret, msg) = install.run(options, self.beta_support)
226 |
227 | if ret:
228 | t = Adw.Toast(title=_("Theme Installed"), priority="high", timeout=2)
229 | self.save_config()
230 | else:
231 | t = Adw.Toast(title=msg, priority="high")
232 |
233 | self.pop_toast(t)
234 |
--------------------------------------------------------------------------------
/src/paths.py:
--------------------------------------------------------------------------------
1 | # paths.py
2 | #
3 | # Copyright 2022 Foldex
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 |
18 | import os.path
19 | import pathlib
20 |
21 | STEAM_DIR=os.path.expanduser("~/.steam/steam")
22 | STEAM_FLATPAK_DIR=os.path.expanduser("~/.var/app/com.valvesoftware.Steam/.steam/steam")
23 |
24 | XDG_CACHE_DIR=os.path.expanduser(os.environ.get("XDG_CACHE_HOME", "~/.cache"))
25 | XDG_CONFIG_DIR=os.path.expanduser(os.environ.get("XDG_CONFIG_HOME", "~/.config"))
26 |
27 | CACHE_DIR=os.path.join(XDG_CACHE_DIR, "AdwSteamInstaller")
28 | CONFIG_DIR=os.path.join(XDG_CONFIG_DIR, "AdwSteamGtk")
29 |
30 | TMP_DIR=os.path.join(CACHE_DIR, "tmp")
31 | EXTRACTED_DIR=os.path.join(CACHE_DIR, "extracted")
32 | ADWAITA_DIR=os.path.join(EXTRACTED_DIR, "adwaita")
33 | THEMES_DIR=os.path.join(ADWAITA_DIR, "colorthemes")
34 |
35 | LAST_CHECK_FILE=os.path.join(CACHE_DIR, "last_check")
36 | LAST_VERSION_FILE=os.path.join(CACHE_DIR, "last_ver")
37 | LAST_RELEASE_FILE=os.path.join(CACHE_DIR, "latest.zip")
38 |
39 | CUSTOM_CSS_FILE=os.path.join(CONFIG_DIR, "custom.css")
40 | CUSTOM_CSS_FILE_DEST=os.path.join(EXTRACTED_DIR, "custom/custom.css")
41 | CUSTOM_CSS_INFO_URL="https://github.com/Foldex/AdwSteamGtk/wiki/Custom-CSS"
42 | CUSTOM_CSS_URI=pathlib.Path(CUSTOM_CSS_FILE).as_uri()
43 |
--------------------------------------------------------------------------------
/src/style.py:
--------------------------------------------------------------------------------
1 | # style.py
2 | #
3 | # Copyright 2022 Foldex
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 |
18 | import os.path
19 | import re
20 | from pathlib import Path
21 |
22 | from . import install
23 | from . import paths
24 | from . import update
25 |
26 | def get_color_themes():
27 | themes = []
28 | fallback = ["Adwaita"]
29 |
30 | if install.zip_not_extracted():
31 | (ret, msg) = update.post_download()
32 | if not ret:
33 | return (ret, msg)
34 |
35 | theme_dir = Path(paths.THEMES_DIR)
36 | theme_ext = "css"
37 | themes = [ x.stem.title() for x in theme_dir.glob(f"*/*.{theme_ext}")]
38 |
39 | if not themes:
40 | return (fallback, _("Get Themes: Failed to get themes"))
41 |
42 | return (themes, None)
43 |
44 | def parse_css(file):
45 | with open (file, 'r' ) as f:
46 | content = f.read()
47 |
48 | pattern = r'--([\w-]+)\s*:\s*(.*?)(?:\s*!important)?;'
49 | matches = re.findall(pattern, content)
50 |
51 | vars = {}
52 |
53 | for match in matches:
54 | key = match[0]
55 | value = match[1]
56 |
57 | vars[key] = value
58 |
59 | return vars
60 |
61 | def generate_style(theme_name):
62 | theme_dir = paths.THEMES_DIR
63 | theme_path = f"{theme_dir}/{theme_name}/{theme_name}.css"
64 |
65 | if install.zip_not_extracted():
66 | (ret, msg) = update.post_download()
67 | if not ret:
68 | return (ret, msg)
69 |
70 | if not os.path.exists(theme_path):
71 | return (False, _("Style: Could not find theme {theme_name}").format(theme_name=theme_name))
72 |
73 | theme_vars = parse_css(theme_path)
74 |
75 | # Generated Styles
76 | style_vars = {
77 | "accent_color": theme_vars.get("adw-accent-rgb"),
78 | "accent_bg_color": theme_vars.get("adw-accent-bg-rgb"),
79 | "accent_fg_color": theme_vars.get("adw-accent-fg-rgb"),
80 |
81 | "destructive": theme_vars.get("adw-destructive-rgb"),
82 | "destructive_fg_color": theme_vars.get("adw-destructive-fg-rgb"),
83 | "destructive_bg_color": theme_vars.get("adw-destructive-bg-rgb"),
84 |
85 | "success_color": theme_vars.get("adw-success-rgb"),
86 | "success_bg_color": theme_vars.get("adw-success-bg-rgb"),
87 | "success_fg_color": theme_vars.get("adw-success-fg-rgb"),
88 |
89 | "warning_color": theme_vars.get("adw-warning-rgb"),
90 | "warning_bg_color": theme_vars.get("adw-warning-bg-rgb"),
91 | "warning_fg_color": (theme_vars.get("adw-warning-fg-rgb"), theme_vars.get("adw-warning-fg-a")),
92 |
93 | "error_color": theme_vars.get("adw-error-rgb"),
94 | "error_bg_color": theme_vars.get("adw-error-bg-rgb"),
95 | "error_fg_color": theme_vars.get("adw-error-fg-rgb"),
96 |
97 | "headerbar_bg_color": theme_vars.get("adw-headerbar-bg-rgb"),
98 | "headerbar_fg_color": theme_vars.get("adw-headerbar-fg-rgb"),
99 | "headerbar_backdrop_color": theme_vars.get("adw-headerbar-backdrop-rgb"),
100 | "headerbar_shade_color": theme_vars.get("adw-headerbar-shade-rgb"),
101 |
102 | "window_bg_color": theme_vars.get("adw-window-bg-rgb"),
103 | "window_fg_color": theme_vars.get("adw-window-fg-rgb"),
104 |
105 | "view_bg_color": theme_vars.get("adw-view-bg-rgb"),
106 | "view_fg_color": theme_vars.get("adw-view-fg-rgb"),
107 |
108 | "popover_bg_color": theme_vars.get("adw-popover-bg-rgb"),
109 | "popover_fg_color": theme_vars.get("adw-popover-fg-rgb"),
110 |
111 | "dialog_bg_color": theme_vars.get("adw-popover-bg-rgb"),
112 | "dialog_fg_color": theme_vars.get("adw-popover-fg-rgb"),
113 |
114 | "card_fg_color": theme_vars.get("adw-card-fg-rgb"),
115 | "card_bg_color": (theme_vars.get("adw-card-bg-rgb"), theme_vars.get("adw-card-bg-a")),
116 | }
117 |
118 | style_vars = lookup_css(style_vars, theme_vars)
119 | style = format_css(style_vars)
120 |
121 | if all(x is None for x in style_vars.values()):
122 | return (False, _("Style: Theme {theme_name} seems to be invalid").format(theme_name=theme_name))
123 |
124 | # Hardcoded Styles
125 | style += "tooltip.background { background-color: rgba(0, 0, 0, 0.8); color: @card_fg_color; }\n"
126 | style += "list.boxed-list > row:not(:last-child) { border-bottom: 1px solid rgba(0, 0, 0, 0.36); }\n"
127 |
128 |
129 | return (True, style)
130 |
131 | def lookup_css(style_vars, theme_vars):
132 | # non-recursive, meh
133 | for adw_color, theme_color in style_vars.items():
134 |
135 | if not theme_color:
136 | continue
137 |
138 | if isinstance(theme_color, tuple):
139 | continue
140 |
141 | var_result = None
142 |
143 | var_pattern = r'var\(\s*--([\w-]+)\s*\)'
144 | var_result = re.search(var_pattern, theme_color)
145 |
146 | if var_result:
147 | resolved = theme_vars.get(var_result.group(1))
148 | else:
149 | resolved = None
150 |
151 | if resolved:
152 | style_vars[adw_color] = resolved
153 |
154 | return style_vars
155 |
156 | def format_css(style_vars):
157 |
158 | css = ""
159 |
160 | for adw_color, theme_color in style_vars.items():
161 | if theme_color:
162 |
163 | # tuples are rgba
164 | if isinstance(theme_color, tuple) and theme_color[0] and theme_color[1]:
165 | final_color = f"rgba({theme_color[0]}, {theme_color[1]})"
166 | # rgb
167 | else:
168 | final_color = f"rgb({theme_color})"
169 |
170 | css += f"@define-color {adw_color} {final_color};\n"
171 |
172 | return css
173 |
--------------------------------------------------------------------------------
/src/ui/prefs.blp:
--------------------------------------------------------------------------------
1 | using Gtk 4.0;
2 | using Adw 1;
3 |
4 | template $AdwaitaSteamGtkPrefs : Adw.PreferencesWindow {
5 | title: _("Preferences");
6 | default-height: 550;
7 | default-width: 450;
8 | modal: true;
9 |
10 | Adw.PreferencesPage general_page {
11 | Adw.PreferencesGroup autostart_group {
12 | title: _("Autostart");
13 |
14 | Adw.ActionRow {
15 | title: _("Auto Update Check");
16 | subtitle: _("Checks and notifies for theme updates on user login.");
17 | activatable-widget: update_check_switch;
18 | Gtk.Switch update_check_switch {
19 | valign: center;
20 | }
21 | }
22 | }
23 |
24 | Adw.PreferencesGroup beta_group {
25 | title: _("Beta");
26 | visible: false;
27 |
28 | Adw.ActionRow {
29 | title: _("Experimental Beta Support");
30 | subtitle: _("Enables Beta Support (requires restart)");
31 | activatable-widget: beta_support_switch;
32 | Gtk.Switch beta_support_switch {
33 | valign: center;
34 | }
35 | }
36 | }
37 |
38 | Adw.PreferencesGroup installer_group {
39 | title: _("Installer");
40 |
41 | Adw.ActionRow {
42 | title: _("Custom CSS");
43 | subtitle: _("Include Custom CSS into Steam");
44 | activatable-widget: custom_css_switch;
45 | Gtk.Button custom_css_info_button {
46 | icon-name: "help-about-symbolic";
47 | valign: center;
48 | tooltip-text: _("Custom CSS Info");
49 | }
50 | Gtk.Button custom_css_edit_button {
51 | icon-name: "document-edit-symbolic";
52 | valign: center;
53 | tooltip-text: _("Edit Custom CSS File");
54 | }
55 | Gtk.Switch custom_css_switch {
56 | valign: center;
57 | }
58 | }
59 | }
60 |
61 |
62 | Adw.PreferencesGroup ui_group {
63 | title: _("Interface");
64 |
65 | Adw.ActionRow {
66 | title: _("Preview Themes");
67 | subtitle: _("Styles the interface to match the currently selected theme.");
68 | activatable-widget: preview_theme_switch;
69 | Gtk.Switch preview_theme_switch {
70 | valign: center;
71 | }
72 | }
73 | }
74 |
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/src/ui/window.blp:
--------------------------------------------------------------------------------
1 | using Gtk 4.0;
2 | using Adw 1;
3 |
4 | template $AdwaitaSteamGtkWindow : ApplicationWindow {
5 | default-width: 500;
6 | default-height: 700;
7 | title: _("Adwaita Steam Installer");
8 | resizable: false;
9 |
10 | [titlebar]
11 | HeaderBar header_bar {
12 | [start]
13 | Button install_button {
14 | label: _("Apply");
15 | action-name: "win.install";
16 | styles ["suggested-action"]
17 | }
18 |
19 | [end]
20 | MenuButton {
21 | icon-name: "open-menu-symbolic";
22 | menu-model: primary_menu;
23 | }
24 | }
25 |
26 | Adw.ToastOverlay toast_overlay {
27 | child: Gtk.ScrolledWindow {
28 | child: Gtk.Box {
29 | orientation: vertical;
30 | valign: center;
31 | vexpand: false;
32 | margin-start: 40;
33 | margin-end: 40;
34 | margin-top: 20;
35 | margin-bottom: 20;
36 | spacing: 20;
37 | styles ["main-box"]
38 |
39 | Adw.PreferencesGroup theme_group {
40 | title: _("Theme Options");
41 | Adw.ComboRow color_theme_options {
42 | title: _("Color Theme");
43 | tooltip-text: _("Changes the color theme of Steam's interface.");
44 | }
45 | Adw.ActionRow no_rounded_corners {
46 | title: _("No Rounded Corners");
47 | tooltip-text: _("Removes smooth rounded corners from the interface.");
48 | activatable-widget: no_rounded_corners_switch;
49 |
50 | Switch no_rounded_corners_switch {
51 | valign: center;
52 | }
53 | }
54 | }
55 |
56 | Adw.PreferencesGroup window_controls_group {
57 | title: _("Window Controls Options");
58 | Adw.ComboRow window_controls_options {
59 | title: _("Controls Style");
60 | tooltip-text: _("Changes Minimize/Maximize/Close Button Theme");
61 | model: StringList { strings [_("Adwaita"), _("MacOS"), _("Windows")] };
62 | }
63 | Adw.ComboRow window_controls_layout_options {
64 | title: _("Controls Button Layout");
65 | tooltip-text: _("Changes Minimize/Maximize/Close Button Layout and Position");
66 | model: StringList { strings [_("Auto"), _("Adwaita"), _("Elementary"), _("MacOS"), _("Windows"), _("None")] };
67 | }
68 | }
69 |
70 | Adw.PreferencesGroup library_group {
71 | title: _("Library Options");
72 |
73 | Adw.ComboRow library_sidebar_options {
74 | title: _("Library Sidebar");
75 | tooltip-text: _("Changes display options for the Library's left sidebar.");
76 | model: StringList { strings [_("Show"), _("Hover Only")] };
77 | }
78 |
79 | Adw.ActionRow {
80 | title: _("Hide Library What's New Shelf");
81 | tooltip-text: _("Disables display of the new updates section on top of the Library.");
82 | activatable-widget: hide_whats_new_switch;
83 |
84 | Switch hide_whats_new_switch {
85 | valign: center;
86 | }
87 | }
88 | }
89 |
90 | Adw.PreferencesGroup login_group {
91 | title: _("Login Options");
92 |
93 | Adw.ComboRow login_qr_options {
94 | title: _("QR Code Login");
95 | tooltip-text: _("Changes display options for the mobile QR code in the Login dialog.");
96 | model: StringList { strings [_("Show"), _("Hover Only"), _("Hide")] };
97 | }
98 | }
99 |
100 | };
101 | };
102 | }
103 | }
104 |
105 | menu primary_menu {
106 | section {
107 | item {
108 | label: _("_Preferences");
109 | action: "app.prefs";
110 | }
111 | item {
112 | label: _("_Uninstall");
113 | action: "app.uninstall";
114 | }
115 | item {
116 | label: _("_About AdwSteamGtk");
117 | action: "app.about";
118 | }
119 | }
120 | }
121 |
--------------------------------------------------------------------------------
/src/update.py:
--------------------------------------------------------------------------------
1 | # update.ey
2 | #
3 | # Copyright 2022 Foldex
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 |
18 | import glob
19 | import os
20 | import shutil
21 | import time
22 | from packaging import version
23 | from enum import Enum
24 |
25 | from . import dl
26 | from . import paths
27 | from . import zip
28 |
29 | UPDATE_INTERVAL=3600 # 1 hour
30 |
31 | class ExitCode(Enum):
32 | SUCCESS = 0
33 | FAIL = 1
34 | CURRENT = 2
35 |
36 | def read_check_file(path):
37 | if not os.path.exists(path):
38 | return 0
39 |
40 | with open(path, "r") as f:
41 | line = f.readline()
42 |
43 | if line == "":
44 | line = 0
45 |
46 | return line
47 |
48 | def write_file(string, path):
49 | with open(path, 'w') as f:
50 | f.write(string)
51 |
52 | def need_update(check_only):
53 | new_stamp = int(time.time())
54 | old_stamp = int(read_check_file(paths.LAST_CHECK_FILE))
55 |
56 | if old_stamp == 0:
57 | if not check_only:
58 | write_file(str(new_stamp), paths.LAST_CHECK_FILE)
59 | return True
60 |
61 | if new_stamp - old_stamp > UPDATE_INTERVAL:
62 | if not check_only:
63 | write_file(str(new_stamp), paths.LAST_CHECK_FILE)
64 | return True
65 | else:
66 | return False
67 |
68 | def release_is_newer(server_version, cached_version):
69 | return version.parse(server_version) > version.parse(cached_version)
70 |
71 | def check(check_only=False, beta_support=False):
72 | if not os.path.exists(paths.CACHE_DIR):
73 | os.makedirs(paths.CACHE_DIR)
74 |
75 | if not need_update(check_only) and os.path.exists(paths.LAST_RELEASE_FILE):
76 | return (ExitCode.CURRENT, None)
77 |
78 | (dict, api_msg) = dl.get_release_info(beta_support)
79 |
80 | if dict:
81 | last_ver=read_check_file(paths.LAST_VERSION_FILE)
82 | version = dict["tag_name"]
83 | url = dict["zipball_url"]
84 |
85 | # Force Newer if we're downloading the beta
86 | if beta_support:
87 | is_newer = True
88 | # Or if we're not on the beta but there's a stale beta entry
89 | elif not beta_support and last_ver == "Beta":
90 | is_newer = True
91 | else:
92 | is_newer = release_is_newer(version, str(last_ver))
93 |
94 | if os.path.exists(paths.LAST_RELEASE_FILE) and not is_newer:
95 | return (ExitCode.CURRENT, None)
96 |
97 | if check_only == True and is_newer:
98 | return (ExitCode.SUCCESS, version)
99 |
100 | (ret, dl_msg) = dl.download_release(url, paths.LAST_RELEASE_FILE)
101 | (ret2, pdl_msg) = post_download()
102 |
103 | if ret and ret2:
104 | write_file(version, paths.LAST_VERSION_FILE)
105 | return (ExitCode.SUCCESS, version)
106 | elif not ret:
107 | return (ExitCode.FAIL, dl_msg)
108 | elif not ret2:
109 | return (ExitCode.FAIL, pdl_msg)
110 | else:
111 | return (ExitCode.FAIL, api_msg)
112 |
113 | def clean_dir(path):
114 | if os.path.exists(path):
115 | shutil.rmtree(path)
116 |
117 | def reset_files():
118 | clean_dir(paths.EXTRACTED_DIR)
119 | os.remove(paths.LAST_CHECK_FILE)
120 | os.remove(paths.LAST_RELEASE_FILE)
121 | os.remove(paths.LAST_VERSION_FILE)
122 |
123 | def move_extract_dir(path, rename):
124 | # Non-Beta
125 | for dir in glob.glob(path + "/tkashkin-Adwaita-for-Steam-*"):
126 | shutil.move(dir, rename)
127 |
128 | # Beta
129 | for dir in glob.glob(path + "/Adwaita-for-Steam-*"):
130 | shutil.move(dir, rename)
131 |
132 | def post_download():
133 | (ret, msg) = zip.extract(paths.LAST_RELEASE_FILE, paths.TMP_DIR)
134 |
135 | if not ret:
136 | clean_dir(paths.TMP_DIR)
137 | return (ret, msg)
138 |
139 | clean_dir(paths.EXTRACTED_DIR)
140 | move_extract_dir(paths.TMP_DIR, paths.EXTRACTED_DIR)
141 | clean_dir(paths.TMP_DIR)
142 |
143 | return (True, None)
144 |
--------------------------------------------------------------------------------
/src/zip.py:
--------------------------------------------------------------------------------
1 | # zip.py
2 | #
3 | # Copyright 2022 Foldex
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 |
18 | import zipfile
19 |
20 | COLOR_THEMES_PREFIX="/colorthemes"
21 | COLOR_THEMES_EXT=".theme"
22 |
23 | def extract(path, out_dir):
24 | try:
25 | with zipfile.ZipFile(path) as f:
26 | f.extractall(out_dir)
27 | except IOError:
28 | return (False, _("Extract: Failed to read ZIP archive"))
29 | except zipfile.BadZipFile:
30 | return (False, _("Extract: Bad ZIP File"))
31 | except:
32 | return (False, _("Extract: Failed to Extract ZIP File"))
33 |
34 | return (True, None)
35 |
--------------------------------------------------------------------------------