Compare commits

...

105 Commits

Author SHA1 Message Date
ANIGO R. (AR) a0d087be33 🌐 Translated using Weblate (Russian)
Deploy / Extension Bundle (push) Has been cancelled
2022-03-29 20:28:04 +02:00
ANIGO R. (AR) dd80db09e9 🌐 Added translation using Weblate (Russian) 2022-03-29 20:28:04 +02:00
Simon Schneegans 653d680347 💞 Update credits 2022-03-29 20:26:41 +02:00
Simon Schneegans ee584ab15e 📝 Add changelog entry 2022-03-29 20:26:25 +02:00
Simon Schneegans 82e2738f33 💞 Add new sponsor 2022-03-29 17:02:49 +02:00
Simon Schneegans 45d52842cf 📝 Add changelog entries 2022-03-29 11:57:28 +02:00
Simon Schneegans f738f648d8 🔧 Resolve #115 2022-03-29 11:54:39 +02:00
Simon Schneegans 0cf53c5a5d 🪲 Fix #118 (again) 2022-03-29 11:53:54 +02:00
Simon Schneegans 6f5bcc6681 🎉 Bump version number 2022-03-27 13:49:39 +02:00
Simon Schneegans 1a84ad337d 🔥 Undo commit
Deploy / Extension Bundle (push) Has been cancelled
2022-03-27 13:48:08 +02:00
Simon Schneegans 6a003f8bfb 📝 Add changelog entry 2022-03-27 13:45:07 +02:00
Simon Schneegans adc906006b 💞 Update credits 2022-03-27 13:44:17 +02:00
Simon Schneegans 9b46b9b009 📝 Set release date 2022-03-27 13:38:08 +02:00
Simon Schneegans d24dc6030d 📝 Add changelog entry 2022-03-27 13:23:23 +02:00
Simon Schneegans 26e4a32fe4 🪲 Fix version check 2022-03-27 13:23:12 +02:00
Simon Schneegans 376a3899e9 🔥 Remove liberapay donation option 2022-03-27 07:32:46 +02:00
Simon Schneegans 486f6b4c74 🔧 Use new version of dynamic badges action 2022-03-27 06:56:10 +02:00
Muha Aliss c43579974d 🌐 Translated using Weblate (Turkish) 2022-03-21 07:25:53 +01:00
Muha Aliss fbd02bb22c 🌐 Added translation using Weblate (Turkish) 2022-03-21 07:25:53 +01:00
Adolfo Jayme Barrientos beddd689c7 🌐 Translated using Weblate (Spanish) 2022-03-16 10:54:50 +01:00
Simon Schneegans 77310f9e65 ✨ Tweak clang-format style 2022-03-04 20:39:12 +01:00
刘韬 28c1cb6d72 🌐 Translated using Weblate (Chinese (Simplified)) 2022-03-04 05:04:22 +01:00
刘韬 9bdcea1dea 🌐 Translated using Weblate (Chinese (Simplified)) 2022-03-04 05:04:22 +01:00
刘韬 5e737ffd3a 🌐 Added translation using Weblate (Chinese (Simplified)) 2022-03-04 05:04:22 +01:00
Simon Schneegans 474f6cff25 🔀 Merge pull request #113 from Schneegans/feature/advanced-ci 2022-03-04 04:53:36 +01:00
Simon Schneegans 35c91cf925 🔧 Fix shellcheck issue [run-ci] 2022-03-03 21:31:51 +01:00
Simon Schneegans 0facae304b 🔧 Use imagemagick for comparisons [run-ci] 2022-03-03 21:25:47 +01:00
Simon Schneegans 31fa0f54bd 📝 Fix comment 2022-03-03 21:25:25 +01:00
Simon Schneegans 6c2f9d1553 🎉 Add reference generator script [run-ci] 2022-03-03 20:20:57 +01:00
Simon Schneegans 81a0e18c79 🔧 Tweak fuzzyness 2022-03-03 20:20:38 +01:00
Simon Schneegans 3caf2a176d 🎉 Add advanced CI tests [run-ci] 2022-03-03 20:01:37 +01:00
Simon Schneegans b48b6bb39b 📝 Add changelog entry 2022-03-03 20:00:36 +01:00
Simon Schneegans 69aadfd643 🎉 Add test mode 2022-03-03 20:00:24 +01:00
Simon Schneegans 59c01999b2 🔧 Update action version 2022-03-01 20:45:55 +01:00
Simon Schneegans c431437c34 🔧 Use more generic makefile 2022-03-01 16:05:09 +01:00
Simon Schneegans 312be215a0 🎉 Run tests on GNOME 42 as well 2022-02-28 21:21:33 +01:00
albanobattistella e1fcfb5d25 🌐 Translated using Weblate (Italian) 2022-02-28 20:04:14 +01:00
Simon Schneegans 4410aeac3b 📝 Add video teaser 2022-02-27 21:31:17 +01:00
Simon Schneegans f77aeded5e 🎨 Add teaser image 2022-02-27 21:30:55 +01:00
Heimen Stoffels 1d0dd3e8da 🌐 Translated using Weblate (Dutch) 2022-02-23 07:44:05 +01:00
Ulices cc916886c5 🌐 Translated using Weblate (Spanish) 2022-02-23 07:44:05 +01:00
albanobattistella 41648f2496 🌐 Translated using Weblate (Italian) 2022-02-23 07:44:05 +01:00
Nathan 8b79995723 🌐 Translated using Weblate (French) 2022-02-23 07:44:05 +01:00
Simon Schneegans f35cda20a8 📝 Set release date 2022-02-19 13:20:16 +01:00
Simon Schneegans 73c237aaa4 🎉 Bump version number 2022-02-19 13:19:40 +01:00
Simon Schneegans 2cc1c9655e 💞 Update credits
Deploy / Extension Bundle (push) Has been cancelled
2022-02-19 12:58:51 +01:00
Simon Schneegans e47c85e365 🌐 Translated using Weblate (German) 2022-02-18 20:40:36 +01:00
Hosted Weblate b8a0a158d8 🌐 Update translation files 2022-02-18 20:40:36 +01:00
Simon Schneegans 29ea1de206 🌐 Update translation template 2022-02-18 20:34:38 +01:00
Simon Schneegans 2637390557 📝 Add changelog entry 2022-02-18 20:32:48 +01:00
Simon Schneegans 9b513f7e2b 🔀 Merge pull request #104 from Schneegans/feature/gnome-42
GNOME Shell 42
2022-02-18 20:31:17 +01:00
Simon Schneegans 97fe06a98f 📝 Add changelog entry 2022-02-18 20:23:25 +01:00
Simon Schneegans 1a3568e80d 💄 Fix margin 2022-02-18 20:21:10 +01:00
Simon Schneegans 62363d7bd9 Merge branch 'main' into feature/gnome-42 2022-02-18 20:18:10 +01:00
Simon Schneegans ecdb6d605f 🔧 Add liberapay link 2022-02-18 20:17:51 +01:00
Simon Schneegans 41fcaf04ff 🔧 Use libadwaita for the settings dialog 2022-02-18 17:43:40 +01:00
Simon Schneegans 0886007e98 🔧 Support alpha and beta versions in version check 2022-02-18 17:24:10 +01:00
Simon Schneegans 4a82e7f580 🔧 Add liberapay funding method 2022-02-17 13:58:33 +01:00
Mario 78d30e82c6 🌐 Translated using Weblate (Italian) 2022-02-14 13:05:55 +01:00
Simon Schneegans 664bd3b5dc 💞 Add new sponsor 2022-02-14 13:02:38 +01:00
Ulices 737e88a23b 🌐 Translated using Weblate (Spanish) 2022-02-09 20:03:30 +01:00
Heimen Stoffels 6d10c6f031 🌐 Translated using Weblate (Dutch) 2022-02-05 13:55:25 +01:00
albanobattistella 1fb5e8584a 🌐 Translated using Weblate (Italian) 2022-02-05 13:55:25 +01:00
Reda 563d72531e 🌐 Translated using Weblate (French) 2022-02-05 13:55:25 +01:00
Simon Schneegans 39baed1b29 💞 Add new sponsor 2022-02-04 20:42:02 +01:00
Simon Schneegans 318558240c 🔀 Merge pull request #96 from shemgp/patch-1 2022-02-04 14:09:46 +01:00
Shem Pasamba bda68175a0 Add version 42 since it works there 2022-02-04 13:55:35 +08:00
Simon Schneegans 3a37aa3dce 🎉 Bump version number 2022-02-03 13:20:36 +01:00
Simon Schneegans ef2bef9f87 📝 Set release date
Deploy / Extension Bundle (push) Has been cancelled
2022-02-03 13:16:38 +01:00
Simon Schneegans c99ea6617e 🌐 Translated using Weblate (German) 2022-02-03 13:14:27 +01:00
Hosted Weblate c7c4f18af6 🌐 Update translation files 2022-02-03 13:14:27 +01:00
Simon Schneegans ff1490f8c6 🌐 Update translation template 2022-02-03 13:11:47 +01:00
Simon Schneegans 0be73d8b2f 💄 Remove tagline 2022-02-03 13:11:36 +01:00
Simon Schneegans 9266655493 🔀 Merge pull request #94 from Schneegans/feature/better-templates 2022-02-03 13:06:12 +01:00
Simon Schneegans 513bbd8b85 📝 Add changelog entry 2022-02-03 12:56:23 +01:00
Simon Schneegans 6c891a60e7 📝 Add new-effect template 2022-02-03 12:56:12 +01:00
Simon Schneegans 2115c31359 📝 Improve feature request template 2022-02-03 12:46:02 +01:00
Simon Schneegans 855f8870e3 📝 Improve bug report template 2022-02-03 12:42:08 +01:00
Ulices 16d7e3c195 🌐 Translated using Weblate (Spanish) 2022-02-03 09:56:29 +01:00
Heimen Stoffels 5133f82041 🌐 Translated using Weblate (Dutch) 2022-02-03 09:56:29 +01:00
Jiří Doubravský 91a60e9813 🌐 Translated using Weblate (Czech) 2022-02-03 09:56:29 +01:00
Óscar Fernández Díaz 511e447f24 🌐 Translated using Weblate (Spanish) 2022-02-03 09:56:29 +01:00
albanobattistella 31e8cf9405 🌐 Translated using Weblate (Italian) 2022-02-03 09:56:29 +01:00
Reda 0fd8832b36 🌐 Translated using Weblate (French) 2022-02-03 09:56:29 +01:00
Simon Schneegans f111a6c3bb 💞 Add new sponsor 2022-02-02 15:53:51 +01:00
Simon Schneegans eb1d8f6ac6 📝 Add changelog entry 2022-02-02 14:43:47 +01:00
Simon Schneegans d05635b9c2 Merge branch 'main' of github.com:Schneegans/Burn-My-Windows 2022-02-02 14:42:57 +01:00
Simon Schneegans dad19c5505 🔀 Merge pull request #87 from Schneegans/fix/#86 2022-02-02 14:42:36 +01:00
Simon Schneegans 5406c88a7b 🔧 Add about dialog 2022-02-02 14:40:38 +01:00
Simon Schneegans 39f79507ac 🔧 Tweak tagline 2022-02-02 14:39:08 +01:00
Simon Schneegans 78ff080dce 💞 Add credits files 2022-02-02 14:38:54 +01:00
Simon Schneegans 6d85ce893b 📝 Add changelog entry 2022-02-02 13:13:29 +01:00
Simon Schneegans f9b82c6086 🪲 Try fixing #86 2022-02-02 13:13:16 +01:00
Heimen Stoffels 432a0a7998 🌐 Added translation using Weblate (Dutch) 2022-02-02 13:08:23 +01:00
Simon Schneegans e22eb79ccd 📝 Add trailer link 2022-02-01 16:06:41 +01:00
Jiří Doubravský d92183eff4 🌐 Added translation using Weblate (Czech) 2022-02-01 15:58:36 +01:00
Nathan 92fe4d0179 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Reda 6e1a643e22 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Óscar Fernández Díaz 207d79c66c 🌐 Added translation using Weblate (Spanish) 2022-02-01 15:58:36 +01:00
Théo Remon 88c9dacb31 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Nathan a9493a6765 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Théo Remon fdea3cd148 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Nathan 79851e9eca 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Théo Remon c993e02447 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Simon Schneegans ee12f50d85 🎉 Bump version number 2022-01-31 05:59:55 +01:00
196 changed files with 62283 additions and 876 deletions
+2
View File
@@ -1,4 +1,6 @@
BasedOnStyle: Google BasedOnStyle: Google
AlignConsecutiveAssignments: true AlignConsecutiveAssignments: true
AlignAfterOpenBracket: Align
ContinuationIndentWidth: 2
KeepEmptyLinesAtTheStartOfBlocks: true KeepEmptyLinesAtTheStartOfBlocks: true
ColumnLimit: 90 ColumnLimit: 90
+1 -1
View File
@@ -6,7 +6,7 @@ open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username liberapay: # Schneegans
issuehunt: # Replace with a single IssueHunt username issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username otechie: # Replace with a single Otechie username
custom: ['https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE'] custom: ['https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE']
+3 -4
View File
@@ -17,14 +17,13 @@ Steps to reproduce the behavior:
4. See error 4. See error
You may also check the output of GNOME Shell for any error messages. You may also check the output of GNOME Shell for any error messages.
This can be done with the following terminal command: This can be done with the following terminal command.
Execute this in a terminal and observe the output while reproducing the bug.
```bash
journalctl -f -o cat | grep -E 'burn-my-windows|' journalctl -f -o cat | grep -E 'burn-my-windows|'
``` ```
## Expected Behavior
A clear and concise description of what you expected to happen.
## System ## System
_Please complete the following information:_ _Please complete the following information:_
- Linux distribution [e.g. Ubuntu 21.04] - Linux distribution [e.g. Ubuntu 21.04]
+6 -8
View File
@@ -1,16 +1,14 @@
--- ---
name: Feature Request name: General Feature Request
about: Suggest an idea for the Burn-My-Windows Extension. about: Suggest an idea for the Burn-My-Windows Extension.
title: '' title: ''
labels: enhancement labels: 'feature request'
assignees: '' assignees: ''
--- ---
## The Motivation ## The Idea
A clear and concise description of use-case. A clear and concise description of your idea.
If applicable, feel free to add screenshots or mock-ups to illustrate your idea!
## The Solution
A clear and concise description of what you want to happen.
## The Alternatives ## The Alternatives
A clear and concise description of any alternative solutions or features you've considered. Are there alternative solutions or features you've considered?
+17
View File
@@ -0,0 +1,17 @@
---
name: New Effect
about: Suggest a new effect for the Burn-My-Windows Extension.
title: ''
labels: 'new effect'
assignees: ''
---
## The Idea
Please describe your idea as detailed as possible.
It would be great if you could add a drawing or any other kind of mock-up to illustrate your idea!
## Window Closing vs. Window Opening
Make sure to describe how the effect could be reversed, so how should a window disappear and how should it appear.
## References
It would be great if you could provide some video references (e.g. YouTube links) if your idea is based on something which - for example - exists in movies.
+2 -2
View File
@@ -19,7 +19,7 @@ jobs:
echo "CODE_LINES=$(scripts/cloc.sh --loc)" >> $GITHUB_ENV echo "CODE_LINES=$(scripts/cloc.sh --loc)" >> $GITHUB_ENV
echo "COMMENT_LINES=$(scripts/cloc.sh --percentage)%" >> $GITHUB_ENV echo "COMMENT_LINES=$(scripts/cloc.sh --percentage)%" >> $GITHUB_ENV
- name: Create Lines-of-Code-Badge - name: Create Lines-of-Code-Badge
uses: schneegans/dynamic-badges-action@v1.1.0 uses: schneegans/dynamic-badges-action@v1.2.0
with: with:
auth: ${{ secrets.GIST_SECRET }} auth: ${{ secrets.GIST_SECRET }}
gistID: 8cf45f23253ff09b21196e7271378762 gistID: 8cf45f23253ff09b21196e7271378762
@@ -29,7 +29,7 @@ jobs:
color: lightgrey color: lightgrey
labelColor: 303030 labelColor: 303030
- name: Create Comments-Badge - name: Create Comments-Badge
uses: schneegans/dynamic-badges-action@v1.1.0 uses: schneegans/dynamic-badges-action@v1.2.0
with: with:
auth: ${{ secrets.GIST_SECRET }} auth: ${{ secrets.GIST_SECRET }}
gistID: 8cf45f23253ff09b21196e7271378762 gistID: 8cf45f23253ff09b21196e7271378762
+1
View File
@@ -84,6 +84,7 @@ jobs:
- '33' - '33'
- '34' - '34'
- '35' - '35'
- '36'
session: session:
- 'gnome-xsession' - 'gnome-xsession'
- 'gnome-wayland-nested' - 'gnome-wayland-nested'
+2 -3
View File
@@ -6,7 +6,7 @@ on:
- '**' - '**'
jobs: jobs:
source_code: extension_bundle:
name: Extension Bundle name: Extension Bundle
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@@ -20,10 +20,9 @@ jobs:
run: | run: |
make zip make zip
- name: Upload Release - name: Upload Release
uses: svenstaro/upload-release-action@v1-release uses: svenstaro/upload-release-action@2.2.1
with: with:
repo_token: ${{ secrets.GITHUB_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }}
file: burn-my-windows@schneegans.github.com.zip file: burn-my-windows@schneegans.github.com.zip
asset_name: burn-my-windows@schneegans.github.com.zip
tag: ${{ github.ref }} tag: ${{ github.ref }}
overwrite: true overwrite: true
+85 -48
View File
@@ -1,74 +1,111 @@
SHELL := /bin/bash SHELL := /bin/bash
JS_FILES = $(shell find -type f -and \( -name "*.js" \)) # We define these here to make the makefile easier to port to another extension.
UI_FILES = $(shell find -type f -and \( -name "*.ui" \)) NAME := burn-my-windows
DOMAIN := schneegans.github.com
ZIP_NAME := $(NAME)@$(DOMAIN).zip
# Some of the recipes below depend on some of these files.
JS_FILES = $(shell find -type f -and \( -name "*.js" \))
UI_FILES = $(shell find -type f -and \( -name "*.ui" \))
RESOURCE_FILES = $(shell find resources -mindepth 2 -type f) RESOURCE_FILES = $(shell find resources -mindepth 2 -type f)
LOCALES_PO = $(wildcard po/*.po)
LOCALES_MO = $(patsubst po/%.po,locale/%/LC_MESSAGES/$(NAME).mo,$(LOCALES_PO))
LOCALES_PO = $(wildcard po/*.po) # These files will be included in the extension zip file.
LOCALES_MO = $(patsubst po/%.po,locale/%/LC_MESSAGES/burn-my-windows.mo,$(LOCALES_PO)) ZIP_CONTENT = $(JS_FILES) $(LOCALES_MO) resources/$(NAME).gresource \
schemas/gschemas.compiled metadata.json LICENSE
.PHONY: zip install uninstall all-po pot clean # These seven recipes can be invoked by the user.
.PHONY: zip install uninstall pot clean test references
zip: burn-my-windows@schneegans.github.com.zip # The zip recipes only bundles the extension without installing it.
zip: $(ZIP_NAME)
install: burn-my-windows@schneegans.github.com.zip # The install recipes creates the extension zip and installs it.
gnome-extensions install "burn-my-windows@schneegans.github.com.zip" --force install: $(ZIP_NAME)
gnome-extensions install "$(ZIP_NAME)" --force
@echo "Extension installed successfully! Now restart the Shell ('Alt'+'F2', then 'r')." @echo "Extension installed successfully! Now restart the Shell ('Alt'+'F2', then 'r')."
# This uninstalls the previously installed extension.
uninstall: uninstall:
gnome-extensions uninstall "burn-my-windows@schneegans.github.com" gnome-extensions uninstall "$(NAME)@$(DOMAIN)"
all-po: $(LOCALES_PO)
# Use gettext to generate a translation template file.
pot: $(JS_FILES) $(UI_FILES) pot: $(JS_FILES) $(UI_FILES)
@echo "Generating 'burn-my-windows.pot'..." @echo "Generating '$(NAME).pot'..."
@xgettext --from-code=UTF-8 \ @xgettext --from-code=UTF-8 \
--add-comments=Translators \ --add-comments=Translators \
--copyright-holder="Simon Schneegans" \ --copyright-holder="Simon Schneegans" \
--package-name="Burn-My-Windows" \ --package-name="$(NAME)" \
--output=po/burn-my-windows.pot \ --output=po/$(NAME).pot \
$(JS_FILES) $(UI_FILES) $(JS_FILES) $(UI_FILES)
# This runs several tests in containerized versions of GNOME Shell.
test:
@ for version in 32 33 34 35 36 ; do \
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
echo ; \
echo "Running Tests on Fedora $$version ($$session)." ; \
echo ; \
./tests/run-test.sh -s $$session -v $$version ; \
done \
done
# This re-generates all reference images required by the tests.
references:
@ for version in 32 33 34 35 36 ; do \
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
echo ; \
echo "Generating References for Fedora $$version ($$session)." ; \
echo ; \
./tests/generate-references.sh -s $$session -v $$version ; \
done \
done
# This removes all temporary files created with the other recipes.
clean: clean:
rm -rf \ rm -rf $(ZIP_NAME) \
burn-my-windows@schneegans.github.com.zip \ resources/$(NAME).gresource \
resources/burn-my-windows.gresource \ resources/$(NAME).gresource.xml \
resources/burn-my-windows.gresource.xml \ schemas/gschemas.compiled \
schemas/gschemas.compiled \ locale
locale \
ui/*.ui~ \
po/*.po~
burn-my-windows@schneegans.github.com.zip: schemas/gschemas.compiled resources/burn-my-windows.gresource $(JS_FILES) $(LOCALES_MO) # This bundles the extension and checks whether it is small enough to be uploaded to
# extensions.gnome.org. We do not use "gnome-extensions pack" for this, as this is not
# readily available on the GitHub runners.
$(ZIP_NAME): $(ZIP_CONTENT)
@echo "Packing zip file..." @echo "Packing zip file..."
@rm --force burn-my-windows@schneegans.github.com.zip @rm --force $(ZIP_NAME)
@zip -r burn-my-windows@schneegans.github.com.zip -- *.js src/*.js resources/burn-my-windows.gresource schemas/gschemas.compiled $(LOCALES_MO) metadata.json LICENSE @zip $(ZIP_NAME) -- $(ZIP_CONTENT)
@#Check if the zip size is too big to be uploaded @#Check if the zip size is too big to be uploaded
@if [[ "$$(stat -c %s burn-my-windows@schneegans.github.com.zip)" -gt 4096000 ]]; then \ @SIZE=$$(unzip -Zt $(ZIP_NAME) | awk '{print $$3}') ; \
echo "ERROR! The extension is too big to be uploaded to the extensions website, keep it smaller than 4096 KB!"; exit 1; \ if [[ $$SIZE -gt 5242880 ]]; then \
fi echo "ERROR! The extension is too big to be uploaded to" \
"the extensions website, keep it smaller than 5 MB!"; \
exit 1; \
fi
resources/burn-my-windows.gresource: resources/burn-my-windows.gresource.xml # Compiles the gschemas.compiled file from the gschema.xml file.
@echo "Compiling resources..." schemas/gschemas.compiled: schemas/org.gnome.shell.extensions.$(NAME).gschema.xml
@glib-compile-resources --sourcedir="resources" --generate resources/burn-my-windows.gresource.xml
resources/burn-my-windows.gresource.xml: $(RESOURCE_FILES)
@echo "Creating resources xml..."
@FILES=$$(find "resources" -mindepth 2 -type f -printf "%P\n" | xargs -i echo "<file>{}</file>") ; \
echo "<?xml version='1.0' encoding='UTF-8'?><gresources><gresource> $$FILES </gresource></gresources>" > resources/burn-my-windows.gresource.xml
schemas/gschemas.compiled: schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml
@echo "Compiling schemas..." @echo "Compiling schemas..."
@glib-compile-schemas schemas @glib-compile-schemas schemas
locale/%/LC_MESSAGES/burn-my-windows.mo: po/%.po # Compiles the gresource file from the gresources.xml.
resources/$(NAME).gresource: resources/$(NAME).gresource.xml
@echo "Compiling resources..."
@glib-compile-resources --sourcedir="resources" --generate resources/$(NAME).gresource.xml
# Generates the gresources.xml based on all files in the resources subdirectory.
resources/$(NAME).gresource.xml: $(RESOURCE_FILES)
@echo "Creating resources xml..."
@FILES=$$(find "resources" -mindepth 2 -type f -printf "%P\n" | xargs -i echo "<file>{}</file>") ; \
echo "<?xml version='1.0' encoding='UTF-8'?><gresources><gresource> $$FILES </gresource></gresources>" \
> resources/$(NAME).gresource.xml
# Compiles all *.po files to *.mo files.
locale/%/LC_MESSAGES/$(NAME).mo: po/%.po
@echo "Compiling $@" @echo "Compiling $@"
@mkdir -p locale/$*/LC_MESSAGES @mkdir -p locale/$*/LC_MESSAGES
@msgfmt -c -o $@ $< @msgfmt -c -o $@ $<
po/%.po:
@echo "Updating $@"
msgmerge --previous --update $@ po/burn-my-windows.pot
@# Output translation progress
@msgfmt --check --verbose --output-file=/dev/null $@
+8 -1
View File
@@ -1,3 +1,7 @@
<p align="center">
<a href="https://www.youtube.com/watch?v=L2aaNF_rPHo"><img src ="docs/pics/teaser.jpg" /></a>
</p>
<h1 align="center">🔥 Set GNOME Shell on Fire!</h1> <h1 align="center">🔥 Set GNOME Shell on Fire!</h1>
<p align="center"> <p align="center">
@@ -39,17 +43,20 @@ While [coding new features](docs/how-to-create-new-effects.md) or [translating t
<h3 align="center">🥈 Current Silver Sponsors</h3> <h3 align="center">🥈 Current Silver Sponsors</h3>
<p align="center"> <p align="center">
<a href="https://twitter.com/tjiiik">tj3k</a><br>
<a href="https://github.com/MRR-dev">@MRR-dev</a><br> <a href="https://github.com/MRR-dev">@MRR-dev</a><br>
<a href="https://github.com/castrojo">Jorge Castro</a><br> <a href="https://github.com/castrojo">Jorge Castro</a><br>
</p> </p>
<h3 align="center">🥉 Current Bronze Sponsors</h3> <h3 align="center">🥉 Current Bronze Sponsors</h3>
<p align="center"> <p align="center">
<a href="https://github.com/sponsors/Schneegans">Be the first!</a> <a href="https://github.com/danielheadbang">@danielheadbang</a><br>
</p> </p>
<h3 align="center">🏅 Previous Sponsors and One-Time Donators</h3> <h3 align="center">🏅 Previous Sponsors and One-Time Donators</h3>
<p align="center"> <p align="center">
<a href="https://github.com/MrTomRod">@MrTomRod</a><br>
Pouhiou<br>
DAPREMONT Christophe<br> DAPREMONT Christophe<br>
<a href="https://github.com/manero6">@manero6</a><br> <a href="https://github.com/manero6">@manero6</a><br>
<a href="https://github.com/RickStanley">@RickStanley</a><br> <a href="https://github.com/RickStanley">@RickStanley</a><br>
+3795
View File
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 968 KiB

+54986
View File
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.1 MiB

+71
View File
@@ -1,11 +1,82 @@
# Changelog of the Burn-My-Windows Extension # Changelog of the Burn-My-Windows Extension
## [Burn My Window 14](https://github.com/schneegans/Burn-My-Windows/releases/tag/v14)
**Release Date:** 2022-03-29
#### Enhancements
* Reduced the lower animation time limits for all effects to 100 ms. This should now allow for very snappy animations!
* A completely new Russian translation. Thank you, ANIGO R.!
#### Bug Fixes
* Fixed the version check for GNOME Shell `42.rc` (before it only worked on `42.alpha` and `42.beta`)
## [Burn My Window 13](https://github.com/schneegans/Burn-My-Windows/releases/tag/v13)
**Release Date:** 2022-03-27
#### Enhancements
* The continuous integration tests have been significantly enhanced. Now, all window-open and window-close animations are visually tested on all supported GNOME versions and on X11 / Wayland (summing up to a total of 136 test cases).
* Many translation updates, including a completely new Turkish and Chinese translation. A BIG THANKS to all translators!
#### Other Changes
* Removed the Liberapay donation option as it does not work properly.
#### Bug Fixes
* Fixed the version check for GNOME Shell 42.
## [Burn My Window 12](https://github.com/schneegans/Burn-My-Windows/releases/tag/v12)
**Release Date:** 2022-02-19
#### New Features
* Added initial support for GNOME Shell 42.
* The preferences dialog now uses libadwaita on GNOME Shell 42.
#### Enhancements
* Added [Liberapay](https://liberapay.com/Schneegans) to the sponsorship options.
## [Burn My Window 11](https://github.com/schneegans/Burn-My-Windows/releases/tag/v11)
**Release Date:** 2022-02-03
#### New Features
* Added an about-dialog which shows all translators and sponsors.
#### Enhancements
* There are several new translations! Thanks a lot to all the translators! We now have translations for:
* German
* English
* Czech
* Dutch
* French
* Italian
* Norwegian Bokmål
* Spanish
* A new issue template for suggesting new effects has been added.
#### Fixes
* Fixed an issue which caused corrupted windows when trying to maximize windows while the window-open animation was still running (#82, #86, #91).
## [Burn My Window 10](https://github.com/schneegans/Burn-My-Windows/releases/tag/v10) ## [Burn My Window 10](https://github.com/schneegans/Burn-My-Windows/releases/tag/v10)
**Release Date:** 2022-01-31 **Release Date:** 2022-01-31
#### New Features #### New Features
<a href="https://youtu.be/L2aaNF_rPHo"><img align="right" src ="pics/bmw10.jpg" /></a>
* **Effects for Window Opening.** You can now select effects which are applied on newly opened windows! I expect that there are some bugs left, so please [report any issue you find](https://github.com/Schneegans/Burn-My-Windows/issues)! * **Effects for Window Opening.** You can now select effects which are applied on newly opened windows! I expect that there are some bugs left, so please [report any issue you find](https://github.com/Schneegans/Burn-My-Windows/issues)!
* **New Effect: Broken Glass.** Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position! * **New Effect: Broken Glass.** Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!
* **Preview Buttons** have been added to the effect-configuration pages of the preferences dialog. These can be used to, well, preview the current settings (without having to enable the effect first). * **Preview Buttons** have been added to the effect-configuration pages of the preferences dialog. These can be used to, well, preview the current settings (without having to enable the effect first).
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

+40 -30
View File
@@ -101,26 +101,26 @@ class Extension {
// anyways, we override the actors ease() method once - the next time it will be // anyways, we override the actors ease() method once - the next time it will be
// called by the _mapWindow(), we will intercept it! // called by the _mapWindow(), we will intercept it!
this._windowCreatedConnection = this._windowCreatedConnection =
global.display.connect('window-created', (d, metaWin) => { global.display.connect('window-created', (d, metaWin) => {
let actor = metaWin.get_compositor_private(); let actor = metaWin.get_compositor_private();
const orig = actor.ease; const orig = actor.ease;
actor.ease = function(...params) { actor.ease = function(...params) {
orig.apply(actor, params); orig.apply(actor, params);
actor.ease = orig; actor.ease = orig;
// There are cases where the ease() is called prior to mapping the actor. If // There are cases where the ease() is called prior to mapping the actor. If
// the actor is not yet mapped, we defer the effect creation. // the actor is not yet mapped, we defer the effect creation.
if (actor.mapped) { if (actor.mapped) {
extensionThis._setupEffect(actor, true);
} else {
const connectionID = actor.connect('notify::mapped', () => {
extensionThis._setupEffect(actor, true); extensionThis._setupEffect(actor, true);
} else { actor.disconnect(connectionID);
const connectionID = actor.connect('notify::mapped', () => { });
extensionThis._setupEffect(actor, true); }
actor.disconnect(connectionID); };
}); });
}
};
});
// Some of the effects require that the window's actor is enlarged to provide a bigger // Some of the effects require that the window's actor is enlarged to provide a bigger
// canvas to draw the effects. Outside the overview we can simply increase the scale // canvas to draw the effects. Outside the overview we can simply increase the scale
@@ -324,8 +324,8 @@ class Extension {
// Only add effects to normal windows and dialog windows. // Only add effects to normal windows and dialog windows.
const isNormalWindow = actor.meta_window.window_type == Meta.WindowType.NORMAL; const isNormalWindow = actor.meta_window.window_type == Meta.WindowType.NORMAL;
const isDialogWindow = const isDialogWindow =
actor.meta_window.window_type == Meta.WindowType.MODAL_DIALOG || actor.meta_window.window_type == Meta.WindowType.MODAL_DIALOG ||
actor.meta_window.window_type == Meta.WindowType.DIALOG; actor.meta_window.window_type == Meta.WindowType.DIALOG;
if (!isNormalWindow && !isDialogWindow) { if (!isNormalWindow && !isDialogWindow) {
return; return;
@@ -381,12 +381,17 @@ class Extension {
// ----------------------------------------------------------- tweak actor transitions // ----------------------------------------------------------- tweak actor transitions
// If we are currently performing integration test, all animations are set to a fixed
// duration and show a fixed frame from the middle of the animation.
const testMode = this._settings.get_boolean('test-mode');
// The following is used to tweak the ongoing transitions of a window actor. Usually // The following is used to tweak the ongoing transitions of a window actor. Usually
// windows are faded in / out scaled up / down slightly by GNOME Shell. Here, we allow // windows are faded in / out scaled up / down slightly by GNOME Shell. Here, we allow
// modifications to this behavior by the effects. // modifications to this behavior by the effects.
const config = this._currentEffect.tweakTransition(actor, this._settings, forOpening); const config = this._currentEffect.tweakTransition(actor, this._settings, forOpening);
const duration = const duration = testMode ?
this._settings.get_int(this._currentEffect.getNick() + '-animation-time'); 5000 :
this._settings.get_int(this._currentEffect.getNick() + '-animation-time');
// All animations are relative to the window's center. // All animations are relative to the window's center.
actor.set_pivot_point(0.5, 0.5); actor.set_pivot_point(0.5, 0.5);
@@ -416,9 +421,10 @@ class Extension {
// Tweak the transition according to the config object. For some reason, there are // Tweak the transition according to the config object. For some reason, there are
// rare cases, where no transition is set up. This happens from time to time... // rare cases, where no transition is set up. This happens from time to time...
if (transition) { if (transition) {
const middle = (config[property].to + config[property].from) / 2;
transition.set_duration(duration); transition.set_duration(duration);
transition.set_to(config[property].to); transition.set_to(testMode ? middle : config[property].to);
transition.set_from(config[property].from); transition.set_from(testMode ? middle : config[property].from);
transition.set_progress_mode(config[property].mode); transition.set_progress_mode(config[property].mode);
} }
} }
@@ -454,15 +460,19 @@ class Extension {
// Update uniforms at each frame. // Update uniforms at each frame.
transition.connect('new-frame', (t) => { transition.connect('new-frame', (t) => {
shader.set_uniform_value('uProgress', t.get_progress()); shader.set_uniform_value('uProgress', testMode ? 0.5 : t.get_progress());
shader.set_uniform_value('uTime', 0.001 * t.get_elapsed_time()); shader.set_uniform_value('uTime',
testMode ? duration / 2 : 0.001 * t.get_elapsed_time());
shader.set_uniform_value('uSizeX', actor.width); shader.set_uniform_value('uSizeX', actor.width);
shader.set_uniform_value('uSizeY', actor.height); shader.set_uniform_value('uSizeY', actor.height);
}); });
transition.connect('completed', () => { // Remove the effect if the animation finished or was interrupted.
actor.remove_effect_by_name(`burn-my-windows-effect`); if (forOpening) {
}); transition.connect('stopped', () => {
actor.remove_effect_by_name(`burn-my-windows-effect`);
});
}
} }
// Finally, ensure that all animation times are set properly so that other extensions // Finally, ensure that all animation times are set properly so that other extensions
@@ -481,10 +491,10 @@ class Extension {
if (!forOpening) { if (!forOpening) {
if (isDialogWindow) { if (isDialogWindow) {
imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME = imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME =
duration != null ? duration : this._origDialogTime; duration != null ? duration : this._origDialogTime;
} else { } else {
imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME = imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME =
duration != null ? duration : this._origWindowTime; duration != null ? duration : this._origWindowTime;
} }
} }
} }
+4 -3
View File
@@ -1,6 +1,6 @@
{ {
"uuid": "burn-my-windows@schneegans.github.com", "uuid": "burn-my-windows@schneegans.github.com",
"description": "Disintegrate your apps with style.", "description": "Disintegrate your windows with style.",
"name": "Burn My Windows", "name": "Burn My Windows",
"gettext-domain": "burn-my-windows", "gettext-domain": "burn-my-windows",
"settings-schema": "org.gnome.shell.extensions.burn-my-windows", "settings-schema": "org.gnome.shell.extensions.burn-my-windows",
@@ -8,8 +8,9 @@
"3.36", "3.36",
"3.38", "3.38",
"40", "40",
"41" "41",
"42"
], ],
"url": "https://github.com/Schneegans/Burn-My-Windows", "url": "https://github.com/Schneegans/Burn-My-Windows",
"version": 10 "version": 14
} }
+45 -25
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Burn-My-Windows\n" "Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-29 05:40+0100\n" "POT-Creation-Date: 2022-02-18 20:33+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,13 +17,41 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n" "Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: prefs.js:111
msgid "Effect Options"
msgstr ""
#: prefs.js:139
msgid "Go Back"
msgstr ""
#: prefs.js:181
msgid "General Options"
msgstr ""
#: prefs.js:276
msgid "Gold Sponsors"
msgstr ""
#: prefs.js:279
msgid "Silver Sponsors"
msgstr ""
#: prefs.js:282
msgid "Bronze Sponsors"
msgstr ""
#: prefs.js:285
msgid "Past Sponsors"
msgstr ""
#. Translators: %s will be replaced by the effect's name. #. Translators: %s will be replaced by the effect's name.
#: prefs.js:337 #: prefs.js:512
#, javascript-format #, javascript-format
msgid "Preview for %s" msgid "Preview for %s"
msgstr "" msgstr ""
#: prefs.js:359 #: prefs.js:534
msgid "Close this Window to Preview the Effect!" msgid "Close this Window to Preview the Effect!"
msgstr "" msgstr ""
@@ -103,12 +131,8 @@ msgstr ""
msgid "Donate" msgid "Donate"
msgstr "" msgstr ""
#: resources/ui/common/main-menu.ui:30 #: resources/ui/common/main-menu.ui:45
msgid "Via PayPal" msgid "About Burn-My-Windows"
msgstr ""
#: resources/ui/common/main-menu.ui:34
msgid "Via GitHub"
msgstr "" msgstr ""
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24 #: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
@@ -137,7 +161,7 @@ msgstr ""
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98 #: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52 #: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132 #: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:185 resources/ui/gtk3/Wisps.ui:68 #: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160 #: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167 #: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277 #: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
@@ -145,7 +169,7 @@ msgstr ""
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68 #: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160 #: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117 #: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:233 #: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
msgid "Reset to Default Value" msgid "Reset to Default Value"
msgstr "" msgstr ""
@@ -234,41 +258,37 @@ msgstr ""
msgid "Flash Color" msgid "Flash Color"
msgstr "" msgstr ""
#: resources/ui/gtk4/effectPage.ui:41 resources/ui/gtk3/effectPage.ui:41 #: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect" msgid "Preview this Effect"
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:27 resources/ui/gtk3/prefs.ui:251 #: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "General Options"
msgstr ""
#: resources/ui/gtk4/prefs.ui:47 resources/ui/gtk3/prefs.ui:49
msgid "Welcome to Burn-My-Windows!" msgid "Welcome to Burn-My-Windows!"
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:58 resources/ui/gtk3/prefs.ui:60 #: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)" msgid "If you like this extension, recommend it to your friends :)"
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:85 resources/ui/gtk3/prefs.ui:88 #: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation" msgid "Open Window Animation"
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:94 resources/ui/gtk4/prefs.ui:138 #: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:97 resources/ui/gtk3/prefs.ui:161 #: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly." msgid "If multiple are selected, one is chosen randomly."
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:109 resources/ui/gtk4/prefs.ui:153 #: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:118 resources/ui/gtk3/prefs.ui:182 #: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects" msgid "Choose Effects"
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:129 resources/ui/gtk3/prefs.ui:152 #: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation" msgid "Close Window Animation"
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:169 resources/ui/gtk3/prefs.ui:212 #: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs" msgid "Also Add Effects to Dialogs"
msgstr "" msgstr ""
+306
View File
@@ -0,0 +1,306 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Simon Schneegans
# This file is distributed under the same license as the Burn-My-Windows package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
"PO-Revision-Date: 2022-02-02 19:55+0000\n"
"Last-Translator: Jiří Doubravský <jiri.doubravsky@gmail.com>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/burn-my-windows/"
"core/cs/>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.11-dev\n"
#: prefs.js:111
msgid "Effect Options"
msgstr ""
#: prefs.js:139
msgid "Go Back"
msgstr ""
#: prefs.js:181
msgid "General Options"
msgstr "Obecné možnosti"
#: prefs.js:276
msgid "Gold Sponsors"
msgstr ""
#: prefs.js:279
msgid "Silver Sponsors"
msgstr ""
#: prefs.js:282
msgid "Bronze Sponsors"
msgstr ""
#: prefs.js:285
msgid "Past Sponsors"
msgstr ""
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:512
#, javascript-format
msgid "Preview for %s"
msgstr "Náhled %s"
#: prefs.js:534
msgid "Close this Window to Preview the Effect!"
msgstr "Zavřete toto okno, pokud chcete vidět efekt!"
#: src/BrokenGlass.js:57
msgid "Broken Glass"
msgstr "Střepy"
#: src/TVEffect.js:56
msgid "TV Effect"
msgstr "Televize"
#: src/TRexAttack.js:56
msgid "T-Rex Attack"
msgstr "Tyrannosaurus"
#: src/Wisps.js:55
msgid "Wisps"
msgstr "Obláčky"
#: src/Fire.js:58
msgid "Fire"
msgstr "Oheň"
#: src/Fire.js:130
msgid "Default Fire"
msgstr "Výchozí oheň"
#: src/Fire.js:140
msgid "Hell Fire"
msgstr "Pekelný oheň"
#: src/Fire.js:150
msgid "Dark and Smutty"
msgstr "Temný"
#: src/Fire.js:160
msgid "Cold Breeze"
msgstr "Studený vánek"
#: src/Fire.js:170
msgid "Santa is Coming"
msgstr "Santa přichází"
#: src/EnergizeA.js:54
msgid "Energize A"
msgstr "Energizovat A"
#: src/EnergizeB.js:54
msgid "Energize B"
msgstr "Energizovat B"
#: src/Matrix.js:58
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Navštívit web"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Zobrazit historii změn"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Ohlásit chybu"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Vytvořit efekt"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Přeložit"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Přispět"
#: resources/ui/common/main-menu.ui:45
msgid "About Burn-My-Windows"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
#: resources/ui/gtk3/EnergizeB.ui:42
msgid "Animation Time [ms]"
msgstr "Délka animace [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
msgid "Reset to Default Value"
msgstr "Obnovit výchozí hodnoty"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Měřítko"
#: resources/ui/gtk4/Matrix.ui:116
msgid "Randomness"
msgstr "Nahodilost"
#: resources/ui/gtk4/Matrix.ui:162
#, fuzzy
msgid "Vertical Overshooting"
msgstr "Vertikální přestřelení"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Barva ohonu"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Barva hrotu"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Gravitace"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Síla úderu"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Roztříštění od místa ukazatele"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr "Střepy odletí z místa, kde byl ukazatel myši při zavírání okna."
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Barva"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Předvolby"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Rychlost"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "3D šum"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Vytvoří dynamičtejší efekt, ale potřebuje k tomu silnější GPU"
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Přechod"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Velikost škrábanců od drápů"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Počet škrábanců"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Efekt zakřivení"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Barva blesku"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Náhled efektu"
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Vítá Vás Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Pokud se vám líbí tento doplňek, doporučte jej přátelům :-)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Animace při otevírání okna"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Pokud vyberete více, budou se střídat náhodně."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Vyberte efekty"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Animace při zavírání okna"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Použít efekt i na dialogová okna"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Vyberte předvolbu"
#~ msgid "Via PayPal"
#~ msgstr "skrze PayPal"
#~ msgid "Via GitHub"
#~ msgstr "skrze GitHub"
+53 -27
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Burn-My-Windows\n" "Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-29 05:40+0100\n" "POT-Creation-Date: 2022-02-18 20:33+0100\n"
"PO-Revision-Date: 2022-01-29 04:43+0000\n" "PO-Revision-Date: 2022-02-18 19:40+0000\n"
"Last-Translator: Simon Schneegans <code@simonschneegans.de>\n" "Last-Translator: Simon Schneegans <code@simonschneegans.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/burn-my-windows/" "Language-Team: German <https://hosted.weblate.org/projects/burn-my-windows/"
"core/de/>\n" "core/de/>\n"
@@ -19,13 +19,41 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.11-dev\n" "X-Generator: Weblate 4.11-dev\n"
#: prefs.js:111
msgid "Effect Options"
msgstr "Effektoptionen"
#: prefs.js:139
msgid "Go Back"
msgstr "Zurück"
#: prefs.js:181
msgid "General Options"
msgstr "Allgemeine Optionen"
#: prefs.js:276
msgid "Gold Sponsors"
msgstr "Gold-Sponsoren"
#: prefs.js:279
msgid "Silver Sponsors"
msgstr "Silber-Sponsoren"
#: prefs.js:282
msgid "Bronze Sponsors"
msgstr "Bronze-Sponsoren"
#: prefs.js:285
msgid "Past Sponsors"
msgstr "Ehemalige Sponsoren"
#. Translators: %s will be replaced by the effect's name. #. Translators: %s will be replaced by the effect's name.
#: prefs.js:337 #: prefs.js:512
#, javascript-format #, javascript-format
msgid "Preview for %s" msgid "Preview for %s"
msgstr "Vorschau für %s" msgstr "Vorschau für %s"
#: prefs.js:359 #: prefs.js:534
msgid "Close this Window to Preview the Effect!" msgid "Close this Window to Preview the Effect!"
msgstr "Schließen Sie dieses Fenster, um eine Vorschau des Effekts anzuzeigen!" msgstr "Schließen Sie dieses Fenster, um eine Vorschau des Effekts anzuzeigen!"
@@ -105,13 +133,9 @@ msgstr "Übersetzen"
msgid "Donate" msgid "Donate"
msgstr "Spenden" msgstr "Spenden"
#: resources/ui/common/main-menu.ui:30 #: resources/ui/common/main-menu.ui:45
msgid "Via PayPal" msgid "About Burn-My-Windows"
msgstr "Mit PayPal" msgstr "Über Burn-My-Windows"
#: resources/ui/common/main-menu.ui:34
msgid "Via GitHub"
msgstr "Mit GitHub"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24 #: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49 #: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
@@ -139,7 +163,7 @@ msgstr "Animationszeit [ms]"
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98 #: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52 #: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132 #: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:185 resources/ui/gtk3/Wisps.ui:68 #: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160 #: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167 #: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277 #: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
@@ -147,7 +171,7 @@ msgstr "Animationszeit [ms]"
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68 #: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160 #: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117 #: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:233 #: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
msgid "Reset to Default Value" msgid "Reset to Default Value"
msgstr "Auf Standardwert zurücksetzen" msgstr "Auf Standardwert zurücksetzen"
@@ -238,41 +262,37 @@ msgstr "Warp-Effekt"
msgid "Flash Color" msgid "Flash Color"
msgstr "Blitzfarbe" msgstr "Blitzfarbe"
#: resources/ui/gtk4/effectPage.ui:41 resources/ui/gtk3/effectPage.ui:41 #: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect" msgid "Preview this Effect"
msgstr "Vorschau dieses Effekts" msgstr "Vorschau dieses Effekts"
#: resources/ui/gtk4/prefs.ui:27 resources/ui/gtk3/prefs.ui:251 #: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "General Options"
msgstr "Allgemeine Optionen"
#: resources/ui/gtk4/prefs.ui:47 resources/ui/gtk3/prefs.ui:49
msgid "Welcome to Burn-My-Windows!" msgid "Welcome to Burn-My-Windows!"
msgstr "Willkommen bei Burn-My-Windows!" msgstr "Willkommen bei Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:58 resources/ui/gtk3/prefs.ui:60 #: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)" msgid "If you like this extension, recommend it to your friends :)"
msgstr "Wenn Sie diese Erweiterung mögen, empfehlen Sie sie Ihren Freunden :)" msgstr "Wenn Sie diese Erweiterung mögen, empfehlen Sie sie Ihren Freunden :)"
#: resources/ui/gtk4/prefs.ui:85 resources/ui/gtk3/prefs.ui:88 #: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation" msgid "Open Window Animation"
msgstr "Fenster-Öffnen-Animation" msgstr "Fenster-Öffnen-Animation"
#: resources/ui/gtk4/prefs.ui:94 resources/ui/gtk4/prefs.ui:138 #: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:97 resources/ui/gtk3/prefs.ui:161 #: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly." msgid "If multiple are selected, one is chosen randomly."
msgstr "Wenn mehrere ausgewählt sind, wird eine zufällig ausgewählt." msgstr "Wenn mehrere ausgewählt sind, wird eine zufällig ausgewählt."
#: resources/ui/gtk4/prefs.ui:109 resources/ui/gtk4/prefs.ui:153 #: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:118 resources/ui/gtk3/prefs.ui:182 #: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects" msgid "Choose Effects"
msgstr "Effekte auswählen" msgstr "Effekte auswählen"
#: resources/ui/gtk4/prefs.ui:129 resources/ui/gtk3/prefs.ui:152 #: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation" msgid "Close Window Animation"
msgstr "Fenster-Schließen-Animation" msgstr "Fenster-Schließen-Animation"
#: resources/ui/gtk4/prefs.ui:169 resources/ui/gtk3/prefs.ui:212 #: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs" msgid "Also Add Effects to Dialogs"
msgstr "Effekte auch zu Dialogen hinzufügen" msgstr "Effekte auch zu Dialogen hinzufügen"
@@ -280,5 +300,11 @@ msgstr "Effekte auch zu Dialogen hinzufügen"
msgid "Choose a Preset" msgid "Choose a Preset"
msgstr "Wählen Sie eine Voreinstellung" msgstr "Wählen Sie eine Voreinstellung"
#~ msgid "Via PayPal"
#~ msgstr "Mit PayPal"
#~ msgid "Via GitHub"
#~ msgstr "Mit GitHub"
#~ msgid "Create a Custom Effect" #~ msgid "Create a Custom Effect"
#~ msgstr "Einen neuen Effekt erstellen" #~ msgstr "Einen neuen Effekt erstellen"
+307
View File
@@ -0,0 +1,307 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Simon Schneegans
# This file is distributed under the same license as the Burn-My-Windows package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
"PO-Revision-Date: 2022-03-15 06:54+0000\n"
"Last-Translator: Adolfo Jayme Barrientos <fitojb@ubuntu.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/burn-my-windows/"
"core/es/>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.12-dev\n"
#: prefs.js:111
msgid "Effect Options"
msgstr "Opciones de efecto"
#: prefs.js:139
msgid "Go Back"
msgstr "Volver"
#: prefs.js:181
msgid "General Options"
msgstr "Opciones generales"
#: prefs.js:276
msgid "Gold Sponsors"
msgstr "Patrocinadores de oro"
#: prefs.js:279
msgid "Silver Sponsors"
msgstr "Patrocinadores de plata"
#: prefs.js:282
msgid "Bronze Sponsors"
msgstr "Patrocinadores de bronce"
#: prefs.js:285
msgid "Past Sponsors"
msgstr "Patrocinadores anteriores"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:512
#, javascript-format
msgid "Preview for %s"
msgstr "Previsualización de %s"
#: prefs.js:534
msgid "Close this Window to Preview the Effect!"
msgstr "¡Cierre esta ventana para ver el efecto!"
#: src/BrokenGlass.js:57
msgid "Broken Glass"
msgstr "Cristales rotos"
#: src/TVEffect.js:56
msgid "TV Effect"
msgstr "Efecto televisor"
#: src/TRexAttack.js:56
msgid "T-Rex Attack"
msgstr "Ataque de T-Rex"
#: src/Wisps.js:55
msgid "Wisps"
msgstr "Chispas"
#: src/Fire.js:58
msgid "Fire"
msgstr "Fuego"
#: src/Fire.js:130
msgid "Default Fire"
msgstr "Fuego predeterminado"
#: src/Fire.js:140
msgid "Hell Fire"
msgstr "Fuego infernal"
#: src/Fire.js:150
msgid "Dark and Smutty"
msgstr "Oscuro y obsceno"
#: src/Fire.js:160
msgid "Cold Breeze"
msgstr "Brisa fría"
#: src/Fire.js:170
msgid "Santa is Coming"
msgstr "Viene Papá Noel"
#: src/EnergizeA.js:54
msgid "Energize A"
msgstr "Energizar A"
#: src/EnergizeB.js:54
msgid "Energize B"
msgstr "Energizar B"
#: src/Matrix.js:58
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Visitar la página web"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Ver registro de cambios"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Informar de un error"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Crear un efecto"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Traducir"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Donar"
#: resources/ui/common/main-menu.ui:45
msgid "About Burn-My-Windows"
msgstr "Acerca de Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
#: resources/ui/gtk3/EnergizeB.ui:42
msgid "Animation Time [ms]"
msgstr "Tiempo de animación [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
msgid "Reset to Default Value"
msgstr "Restablecer al valor predeterminado"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Escala"
#: resources/ui/gtk4/Matrix.ui:116
msgid "Randomness"
msgstr "Aleatoriedad"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Superposición vertical"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Color de la estela"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Color de la punta"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Gravedad"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Fuerza del golpe"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Fragmentar desde la ubicación del puntero"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Los fragmentos saldrán volando desde donde estaba el puntero del ratón al "
"cerrar la ventana."
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Color"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Preselecciones"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Velocidad"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "Ruido 3D"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Crea un fuego más dinámico pero requiere más potencia de la GPU."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Degradado"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Escala de arañazos de garras"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Número de arañazos de garras"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Efecto distorsión"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Color del flash"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Previsualizar este efecto"
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Le damos la bienvenida a Burn-My-Windows."
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Si le gusta esta extensión, recomiéndela a sus amistades :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Animación al abrir la ventana"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Si se seleccionan varios, se elige uno al azar."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Elegir efectos"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Animación al cerrar la ventana"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Añadir también efectos a los diálogos"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Elija una preselección"
#~ msgid "Via PayPal"
#~ msgstr "Vía PayPal"
#~ msgid "Via GitHub"
#~ msgstr "Vía GitHub"
+111 -78
View File
@@ -7,108 +7,135 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Burn-My-Windows\n" "Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-29 05:40+0100\n" "POT-Creation-Date: 2022-02-18 20:33+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2022-02-21 11:58+0000\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Nathan <bonnemainsnathan@gmail.com>\n"
"Language-Team: none\n" "Language-Team: French <https://hosted.weblate.org/projects/burn-my-windows/"
"core/fr/>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.11-dev\n"
#: prefs.js:111
msgid "Effect Options"
msgstr "Options de l'effet"
#: prefs.js:139
msgid "Go Back"
msgstr "Retour"
#: prefs.js:181
msgid "General Options"
msgstr "Options générales"
#: prefs.js:276
msgid "Gold Sponsors"
msgstr "Sponsors Or"
#: prefs.js:279
msgid "Silver Sponsors"
msgstr "Sponsors Argent"
#: prefs.js:282
msgid "Bronze Sponsors"
msgstr "Sponsors Bronze"
#: prefs.js:285
msgid "Past Sponsors"
msgstr "Anciens Sponsors"
#. Translators: %s will be replaced by the effect's name. #. Translators: %s will be replaced by the effect's name.
#: prefs.js:337 #: prefs.js:512
#, javascript-format #, javascript-format
msgid "Preview for %s" msgid "Preview for %s"
msgstr "" msgstr "Aperçu pour %s"
#: prefs.js:359 #: prefs.js:534
msgid "Close this Window to Preview the Effect!" msgid "Close this Window to Preview the Effect!"
msgstr "" msgstr "Fermez cette fenêtre pour un aperçu de l'effet !"
#: src/BrokenGlass.js:57 #: src/BrokenGlass.js:57
msgid "Broken Glass" msgid "Broken Glass"
msgstr "" msgstr "Verre brisé"
#: src/TVEffect.js:56 #: src/TVEffect.js:56
msgid "TV Effect" msgid "TV Effect"
msgstr "" msgstr "Effet TV"
#: src/TRexAttack.js:56 #: src/TRexAttack.js:56
msgid "T-Rex Attack" msgid "T-Rex Attack"
msgstr "" msgstr "Attaque de T-Rex"
#: src/Wisps.js:55 #: src/Wisps.js:55
msgid "Wisps" msgid "Wisps"
msgstr "" msgstr "Volutes"
#: src/Fire.js:58 #: src/Fire.js:58
msgid "Fire" msgid "Fire"
msgstr "" msgstr "Feu"
#: src/Fire.js:130 #: src/Fire.js:130
msgid "Default Fire" msgid "Default Fire"
msgstr "" msgstr "Feu par défaut"
#: src/Fire.js:140 #: src/Fire.js:140
msgid "Hell Fire" msgid "Hell Fire"
msgstr "" msgstr "Feu de l'enfer"
#: src/Fire.js:150 #: src/Fire.js:150
msgid "Dark and Smutty" msgid "Dark and Smutty"
msgstr "" msgstr "Sombre et ténébreux"
#: src/Fire.js:160 #: src/Fire.js:160
msgid "Cold Breeze" msgid "Cold Breeze"
msgstr "" msgstr "Brise froide"
#: src/Fire.js:170 #: src/Fire.js:170
msgid "Santa is Coming" msgid "Santa is Coming"
msgstr "" msgstr "Le Père Noël arrive"
#: src/EnergizeA.js:54 #: src/EnergizeA.js:54
msgid "Energize A" msgid "Energize A"
msgstr "" msgstr "Énergie A"
#: src/EnergizeB.js:54 #: src/EnergizeB.js:54
msgid "Energize B" msgid "Energize B"
msgstr "" msgstr "Énergie B"
#: src/Matrix.js:58 #: src/Matrix.js:58
msgid "Matrix" msgid "Matrix"
msgstr "" msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6 #: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage" msgid "Visit Homepage"
msgstr "" msgstr "Visiter la page d'accueil"
#: resources/ui/common/main-menu.ui:10 #: resources/ui/common/main-menu.ui:10
msgid "View Changelog" msgid "View Changelog"
msgstr "" msgstr "Voir le journal des modifications"
#: resources/ui/common/main-menu.ui:16 #: resources/ui/common/main-menu.ui:16
msgid "Report a Bug" msgid "Report a Bug"
msgstr "" msgstr "Signaler un bug"
#: resources/ui/common/main-menu.ui:20 #: resources/ui/common/main-menu.ui:20
msgid "Create an Effect" msgid "Create an Effect"
msgstr "" msgstr "Créer un effet"
#: resources/ui/common/main-menu.ui:24 #: resources/ui/common/main-menu.ui:24
msgid "Translate" msgid "Translate"
msgstr "" msgstr "Traduire"
#: resources/ui/common/main-menu.ui:28 #: resources/ui/common/main-menu.ui:28
msgid "Donate" msgid "Donate"
msgstr "" msgstr "Faire un don"
#: resources/ui/common/main-menu.ui:30 #: resources/ui/common/main-menu.ui:45
msgid "Via PayPal" msgid "About Burn-My-Windows"
msgstr "" msgstr "À propos de Burn-My-Windows"
#: resources/ui/common/main-menu.ui:34
msgid "Via GitHub"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24 #: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49 #: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
@@ -118,7 +145,7 @@ msgstr ""
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42 #: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
#: resources/ui/gtk3/EnergizeB.ui:42 #: resources/ui/gtk3/EnergizeB.ui:42
msgid "Animation Time [ms]" msgid "Animation Time [ms]"
msgstr "" msgstr "Durée de l'animation (ms)"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98 #: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190 #: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
@@ -136,7 +163,7 @@ msgstr ""
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98 #: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52 #: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132 #: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:185 resources/ui/gtk3/Wisps.ui:68 #: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160 #: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167 #: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277 #: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
@@ -144,9 +171,9 @@ msgstr ""
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68 #: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160 #: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117 #: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:233 #: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
msgid "Reset to Default Value" msgid "Reset to Default Value"
msgstr "" msgstr "Réinitialiser à la valeur par défaut"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70 #: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95 #: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
@@ -154,123 +181,129 @@ msgstr ""
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141 #: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91 #: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale" msgid "Scale"
msgstr "" msgstr "Échelle"
#: resources/ui/gtk4/Matrix.ui:116 #: resources/ui/gtk4/Matrix.ui:116
msgid "Randomness" msgid "Randomness"
msgstr "" msgstr "Aléatoire"
#: resources/ui/gtk4/Matrix.ui:162 #: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting" msgid "Vertical Overshooting"
msgstr "" msgstr "Dépassement vertical"
#: resources/ui/gtk4/Matrix.ui:208 #: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color" msgid "Trail Color"
msgstr "" msgstr "Couleur de la traîne"
#: resources/ui/gtk4/Matrix.ui:242 #: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color" msgid "Tip Color"
msgstr "" msgstr "Couleur de la pointe"
#: resources/ui/gtk4/BrokenGlass.ui:116 #: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity" msgid "Gravity"
msgstr "" msgstr "Gravité"
#: resources/ui/gtk4/BrokenGlass.ui:162 #: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force" msgid "Blow Force"
msgstr "" msgstr "Force d'explosion"
#: resources/ui/gtk4/BrokenGlass.ui:212 #: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location" msgid "Shatter From Pointer Location"
msgstr "" msgstr "Briser à partir de la position du curseur"
#: resources/ui/gtk4/BrokenGlass.ui:221 #: resources/ui/gtk4/BrokenGlass.ui:221
msgid "" msgid ""
"The shards will fly away from where your mouse pointer was when closing the " "The shards will fly away from where your mouse pointer was when closing the "
"window." "window."
msgstr "" msgstr ""
"Les éclats s'envoleront de l'endroit où se trouvait le pointeur de votre "
"souris lorsque vous fermez la fenêtre."
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70 #: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116 #: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83 #: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139 #: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color" msgid "Color"
msgstr "" msgstr "Couleur"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49 #: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets" msgid "Presets"
msgstr "" msgstr "Préréglages"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189 #: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed" msgid "Speed"
msgstr "" msgstr "Vitesse"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241 #: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise" msgid "3D Noise"
msgstr "" msgstr "Bruit 3D"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250 #: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power." msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "" msgstr ""
"Crée un feu plus dynamique mais demande plus de puissance de la carte "
"graphique."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300 #: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient" msgid "Gradient"
msgstr "" msgstr "Gradient"
#: resources/ui/gtk4/TRexAttack.ui:70 #: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale" msgid "Claw Scratch Scale"
msgstr "" msgstr "Échelle de griffe"
#: resources/ui/gtk4/TRexAttack.ui:116 #: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count" msgid "Claw Scratch Count"
msgstr "" msgstr "Nombre de coups"
#: resources/ui/gtk4/TRexAttack.ui:162 #: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect" msgid "Warp Effect"
msgstr "" msgstr "Effet de distorsion"
#: resources/ui/gtk4/TRexAttack.ui:208 #: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color" msgid "Flash Color"
msgstr "" msgstr "Couleur du flash"
#: resources/ui/gtk4/effectPage.ui:41 resources/ui/gtk3/effectPage.ui:41 #: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect" msgid "Preview this Effect"
msgstr "" msgstr "Voir l'aperçu de cet effet"
#: resources/ui/gtk4/prefs.ui:27 resources/ui/gtk3/prefs.ui:251 #: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "General Options"
msgstr ""
#: resources/ui/gtk4/prefs.ui:47 resources/ui/gtk3/prefs.ui:49
msgid "Welcome to Burn-My-Windows!" msgid "Welcome to Burn-My-Windows!"
msgstr "" msgstr "Bienvenue dans Burn-My-Windows !"
#: resources/ui/gtk4/prefs.ui:58 resources/ui/gtk3/prefs.ui:60 #: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)" msgid "If you like this extension, recommend it to your friends :)"
msgstr "" msgstr "Si vous aimez cette extension, recommandez-la à vos amis :)"
#: resources/ui/gtk4/prefs.ui:85 resources/ui/gtk3/prefs.ui:88 #: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation" msgid "Open Window Animation"
msgstr "" msgstr "Animation d'ouverture de fenêtre"
#: resources/ui/gtk4/prefs.ui:94 resources/ui/gtk4/prefs.ui:138 #: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:97 resources/ui/gtk3/prefs.ui:161 #: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly." msgid "If multiple are selected, one is chosen randomly."
msgstr "" msgstr "Si plusieurs sont sélectionnés, un est choisi au hasard."
#: resources/ui/gtk4/prefs.ui:109 resources/ui/gtk4/prefs.ui:153 #: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:118 resources/ui/gtk3/prefs.ui:182 #: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects" msgid "Choose Effects"
msgstr "" msgstr "Choisir les effets"
#: resources/ui/gtk4/prefs.ui:129 resources/ui/gtk3/prefs.ui:152 #: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation" msgid "Close Window Animation"
msgstr "" msgstr "Animation de fermeture de fenêtre"
#: resources/ui/gtk4/prefs.ui:169 resources/ui/gtk3/prefs.ui:212 #: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs" msgid "Also Add Effects to Dialogs"
msgstr "" msgstr "Appliquer également les effets aux boîtes de dialogue"
#: resources/ui/gtk3/Fire.ui:63 #: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset" msgid "Choose a Preset"
msgstr "" msgstr "Sélectionner un préréglage"
#~ msgid "Via PayPal"
#~ msgstr "Via PayPal"
#~ msgid "Via GitHub"
#~ msgstr "Via GitHub"
+75 -47
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Burn-My-Windows\n" "Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-29 05:40+0100\n" "POT-Creation-Date: 2022-02-18 20:33+0100\n"
"PO-Revision-Date: 2022-01-31 04:48+0000\n" "PO-Revision-Date: 2022-02-28 12:56+0000\n"
"Last-Translator: albanobattistella <albano_battistella@hotmail.com>\n" "Last-Translator: albanobattistella <albano_battistella@hotmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/burn-my-windows/" "Language-Team: Italian <https://hosted.weblate.org/projects/burn-my-windows/"
"core/it/>\n" "core/it/>\n"
@@ -17,15 +17,43 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.11-dev\n" "X-Generator: Weblate 4.11.1-dev\n"
#: prefs.js:111
msgid "Effect Options"
msgstr "Opzioni effetto"
#: prefs.js:139
msgid "Go Back"
msgstr "Indietro"
#: prefs.js:181
msgid "General Options"
msgstr "Opzioni generali"
#: prefs.js:276
msgid "Gold Sponsors"
msgstr "Sponsor d'oro"
#: prefs.js:279
msgid "Silver Sponsors"
msgstr "Sponsor d'argento"
#: prefs.js:282
msgid "Bronze Sponsors"
msgstr "Sponsor di bronzo"
#: prefs.js:285
msgid "Past Sponsors"
msgstr "Sponsor passati"
#. Translators: %s will be replaced by the effect's name. #. Translators: %s will be replaced by the effect's name.
#: prefs.js:337 #: prefs.js:512
#, javascript-format #, javascript-format
msgid "Preview for %s" msgid "Preview for %s"
msgstr "Anteprima per %s" msgstr "Anteprima per %s"
#: prefs.js:359 #: prefs.js:534
msgid "Close this Window to Preview the Effect!" msgid "Close this Window to Preview the Effect!"
msgstr "Chiudi questa finestra per visualizzare in anteprima l'effetto!" msgstr "Chiudi questa finestra per visualizzare in anteprima l'effetto!"
@@ -39,11 +67,11 @@ msgstr "Effetto TV"
#: src/TRexAttack.js:56 #: src/TRexAttack.js:56
msgid "T-Rex Attack" msgid "T-Rex Attack"
msgstr "" msgstr "Attacco T-Rex"
#: src/Wisps.js:55 #: src/Wisps.js:55
msgid "Wisps" msgid "Wisps"
msgstr "" msgstr "Scintille"
#: src/Fire.js:58 #: src/Fire.js:58
msgid "Fire" msgid "Fire"
@@ -59,11 +87,11 @@ msgstr "Fuoco Infernale"
#: src/Fire.js:150 #: src/Fire.js:150
msgid "Dark and Smutty" msgid "Dark and Smutty"
msgstr "" msgstr "Scuro e Tenebroso"
#: src/Fire.js:160 #: src/Fire.js:160
msgid "Cold Breeze" msgid "Cold Breeze"
msgstr "" msgstr "Brezza Fredda"
#: src/Fire.js:170 #: src/Fire.js:170
msgid "Santa is Coming" msgid "Santa is Coming"
@@ -71,11 +99,11 @@ msgstr "Babbo Natale sta arrivando"
#: src/EnergizeA.js:54 #: src/EnergizeA.js:54
msgid "Energize A" msgid "Energize A"
msgstr "" msgstr "Energia A"
#: src/EnergizeB.js:54 #: src/EnergizeB.js:54
msgid "Energize B" msgid "Energize B"
msgstr "" msgstr "Energia B"
#: src/Matrix.js:58 #: src/Matrix.js:58
msgid "Matrix" msgid "Matrix"
@@ -105,13 +133,9 @@ msgstr "Traduci"
msgid "Donate" msgid "Donate"
msgstr "Donare" msgstr "Donare"
#: resources/ui/common/main-menu.ui:30 #: resources/ui/common/main-menu.ui:45
msgid "Via PayPal" msgid "About Burn-My-Windows"
msgstr "Via PayPal" msgstr "Informazioni su Burn-My-Windows"
#: resources/ui/common/main-menu.ui:34
msgid "Via GitHub"
msgstr "Via GitHub"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24 #: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49 #: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
@@ -139,7 +163,7 @@ msgstr "Tempo animazione [ms]"
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98 #: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52 #: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132 #: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:185 resources/ui/gtk3/Wisps.ui:68 #: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160 #: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167 #: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277 #: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
@@ -147,7 +171,7 @@ msgstr "Tempo animazione [ms]"
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68 #: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160 #: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117 #: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:233 #: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
msgid "Reset to Default Value" msgid "Reset to Default Value"
msgstr "Ripristina valore predefinito" msgstr "Ripristina valore predefinito"
@@ -165,33 +189,35 @@ msgstr "Casuale"
#: resources/ui/gtk4/Matrix.ui:162 #: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting" msgid "Vertical Overshooting"
msgstr "" msgstr "Sovrapposizione Verticale"
#: resources/ui/gtk4/Matrix.ui:208 #: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color" msgid "Trail Color"
msgstr "" msgstr "Colore della pista"
#: resources/ui/gtk4/Matrix.ui:242 #: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color" msgid "Tip Color"
msgstr "" msgstr "Colore della Punta"
#: resources/ui/gtk4/BrokenGlass.ui:116 #: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity" msgid "Gravity"
msgstr "" msgstr "Gravità"
#: resources/ui/gtk4/BrokenGlass.ui:162 #: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force" msgid "Blow Force"
msgstr "" msgstr "Forza Esplosiva"
#: resources/ui/gtk4/BrokenGlass.ui:212 #: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location" msgid "Shatter From Pointer Location"
msgstr "" msgstr "Frammento dalla posizione del puntatore"
#: resources/ui/gtk4/BrokenGlass.ui:221 #: resources/ui/gtk4/BrokenGlass.ui:221
msgid "" msgid ""
"The shards will fly away from where your mouse pointer was when closing the " "The shards will fly away from where your mouse pointer was when closing the "
"window." "window."
msgstr "" msgstr ""
"I frammenti voleranno fuori dal punto in cui si trovava il puntatore del "
"mouse quando chiudi la finestra."
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70 #: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116 #: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
@@ -210,7 +236,7 @@ msgstr "Velocità"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241 #: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise" msgid "3D Noise"
msgstr "" msgstr "Rumore 3D"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250 #: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power." msgid "Creates a more dynamic fire but requires more GPU power."
@@ -222,58 +248,60 @@ msgstr "Gradiente"
#: resources/ui/gtk4/TRexAttack.ui:70 #: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale" msgid "Claw Scratch Scale"
msgstr "" msgstr "Scala ad Artiglio"
#: resources/ui/gtk4/TRexAttack.ui:116 #: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count" msgid "Claw Scratch Count"
msgstr "" msgstr "Numero di colpi"
#: resources/ui/gtk4/TRexAttack.ui:162 #: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect" msgid "Warp Effect"
msgstr "" msgstr "Effetto Distorsione"
#: resources/ui/gtk4/TRexAttack.ui:208 #: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color" msgid "Flash Color"
msgstr "" msgstr "Colore Flash"
#: resources/ui/gtk4/effectPage.ui:41 resources/ui/gtk3/effectPage.ui:41 #: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect" msgid "Preview this Effect"
msgstr "Anteprima di questo effetto" msgstr "Anteprima di questo effetto"
#: resources/ui/gtk4/prefs.ui:27 resources/ui/gtk3/prefs.ui:251 #: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "General Options"
msgstr "Opzioni generali"
#: resources/ui/gtk4/prefs.ui:47 resources/ui/gtk3/prefs.ui:49
msgid "Welcome to Burn-My-Windows!" msgid "Welcome to Burn-My-Windows!"
msgstr "Benvenuto in Burn-My-Windows!" msgstr "Benvenuto in Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:58 resources/ui/gtk3/prefs.ui:60 #: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)" msgid "If you like this extension, recommend it to your friends :)"
msgstr "Se ti piace questa estensione, consigliala ai tuoi amici :)" msgstr "Se ti piace questa estensione, consigliala ai tuoi amici :)"
#: resources/ui/gtk4/prefs.ui:85 resources/ui/gtk3/prefs.ui:88 #: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation" msgid "Open Window Animation"
msgstr "" msgstr "Animazione all'apertura della finestra"
#: resources/ui/gtk4/prefs.ui:94 resources/ui/gtk4/prefs.ui:138 #: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:97 resources/ui/gtk3/prefs.ui:161 #: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly." msgid "If multiple are selected, one is chosen randomly."
msgstr "Se ne vengono selezionati multipli, uno viene scelto a caso." msgstr "Se ne vengono selezionati multipli, uno viene scelto a caso."
#: resources/ui/gtk4/prefs.ui:109 resources/ui/gtk4/prefs.ui:153 #: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:118 resources/ui/gtk3/prefs.ui:182 #: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects" msgid "Choose Effects"
msgstr "Scegli Effetti" msgstr "Scegli Effetti"
#: resources/ui/gtk4/prefs.ui:129 resources/ui/gtk3/prefs.ui:152 #: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation" msgid "Close Window Animation"
msgstr "" msgstr "Animazione alla chiusura della finestra"
#: resources/ui/gtk4/prefs.ui:169 resources/ui/gtk3/prefs.ui:212 #: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs" msgid "Also Add Effects to Dialogs"
msgstr "Aggiungi anche effetti ai dialoghi" msgstr "Aggiungi anche effetti ai dialoghi"
#: resources/ui/gtk3/Fire.ui:63 #: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset" msgid "Choose a Preset"
msgstr "Scegli un predefinito" msgstr "Scegli un predefinito"
#~ msgid "Via PayPal"
#~ msgstr "Tramite PayPal"
#~ msgid "Via GitHub"
#~ msgstr "Tramite GitHub"
+54 -28
View File
@@ -7,11 +7,11 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Burn-My-Windows\n" "Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-29 05:40+0100\n" "POT-Creation-Date: 2022-02-18 20:33+0100\n"
"PO-Revision-Date: 2022-01-29 12:30+0000\n" "PO-Revision-Date: 2022-01-29 12:30+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n" "Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/" "Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/burn-my-"
"burn-my-windows/core/nb_NO/>\n" "windows/core/nb_NO/>\n"
"Language: nb_NO\n" "Language: nb_NO\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,13 +19,41 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.11-dev\n" "X-Generator: Weblate 4.11-dev\n"
#: prefs.js:111
msgid "Effect Options"
msgstr ""
#: prefs.js:139
msgid "Go Back"
msgstr ""
#: prefs.js:181
msgid "General Options"
msgstr ""
#: prefs.js:276
msgid "Gold Sponsors"
msgstr ""
#: prefs.js:279
msgid "Silver Sponsors"
msgstr ""
#: prefs.js:282
msgid "Bronze Sponsors"
msgstr ""
#: prefs.js:285
msgid "Past Sponsors"
msgstr ""
#. Translators: %s will be replaced by the effect's name. #. Translators: %s will be replaced by the effect's name.
#: prefs.js:337 #: prefs.js:512
#, javascript-format #, javascript-format
msgid "Preview for %s" msgid "Preview for %s"
msgstr "" msgstr ""
#: prefs.js:359 #: prefs.js:534
msgid "Close this Window to Preview the Effect!" msgid "Close this Window to Preview the Effect!"
msgstr "" msgstr ""
@@ -105,13 +133,9 @@ msgstr "Oversett"
msgid "Donate" msgid "Donate"
msgstr "Doner" msgstr "Doner"
#: resources/ui/common/main-menu.ui:30 #: resources/ui/common/main-menu.ui:45
msgid "Via PayPal" msgid "About Burn-My-Windows"
msgstr "med PayPal" msgstr ""
#: resources/ui/common/main-menu.ui:34
msgid "Via GitHub"
msgstr "på GitHub"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24 #: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49 #: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
@@ -139,7 +163,7 @@ msgstr "Animasjonstid [ms]"
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98 #: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52 #: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132 #: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:185 resources/ui/gtk3/Wisps.ui:68 #: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160 #: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167 #: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277 #: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
@@ -147,7 +171,7 @@ msgstr "Animasjonstid [ms]"
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68 #: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160 #: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117 #: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:233 #: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
msgid "Reset to Default Value" msgid "Reset to Default Value"
msgstr "" msgstr ""
@@ -236,44 +260,46 @@ msgstr ""
msgid "Flash Color" msgid "Flash Color"
msgstr "" msgstr ""
#: resources/ui/gtk4/effectPage.ui:41 resources/ui/gtk3/effectPage.ui:41 #: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect" msgid "Preview this Effect"
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:27 resources/ui/gtk3/prefs.ui:251 #: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "General Options"
msgstr ""
#: resources/ui/gtk4/prefs.ui:47 resources/ui/gtk3/prefs.ui:49
msgid "Welcome to Burn-My-Windows!" msgid "Welcome to Burn-My-Windows!"
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:58 resources/ui/gtk3/prefs.ui:60 #: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)" msgid "If you like this extension, recommend it to your friends :)"
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:85 resources/ui/gtk3/prefs.ui:88 #: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation" msgid "Open Window Animation"
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:94 resources/ui/gtk4/prefs.ui:138 #: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:97 resources/ui/gtk3/prefs.ui:161 #: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly." msgid "If multiple are selected, one is chosen randomly."
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:109 resources/ui/gtk4/prefs.ui:153 #: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:118 resources/ui/gtk3/prefs.ui:182 #: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects" msgid "Choose Effects"
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:129 resources/ui/gtk3/prefs.ui:152 #: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation" msgid "Close Window Animation"
msgstr "" msgstr ""
#: resources/ui/gtk4/prefs.ui:169 resources/ui/gtk3/prefs.ui:212 #: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs" msgid "Also Add Effects to Dialogs"
msgstr "" msgstr ""
#: resources/ui/gtk3/Fire.ui:63 #: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset" msgid "Choose a Preset"
msgstr "" msgstr ""
#~ msgid "Via PayPal"
#~ msgstr "med PayPal"
#~ msgid "Via GitHub"
#~ msgstr "på GitHub"
+308
View File
@@ -0,0 +1,308 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Simon Schneegans
# This file is distributed under the same license as the Burn-My-Windows package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
"PO-Revision-Date: 2022-02-21 11:58+0000\n"
"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/burn-my-windows/"
"core/nl/>\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.11-dev\n"
#: prefs.js:111
msgid "Effect Options"
msgstr "Effectvoorkeuren"
#: prefs.js:139
msgid "Go Back"
msgstr "Scherm sluiten"
#: prefs.js:181
msgid "General Options"
msgstr "Algemene voorkeuren"
#: prefs.js:276
msgid "Gold Sponsors"
msgstr "Gouden sponsoren"
#: prefs.js:279
msgid "Silver Sponsors"
msgstr "Zilveren sponsoren"
#: prefs.js:282
msgid "Bronze Sponsors"
msgstr "Bronzen sponsoren"
#: prefs.js:285
msgid "Past Sponsors"
msgstr "Voormalige sponsoren"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:512
#, javascript-format
msgid "Preview for %s"
msgstr "%s-voorvertoning"
#: prefs.js:534
msgid "Close this Window to Preview the Effect!"
msgstr "Sluit dit venster om het effect voor te vertonen."
#: src/BrokenGlass.js:57
msgid "Broken Glass"
msgstr "Gebroken glas"
#: src/TVEffect.js:56
msgid "TV Effect"
msgstr "Tv-effect"
#: src/TRexAttack.js:56
msgid "T-Rex Attack"
msgstr "T-Rex-aanval"
#: src/Wisps.js:55
msgid "Wisps"
msgstr "Dwaallicht"
#: src/Fire.js:58
msgid "Fire"
msgstr "Vuur"
#: src/Fire.js:130
msgid "Default Fire"
msgstr "Normaal vuur"
#: src/Fire.js:140
msgid "Hell Fire"
msgstr "Hellevuur"
#: src/Fire.js:150
msgid "Dark and Smutty"
msgstr "Donker en zwart"
#: src/Fire.js:160
msgid "Cold Breeze"
msgstr "Koude wind"
#: src/Fire.js:170
msgid "Santa is Coming"
msgstr "Kerstmanvuur"
#: src/EnergizeA.js:54
msgid "Energize A"
msgstr "Stimulatie A"
#: src/EnergizeB.js:54
msgid "Energize B"
msgstr "Stimulatie B"
#: src/Matrix.js:58
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Website openen"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Wijzigingslog bekijken"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Bug melden"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Effect creëren"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Vertalen"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Doneren"
#: resources/ui/common/main-menu.ui:45
msgid "About Burn-My-Windows"
msgstr "Over Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
#: resources/ui/gtk3/EnergizeB.ui:42
msgid "Animation Time [ms]"
msgstr "Animatieduur [in ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
msgid "Reset to Default Value"
msgstr "Standaardwaarde herstellen"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Schaal"
#: resources/ui/gtk4/Matrix.ui:116
msgid "Randomness"
msgstr "Willekeurigheid"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Verticale verspringing"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Sleepspoorkleur"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Piekkleur"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Zwaartekracht"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Windkracht"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Uiteenvallen bij cursorpositie"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"De stukken vliegen weg vanaf de cursorpositie na het sluiten van een venster."
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Kleur"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Voorinstellingen"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Snelheid"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "3D-ruis"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Zorgt voor een speels vuur, maar vereist meer computerkracht."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Verloop"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Schaal van pootkrabben"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Aantal pootkrabben"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Vervormingseffect"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Flitskleur"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Voorvertonen"
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Welkom bij ‘Burn-My-Windows’!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr ""
"Als u deze uitbreiding leuk vindt, deel hem dan met vrienden en kennissen. :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Animatie bij openen van vensters"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr ""
"Als er meerdere effecten zijn geselecteerd, dan wordt er willekeurig gekozen."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Kies de effecten"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Animatie bij sluiten van vensters"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Dialoogvensters ook voorzien van effecten"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Kies een voorinstelling"
#~ msgid "Via PayPal"
#~ msgstr "Via PayPal"
#~ msgid "Via GitHub"
#~ msgstr "Via GitHub"
+304
View File
@@ -0,0 +1,304 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Simon Schneegans
# This file is distributed under the same license as the Burn-My-Windows package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
"PO-Revision-Date: 2022-03-29 18:24+0000\n"
"Last-Translator: ANIGO R. (AR) <franigoyt@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/burn-my-windows/"
"core/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.12-dev\n"
#: prefs.js:111
msgid "Effect Options"
msgstr "Параметры эффекта"
#: prefs.js:139
msgid "Go Back"
msgstr "Назад"
#: prefs.js:181
msgid "General Options"
msgstr "Общие настройки"
#: prefs.js:276
msgid "Gold Sponsors"
msgstr "Золотые спонсоры"
#: prefs.js:279
msgid "Silver Sponsors"
msgstr "Серебряные спонсоры"
#: prefs.js:282
msgid "Bronze Sponsors"
msgstr "Бронзовые спонсоры"
#: prefs.js:285
msgid "Past Sponsors"
msgstr "Прошлые спонсоры"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:512
#, javascript-format
msgid "Preview for %s"
msgstr "Предварительный просмотр %s"
#: prefs.js:534
msgid "Close this Window to Preview the Effect!"
msgstr "Закройте это окно для предварительного просмотра эффекта!"
#: src/BrokenGlass.js:57
msgid "Broken Glass"
msgstr "Разбитое стекло"
#: src/TVEffect.js:56
msgid "TV Effect"
msgstr "Телевизионный эффект"
#: src/TRexAttack.js:56
msgid "T-Rex Attack"
msgstr "T-Rex атака"
#: src/Wisps.js:55
msgid "Wisps"
msgstr "Огоньки"
#: src/Fire.js:58
msgid "Fire"
msgstr "Огонь"
#: src/Fire.js:130
msgid "Default Fire"
msgstr "по умолчанию FIRE"
#: src/Fire.js:140
msgid "Hell Fire"
msgstr "Адский Огонь"
#: src/Fire.js:150
msgid "Dark and Smutty"
msgstr "Тёмный и развратный"
#: src/Fire.js:160
msgid "Cold Breeze"
msgstr "Холодный ветер"
#: src/Fire.js:170
msgid "Santa is Coming"
msgstr "Дед мороз приходит"
#: src/EnergizeA.js:54
msgid "Energize A"
msgstr "Заряжение A"
#: src/EnergizeB.js:54
msgid "Energize B"
msgstr "Энергия B"
#: src/Matrix.js:58
msgid "Matrix"
msgstr "Матрица"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Перейти на главную страницу"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Просмотреть список изменений"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Сообщить об ошибке"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Создать эффект"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Перевести"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Пожертвовать"
#: resources/ui/common/main-menu.ui:45
msgid "About Burn-My-Windows"
msgstr "О Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
#: resources/ui/gtk3/EnergizeB.ui:42
msgid "Animation Time [ms]"
msgstr "Время анимации (mc)"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
msgid "Reset to Default Value"
msgstr "Сброс на значение по умолчанию"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Масштаб"
#: resources/ui/gtk4/Matrix.ui:116
msgid "Randomness"
msgstr "Случайность"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Вертикальное превышение"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Цвет следа"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Цвет наконечника"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Сила тяжести"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Сила удара"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Разбить из местоположения указателя"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Осколки разлетятся в стороны от того места, где находился указатель мыши при "
"закрытии окна."
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Цвет"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Заготовки"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Скорость"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "3D Шум"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Создает более динамичный огонь, но требует большей мощности GPU."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Градиент"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "царапины"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Количество царапин от когтей"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Эффект искривления"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Цвет вспышки"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Предварительный просмотр этого эффекта"
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Добро пожаловать в Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr ""
"Если вам нравится это расширение, порекомендуйте или поделитесь его своим "
"друзьям :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Анимация открытого окна"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Если выбрано несколько, то один выбирается случайным образом."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Выберите эффекты"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Анимация закрытия окна"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Также добавьте эффекты к диалогам"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Выберите заготовку"
+301
View File
@@ -0,0 +1,301 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Simon Schneegans
# This file is distributed under the same license as the Burn-My-Windows package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
"PO-Revision-Date: 2022-03-21 05:57+0000\n"
"Last-Translator: Muha Aliss <muhaaliss@pm.me>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/burn-my-windows/"
"core/tr/>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.12-dev\n"
#: prefs.js:111
msgid "Effect Options"
msgstr "Efekt Seçenekleri"
#: prefs.js:139
msgid "Go Back"
msgstr "Geri Dön"
#: prefs.js:181
msgid "General Options"
msgstr "Genel Ayarlar"
#: prefs.js:276
msgid "Gold Sponsors"
msgstr "Altın Sponsorlar"
#: prefs.js:279
msgid "Silver Sponsors"
msgstr "Gümüş Sponsorlar"
#: prefs.js:282
msgid "Bronze Sponsors"
msgstr "Bronz Sponsorlar"
#: prefs.js:285
msgid "Past Sponsors"
msgstr "Eski Sponsorlar"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:512
#, javascript-format
msgid "Preview for %s"
msgstr "%s ön izleme"
#: prefs.js:534
msgid "Close this Window to Preview the Effect!"
msgstr "Efekti Ön izlemek İçin Bu Pencereyi Kapatın!"
#: src/BrokenGlass.js:57
msgid "Broken Glass"
msgstr "Kırılan Cam"
#: src/TVEffect.js:56
msgid "TV Effect"
msgstr "TV Efekti"
#: src/TRexAttack.js:56
msgid "T-Rex Attack"
msgstr "T-Rex Saldırısı"
#: src/Wisps.js:55
msgid "Wisps"
msgstr ""
#: src/Fire.js:58
msgid "Fire"
msgstr "Ateş"
#: src/Fire.js:130
msgid "Default Fire"
msgstr "Varsayılan Ateş"
#: src/Fire.js:140
msgid "Hell Fire"
msgstr "Cehennem Ateşi"
#: src/Fire.js:150
msgid "Dark and Smutty"
msgstr "Karanlık ve Sürmeli"
#: src/Fire.js:160
msgid "Cold Breeze"
msgstr "Soğuk Esinti"
#: src/Fire.js:170
msgid "Santa is Coming"
msgstr "Noel Baba Geliyor"
#: src/EnergizeA.js:54
msgid "Energize A"
msgstr "Enerji A"
#: src/EnergizeB.js:54
msgid "Energize B"
msgstr "Enerji B"
#: src/Matrix.js:58
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Ana Sayfaya Git"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Değişim Günlüğü"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Hata Bildir"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Efekt Oluştur"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Çevir"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Bağış"
#: resources/ui/common/main-menu.ui:45
msgid "About Burn-My-Windows"
msgstr "Burn-My-Windows Hakkında"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
#: resources/ui/gtk3/EnergizeB.ui:42
msgid "Animation Time [ms]"
msgstr "Animasyon Süresi [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
msgid "Reset to Default Value"
msgstr "Varsayılan Değere Sıfırla"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Ölçek"
#: resources/ui/gtk4/Matrix.ui:116
msgid "Randomness"
msgstr "Rastgelelik"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Dikey Taşma"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "İz Rengi"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Yazı Rengi"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Yer Çekimi"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Darbe Kuvveti"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "İşaretçi Konumundan Parçalanma"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Parçalar, pencereyi kapatırken fare işaretçinizin bulunduğu yerden uzağa "
"uçacaktır."
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Renk"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Şablon"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Hız"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr ""
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Daha dinamik bir ateş oluşturur ancak daha fazla GPU gücü gerektirir."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Gradyan"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Pençe Çizik Ölçeği"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Pençe Çizik Sayısı"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Flaş Rengi"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Bu Efekti Önizle"
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Burn-My-Windows'a Hoş Geldiniz!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Bu uzantıyı beğendiyseniz, arkadaşlarınıza tavsiye edin :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Pencere Animasyonunu Aç"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Birden fazla seçilirse, rastgele biri uygulanır."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Efektleri Seçin"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Pencere Animasyonunu Kapat"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Ayrıca Diyaloglara Efektler Ekle"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Bir Şablon Seçin"
+322
View File
@@ -0,0 +1,322 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Simon Schneegans
# This file is distributed under the same license as the Burn-My-Windows package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
"PO-Revision-Date: 2022-03-01 15:05+0000\n"
"Last-Translator: 刘韬 <lyuutau@outlook.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"burn-my-windows/core/zh_Hans/>\n"
"Language: zh_Hans\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.11.1-dev\n"
#: prefs.js:111
#, fuzzy
msgid "Effect Options"
msgstr "效果选项"
#: prefs.js:139
msgid "Go Back"
msgstr ""
#: prefs.js:181
#, fuzzy
msgid "General Options"
msgstr "一般选项"
#: prefs.js:276
#, fuzzy
msgid "Gold Sponsors"
msgstr "金牌赞助商"
#: prefs.js:279
#, fuzzy
msgid "Silver Sponsors"
msgstr "银牌赞助商"
#: prefs.js:282
#, fuzzy
msgid "Bronze Sponsors"
msgstr "铜牌赞助商"
#: prefs.js:285
#, fuzzy
msgid "Past Sponsors"
msgstr "往届赞助商"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:512
#, fuzzy, javascript-format
msgid "Preview for %s"
msgstr "%s 的预览"
#: prefs.js:534
#, fuzzy
msgid "Close this Window to Preview the Effect!"
msgstr "关闭此窗口,预览效果!"
#: src/BrokenGlass.js:57
#, fuzzy
msgid "Broken Glass"
msgstr "破碎的玻璃"
#: src/TVEffect.js:56
#, fuzzy
msgid "TV Effect"
msgstr "电视效果"
#: src/TRexAttack.js:56
#, fuzzy
msgid "T-Rex Attack"
msgstr "霸王龙攻击"
#: src/Wisps.js:55
msgid "Wisps"
msgstr ""
#: src/Fire.js:58
msgid "Fire"
msgstr ""
#: src/Fire.js:130
msgid "Default Fire"
msgstr ""
#: src/Fire.js:140
#, fuzzy
msgid "Hell Fire"
msgstr "地狱之火"
#: src/Fire.js:150
#, fuzzy
msgid "Dark and Smutty"
msgstr "黑暗和污秽"
#: src/Fire.js:160
#, fuzzy
msgid "Cold Breeze"
msgstr "寒风"
#: src/Fire.js:170
#, fuzzy
msgid "Santa is Coming"
msgstr "圣诞老人来了"
#: src/EnergizeA.js:54
msgid "Energize A"
msgstr ""
#: src/EnergizeB.js:54
msgid "Energize B"
msgstr ""
#: src/Matrix.js:58
msgid "Matrix"
msgstr "矩阵"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "访问主页"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "查看更新日志"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "报告错误"
#: resources/ui/common/main-menu.ui:20
#, fuzzy
msgid "Create an Effect"
msgstr "创建效果"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "翻译"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "捐赠"
#: resources/ui/common/main-menu.ui:45
msgid "About Burn-My-Windows"
msgstr "关于 Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
#: resources/ui/gtk3/EnergizeB.ui:42
#, fuzzy
msgid "Animation Time [ms]"
msgstr "动画时间 [毫秒]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
msgid "Reset to Default Value"
msgstr "重置为默认值"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
#, fuzzy
msgid "Scale"
msgstr "规模"
#: resources/ui/gtk4/Matrix.ui:116
#, fuzzy
msgid "Randomness"
msgstr "随机性"
#: resources/ui/gtk4/Matrix.ui:162
#, fuzzy
msgid "Vertical Overshooting"
msgstr "垂直过冲"
#: resources/ui/gtk4/Matrix.ui:208
#, fuzzy
msgid "Trail Color"
msgstr "尾迹颜色"
#: resources/ui/gtk4/Matrix.ui:242
#, fuzzy
msgid "Tip Color"
msgstr "提示颜色"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "重力"
#: resources/ui/gtk4/BrokenGlass.ui:162
#, fuzzy
msgid "Blow Force"
msgstr "吹力"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr ""
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "颜色"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "预设"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "速度"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
#, fuzzy
msgid "3D Noise"
msgstr "3D 噪点"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr ""
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr ""
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr ""
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr ""
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr ""
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr ""
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr ""
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr ""
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr ""
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr ""
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr ""
+266 -97
View File
@@ -14,6 +14,15 @@
'use strict'; 'use strict';
const {Gio, Gtk, Gdk, GLib, GObject} = imports.gi; const {Gio, Gtk, Gdk, GLib, GObject} = imports.gi;
const ByteArray = imports.byteArray;
// libadwaita is available starting with GNOME Shell 42.
let Adw = null;
try {
Adw = imports.gi.Adw;
} catch (e) {
// Nothing to do.
}
const _ = imports.gettext.domain('burn-my-windows').gettext; const _ = imports.gettext.domain('burn-my-windows').gettext;
@@ -55,13 +64,11 @@ var PreferencesDialog = class PreferencesDialog {
const styleProvider = Gtk.CssProvider.new(); const styleProvider = Gtk.CssProvider.new();
styleProvider.load_from_resource('/css/gtk.css'); styleProvider.load_from_resource('/css/gtk.css');
if (utils.isGTK4()) { if (utils.isGTK4()) {
Gtk.StyleContext.add_provider_for_display( Gtk.StyleContext.add_provider_for_display(Gdk.Display.get_default(), styleProvider,
Gdk.Display.get_default(), styleProvider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
} else { } else {
Gtk.StyleContext.add_provider_for_screen( Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), styleProvider,
Gdk.Screen.get_default(), styleProvider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
} }
// Make sure custom icons are found. // Make sure custom icons are found.
@@ -85,26 +92,116 @@ var PreferencesDialog = class PreferencesDialog {
// Bind general options properties. // Bind general options properties.
this.bindSwitch('destroy-dialogs'); this.bindSwitch('destroy-dialogs');
// Add all other effect pages.
const stack = this._builder.get_object('main-stack');
ALL_EFFECTS.forEach(Effect => {
const [minMajor, minMinor] = Effect.getMinShellVersion();
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
const page = new BurnMyWindowsEffectPage(Effect, this); // Starting with GNOME Shell 42, the settings dialog uses libadwaita. We have to use a
// different layout, as the stack sidebar looks pretty ugly with the included
// Adw.Clamp...
if (utils.shellVersionIsAtLeast(42, 'beta')) {
// Add the Effect's preferences (if any). // This is our top-level widget which we will return later.
const preferences = Effect.getPreferences(this); this._widget = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL});
if (preferences) {
this.gtkBoxAppend(page, preferences); // Add the general options page to the settings dialog.
const generalPrefs = this._builder.get_object('general-prefs');
this.gtkBoxAppend(this._widget, generalPrefs);
// Then add a preferences group with action rows to open the effect subpages.
const group = new Adw.PreferencesGroup({title: _('Effect Options')});
this.gtkBoxAppend(this._widget, group);
ALL_EFFECTS.forEach(Effect => {
const [minMajor, minMinor] = Effect.getMinShellVersion();
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
const row = new Adw.ActionRow({title: Effect.getLabel(), activatable: true});
row.add_suffix(new Gtk.Image({icon_name: 'go-next-symbolic'}));
// Open a subpage with the effect's settings.
row.connect('activated', () => {
const page = new BurnMyWindowsEffectPage(Effect, this);
page.valign = Gtk.Align.CENTER;
page.margin_top = 10;
page.margin_bottom = 10;
page.margin_start = 10;
page.margin_end = 10;
// Add the Effect's preferences (if any).
const preferences = Effect.getPreferences(this);
if (preferences) {
this.gtkBoxAppend(page, preferences);
}
// Add a button for back navigation.
const backButton = new Gtk.Button({
halign: Gtk.Align.CENTER,
label: _('Go Back'),
});
backButton.add_css_class('suggested-action');
backButton.add_css_class('pill-button');
backButton.connect('clicked', () => {
row.get_root().close_subpage();
});
this.gtkBoxAppend(page, backButton);
// Wrap the preferences group in an Adw.Clamp.
const clamp = new Adw.Clamp({
child: page,
maximum_size: 600,
tightening_threshold: 400,
});
// Open the subpage on click.
row.get_root().present_subpage(clamp);
});
group.add(row);
} }
});
stack.add_titled(page, Effect.getNick(), Effect.getLabel()); }
} // On older GNOME versions, we use a StackSidebar.
}); else {
// This is our top-level widget which we will return later. // This is our top-level widget which we will return later.
this._widget = this._builder.get_object('settings-widget'); this._widget = new Gtk.Box({
orientation: Gtk.Orientation.HORIZONTAL,
});
const stack = new Gtk.Stack({
transition_type: Gtk.StackTransitionType.SLIDE_UP_DOWN,
});
// Add the general options page.
const generalPage = this._builder.get_object('general-prefs');
generalPage.margin_start = 60;
generalPage.margin_end = 60;
stack.add_titled(generalPage, 'general', _('General Options'));
this.gtkBoxAppend(this._widget, new Gtk.StackSidebar({stack: stack}));
this.gtkBoxAppend(this._widget, stack);
// Add all other effect pages.
ALL_EFFECTS.forEach(Effect => {
const [minMajor, minMinor] = Effect.getMinShellVersion();
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
const page = new BurnMyWindowsEffectPage(Effect, this);
page.margin_start = 60;
page.margin_end = 60;
page.margin_top = 60;
page.margin_bottom = 60;
// Add the Effect's preferences (if any).
const preferences = Effect.getPreferences(this);
if (preferences) {
this.gtkBoxAppend(page, preferences);
}
stack.add_titled(page, Effect.getNick(), Effect.getLabel());
}
});
}
// Some things can only be done once the widget is shown as we do not have access to // Some things can only be done once the widget is shown as we do not have access to
// the toplevel widget before. // the toplevel widget before.
@@ -118,27 +215,81 @@ var PreferencesDialog = class PreferencesDialog {
{ {
// Add the menu button to the title bar. // Add the menu button to the title bar.
const menu = this._builder.get_object('menu-button'); const menu = this._builder.get_object('menu-button');
window.get_titlebar().pack_end(menu);
// Starting with GNOME Shell 42, we have to hack our way through the widget tree
// of the Adw.PreferencesWindow...
if (utils.shellVersionIsAtLeast(42, 'beta')) {
const header = this._findWidgetByType(window.get_content(), Adw.HeaderBar);
header.pack_end(menu);
// Allow closing of the sub pages.
window.can_navigate_back = true;
} else {
window.get_titlebar().pack_end(menu);
}
// Populate the menu with actions. // Populate the menu with actions.
const group = Gio.SimpleActionGroup.new(); const group = Gio.SimpleActionGroup.new();
window.insert_action_group('prefs', group); window.insert_action_group('prefs', group);
const addAction = (name, uri) => { const addURIAction = (name, uri) => {
const action = Gio.SimpleAction.new(name, null); const action = Gio.SimpleAction.new(name, null);
action.connect('activate', () => Gtk.show_uri(null, uri, Gdk.CURRENT_TIME)); action.connect('activate', () => Gtk.show_uri(null, uri, Gdk.CURRENT_TIME));
group.add_action(action); group.add_action(action);
}; };
// clang-format off // clang-format off
addAction('homepage', 'https://github.com/Schneegans/Burn-My-Windows'); addURIAction('homepage', 'https://github.com/Schneegans/Burn-My-Windows');
addAction('changelog', 'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/changelog.md'); addURIAction('changelog', 'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/changelog.md');
addAction('bugs', 'https://github.com/Schneegans/Burn-My-Windows/issues'); addURIAction('bugs', 'https://github.com/Schneegans/Burn-My-Windows/issues');
addAction('new-effect', 'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/how-to-create-new-effects.md'); addURIAction('new-effect', 'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/how-to-create-new-effects.md');
addAction('translate', 'https://hosted.weblate.org/engage/burn-my-windows/'); addURIAction('translate', 'https://hosted.weblate.org/engage/burn-my-windows/');
addAction('donate-paypal', 'https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE'); addURIAction('donate-paypal', 'https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE');
addAction('donate-github', 'https://github.com/sponsors/Schneegans'); addURIAction('donate-github', 'https://github.com/sponsors/Schneegans');
// clang-format on // clang-format on
// Add the about dialog.
const aboutAction = Gio.SimpleAction.new('about', null);
aboutAction.connect('activate', () => {
// The JSON report format from weblate is a bit weird. Here we extract all
// unique names from the translation report.
const translators = new Set();
this._getJSONResource('/credits/translators.json').forEach(i => {
for (const j of Object.values(i)) {
j.forEach(k => translators.add(k[1]));
}
});
const sponsors = this._getJSONResource('/credits/sponsors.json');
const dialog = new Gtk.AboutDialog({transient_for: window, modal: true});
dialog.set_logo_icon_name('burn-my-windows-symbolic');
dialog.set_program_name(`Burn-My-Windows ${Me.metadata.version}`);
dialog.set_website('https://github.com/Schneegans/Burn-My-Windows');
dialog.set_authors(['Simon Schneegans']);
dialog.set_copyright('© 2022 Simon Schneegans');
dialog.set_translator_credits([...translators].join('\n'));
if (sponsors.gold.length > 0) {
dialog.add_credit_section(_('Gold Sponsors'), sponsors.gold);
}
if (sponsors.silver.length > 0) {
dialog.add_credit_section(_('Silver Sponsors'), sponsors.silver);
}
if (sponsors.bronze.length > 0) {
dialog.add_credit_section(_('Bronze Sponsors'), sponsors.bronze);
}
if (sponsors.past.length > 0) {
dialog.add_credit_section(_('Past Sponsors'), sponsors.past);
}
dialog.set_license_type(Gtk.License.GPL_3_0);
if (utils.isGTK4()) {
dialog.show();
} else {
dialog.show_all();
}
});
group.add_action(aboutAction);
} }
// Populate the open-effects drop-down menu. // Populate the open-effects drop-down menu.
@@ -301,85 +452,103 @@ var PreferencesDialog = class PreferencesDialog {
this._bindResetButton(settingsKey); this._bindResetButton(settingsKey);
} }
// Reads the contents of a JSON file contained in the global resources archive. The data
// is parsed and returned as a JavaScript object / array.
_getJSONResource(path) {
const data = Gio.resources_lookup_data(path, 0);
const string = ByteArray.toString(ByteArray.fromGBytes(data));
return JSON.parse(string);
}
// This traverses the widget tree below the given parent recursively and returns the
// first widget of the given type.
_findWidgetByType(parent, type) {
for (const child of [...parent]) {
if (child instanceof type) return child;
const match = this._findWidgetByType(child, type);
if (match) return match;
}
return null;
}
// Initializes template widgets used by the preferences dialog. // Initializes template widgets used by the preferences dialog.
_registerCustomClasses() { _registerCustomClasses() {
// Each effect page is based on a template widget. This template contains the title // Each effect page is based on a template widget. This template contains the title
// and the preview button. // and the preview button.
// clang-format off
if (GObject.type_from_name('BurnMyWindowsEffectPage') == null) { if (GObject.type_from_name('BurnMyWindowsEffectPage') == null) {
BurnMyWindowsEffectPage = BurnMyWindowsEffectPage = GObject.registerClass(
GObject.registerClass({ {
GTypeName: 'BurnMyWindowsEffectPage', GTypeName: 'BurnMyWindowsEffectPage',
Template: `resource:///ui/${utils.getGTKString()}/effectPage.ui`, Template: `resource:///ui/${utils.getGTKString()}/effectPage.ui`,
InternalChildren: ['label', 'button'], InternalChildren: ['label', 'button'],
}, },
class BurnMyWindowsEffectPage extends Gtk.Box { class BurnMyWindowsEffectPage extends Gtk.Box { // ------------------------------
_init(Effect, dialog) { _init(Effect, dialog) {
super._init(); super._init();
// Set the effect's name as label. // Set the effect's name as label.
this._label.label = Effect.getLabel(); this._label.label = Effect.getLabel();
// Open the preview window once the preview button is clicked. // Open the preview window once the preview button is clicked.
this._button.connect('clicked', () => { this._button.connect('clicked', () => {
// Set the to-be-previewed effect.
dialog.getSettings().set_string('open-preview-effect', Effect.getNick());
dialog.getSettings().set_string('close-preview-effect', Effect.getNick());
// Set the to-be-previewed effect. // Make sure that the window.show() firther below "sees" this change.
dialog.getSettings().set_string('open-preview-effect', Effect.getNick()); Gio.Settings.sync();
dialog.getSettings().set_string('close-preview-effect', Effect.getNick());
// Make sure that the window.show() firther below "sees" this change. // Create the preview-window.
Gio.Settings.sync(); const window = new Gtk.Window({
// Translators: %s will be replaced by the effect's name.
title: _('Preview for %s').replace('%s', Effect.getLabel()),
default_width: 800,
default_height: 450,
modal: true,
transient_for: utils.isGTK4() ? this._button.get_root() :
this._button.get_toplevel()
});
// Create the preview-window. // Add a header bar to the window.
const window = new Gtk.Window({ if (utils.isGTK4()) {
// Translators: %s will be replaced by the effect's name. const header = Gtk.HeaderBar.new();
title: _('Preview for %s').replace("%s", Effect.getLabel()), window.set_titlebar(header);
default_width: 800, }
default_height: 450,
modal: true, const box = new Gtk.Box({
transient_for: utils.isGTK4() ? this._button.get_root() : orientation: Gtk.Orientation.VERTICAL,
this._button.get_toplevel() valign: Gtk.Align.CENTER,
spacing: 10,
margin_start: 50,
margin_end: 50
});
const label = Gtk.Label.new(_('Close this Window to Preview the Effect!'));
label.wrap = true;
label.justify = Gtk.Justification.CENTER;
label.get_style_context().add_class('large-title');
const image = new Gtk.Image({
icon_name: 'burn-my-windows-symbolic',
pixel_size: 128,
});
dialog.gtkBoxAppend(box, image);
dialog.gtkBoxAppend(box, label);
if (utils.isGTK4()) {
window.set_child(box);
window.show();
} else {
window.add(box);
window.show_all();
}
}); });
}
// Add a header bar to the window. });
if (utils.isGTK4()) {
const header = Gtk.HeaderBar.new();
window.set_titlebar(header);
}
const box = new Gtk.Box({
orientation: Gtk.Orientation.VERTICAL,
valign: Gtk.Align.CENTER,
spacing: 10,
margin_start:50,
margin_end:50
});
const label = Gtk.Label.new(_('Close this Window to Preview the Effect!'));
label.wrap = true;
label.justify = Gtk.Justification.CENTER;
label.get_style_context().add_class('large-title');
const image = new Gtk.Image({
icon_name: 'burn-my-windows-symbolic',
pixel_size: 128,
});
dialog.gtkBoxAppend(box, image);
dialog.gtkBoxAppend(box, label);
if (utils.isGTK4()) {
window.set_child(box);
window.show();
} else {
window.add(box);
window.show_all();
}
});
}
});
// clang-format on
} }
} }
} }
+1
View File
@@ -0,0 +1 @@
The `translators.json` file is directly exported from weblate.
+20
View File
@@ -0,0 +1,20 @@
{
"gold": [
"<a href='https://github.com/dennis1248'>Dennis ten Hoove</a>"
],
"silver": [
"<a href='https://twitter.com/tjiiik'>tj3k</a>",
"<a href='https://github.com/MRR-dev'>@MRR-dev</a>",
"<a href='https://github.com/castrojo'>Jorge Castro</a>"
],
"bronze": [
"<a href='https://github.com/danielheadbang'>@danielheadbang</a>"
],
"past": [
"<a href='https://github.com/MrTomRod'>@MrTomRod</a>",
"Pouhiou",
"DAPREMONT Christophe",
"<a href='https://github.com/manero6'>@manero6</a>",
"<a href='https://github.com/RickStanley'>@RickStanley</a>"
]
}
+117
View File
@@ -0,0 +1,117 @@
[
{
"Norwegian Bokm\u00e5l": [
[
"epost@anotheragency.no",
"Allan Nordh\u00f8y",
3
]
]
},
{
"Dutch": [
[
"vistausss@fastmail.com",
"Heimen Stoffels",
65
]
]
},
{
"Russian": [
[
"franigoyt@gmail.com",
"ANIGO R. (AR)",
59
]
]
},
{
"Czech": [
[
"jiri.doubravsky@gmail.com",
"Ji\u0159\u00ed Doubravsk\u00fd",
70
]
]
},
{
"Turkish": [
[
"muhaaliss@pm.me",
"Muha Aliss",
57
]
]
},
{
"Italian": [
[
"mario03@gmail.com",
"Mario",
1
],
[
"albano_battistella@hotmail.com",
"albanobattistella",
63
]
]
},
{
"Chinese (Simplified)": [
[
"lyuutau@outlook.com",
"\u5218\u97ec",
36
]
]
},
{
"German": [
[
"code@simonschneegans.de",
"Simon Schneegans",
59
]
]
},
{
"French": [
[
"redxxiii@zaclys.net",
"Reda",
13
],
[
"theo.remon+weblate@uswery.eu",
"Th\u00e9o Remon",
24
],
[
"bonnemainsnathan@gmail.com",
"Nathan",
42
]
]
},
{
"Spanish": [
[
"ulicesah@gmail.com",
"Ulices",
7
],
[
"fitojb@ubuntu.com",
"Adolfo Jayme Barrientos",
11
],
[
"oscfdezdz@tuta.io",
"\u00d3scar Fern\u00e1ndez D\u00edaz",
55
]
]
}
]
+8 -2
View File
@@ -27,14 +27,20 @@
<submenu> <submenu>
<attribute name="label" translatable="yes">Donate</attribute> <attribute name="label" translatable="yes">Donate</attribute>
<item> <item>
<attribute name="label" translatable="yes">Via PayPal</attribute> <attribute name="label">PayPal</attribute>
<attribute name="action">prefs.donate-paypal</attribute> <attribute name="action">prefs.donate-paypal</attribute>
</item> </item>
<item> <item>
<attribute name="label" translatable="yes">Via GitHub</attribute> <attribute name="label">GitHub</attribute>
<attribute name="action">prefs.donate-github</attribute> <attribute name="action">prefs.donate-github</attribute>
</item> </item>
</submenu> </submenu>
</section> </section>
<section>
<item>
<attribute name="label" translatable="yes">About Burn-My-Windows</attribute>
<attribute name="action">prefs.about</attribute>
</item>
</section>
</menu> </menu>
</interface> </interface>
+2 -2
View File
@@ -3,8 +3,8 @@
<object class="GtkAdjustment" id="energize-a-animation-time"> <object class="GtkAdjustment" id="energize-a-animation-time">
<property name="upper">10000</property> <property name="upper">10000</property>
<property name="lower">500</property> <property name="lower">100</property>
<property name="step-increment">10</property> <property name="step-increment">1</property>
<property name="page-increment">100</property> <property name="page-increment">100</property>
</object> </object>
+2 -2
View File
@@ -3,8 +3,8 @@
<object class="GtkAdjustment" id="energize-b-animation-time"> <object class="GtkAdjustment" id="energize-b-animation-time">
<property name="upper">10000</property> <property name="upper">10000</property>
<property name="lower">500</property> <property name="lower">100</property>
<property name="step-increment">10</property> <property name="step-increment">1</property>
<property name="page-increment">100</property> <property name="page-increment">100</property>
</object> </object>
+2 -2
View File
@@ -3,8 +3,8 @@
<object class="GtkAdjustment" id="fire-animation-time"> <object class="GtkAdjustment" id="fire-animation-time">
<property name="upper">10000</property> <property name="upper">10000</property>
<property name="lower">500</property> <property name="lower">100</property>
<property name="step-increment">10</property> <property name="step-increment">1</property>
<property name="page-increment">100</property> <property name="page-increment">100</property>
</object> </object>
+2 -2
View File
@@ -3,8 +3,8 @@
<object class="GtkAdjustment" id="wisps-animation-time"> <object class="GtkAdjustment" id="wisps-animation-time">
<property name="upper">10000</property> <property name="upper">10000</property>
<property name="lower">500</property> <property name="lower">100</property>
<property name="step-increment">10</property> <property name="step-increment">1</property>
<property name="page-increment">100</property> <property name="page-increment">100</property>
</object> </object>
+1 -5
View File
@@ -4,10 +4,6 @@
<template class="BurnMyWindowsEffectPage" parent="GtkBox"> <template class="BurnMyWindowsEffectPage" parent="GtkBox">
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="margin-top">60</property>
<property name="margin-bottom">60</property>
<property name="margin-start">60</property>
<property name="margin-end">60</property>
<property name="hexpand">1</property> <property name="hexpand">1</property>
<property name="spacing">10</property> <property name="spacing">10</property>
@@ -44,8 +40,8 @@
</object> </object>
</child> </child>
<style> <style>
<class name="suggested-action" />
<class name="pill-button" /> <class name="pill-button" />
<class name="flat" />
</style> </style>
</object> </object>
</child> </child>
+176 -203
View File
@@ -17,247 +17,220 @@
</child> </child>
</object> </object>
<object class="GtkBox" id="settings-widget"> <object class="GtkBox" id="general-prefs">
<property name="orientation">vertical</property>
<property name="margin-top">30</property>
<property name="margin-bottom">30</property>
<child> <child>
<object class="GtkStackSidebar"> <object class="GtkImage">
<property name="stack">main-stack</property> <property name="valign">center</property>
<property name="icon-name">burn-my-windows-symbolic</property>
<property name="pixel_size">128</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkStack" id="main-stack"> <object class="GtkLabel">
<property name="transition-type">slide-up-down</property> <property name="label" translatable="yes">Welcome to Burn-My-Windows!</property>
<property name="hexpand">1</property> <property name="margin-top">8</property>
<property name="margin-bottom">6</property>
<style>
<class name="large-title" />
</style>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">If you like this extension, recommend it to your friends :)</property>
<property name="margin-bottom">36</property>
</object>
</child>
<child>
<object class="GtkFrame">
<child> <child>
<object class="GtkBox" id="general-prefs"> <object class="GtkListBox">
<property name="orientation">vertical</property> <property name="selection-mode">none</property>
<property name="margin-start">60</property>
<property name="margin-end">60</property>
<property name="margin-top">30</property>
<property name="margin-bottom">30</property>
<child> <child>
<object class="GtkImage"> <object class="GtkListBoxRow">
<property name="valign">center</property> <property name="margin-start">10</property>
<property name="icon-name">burn-my-windows-symbolic</property> <property name="margin-end">10</property>
<property name="pixel_size">128</property> <property name="margin-top">10</property>
</object> <property name="margin-bottom">10</property>
</child> <property name="activatable">0</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Welcome to Burn-My-Windows!</property>
<property name="margin-top">8</property>
<property name="margin-bottom">6</property>
<style>
<class name="large-title" />
</style>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">If you like this extension, recommend it to your friends :)</property>
<property name="margin-bottom">36</property>
</object>
</child>
<child>
<object class="GtkFrame">
<child> <child>
<object class="GtkListBox"> <object class="GtkBox">
<property name="selection-mode">none</property> <property name="spacing">8</property>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkBox">
<property name="margin-start">10</property> <property name="orientation">vertical</property>
<property name="margin-end">10</property> <property name="spacing">3</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="activatable">0</property>
<child> <child>
<object class="GtkBox"> <object class="GtkLabel">
<property name="spacing">8</property> <property name="label" translatable="yes">Open Window Animation</property>
<child> <property name="xalign">0</property>
<object class="GtkBox"> <property name="halign">start</property>
<property name="orientation">vertical</property> <property name="valign">center</property>
<property name="spacing">3</property> <property name="hexpand">1</property>
<child> </object>
<object class="GtkLabel"> </child>
<property name="label" translatable="yes">Open Window Animation</property> <child>
<property name="xalign">0</property> <object class="GtkLabel">
<property name="halign">start</property> <property name="label" translatable="yes">If multiple are selected, one is chosen randomly.</property>
<property name="valign">center</property> <property name="xalign">0</property>
<property name="hexpand">1</property> <property name="halign">start</property>
</object> <property name="valign">center</property>
</child> <property name="hexpand">1</property>
<child> <style>
<object class="GtkLabel"> <class name="dim-label" />
<property name="label" translatable="yes">If multiple are selected, one is chosen randomly.</property> <class name="caption" />
<property name="xalign">0</property> </style>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
<style>
<class name="dim-label" />
<class name="caption" />
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuButton" id="open-effect-button">
<property name="menu-model">open-effect-menu</property>
<child>
<object class="GtkBox">
<property name="spacing">8</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Choose Effects</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="icon-name">pan-down-symbolic</property>
<property name="icon-size">1</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object> </object>
</child> </child>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkMenuButton" id="open-effect-button">
<property name="margin-start">10</property> <property name="menu-model">open-effect-menu</property>
<property name="margin-end">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<property name="spacing">8</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<property name="spacing">3</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Close Window Animation</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">If multiple are selected, one is chosen randomly.</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
<style>
<class name="dim-label" />
<class name="caption" />
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuButton" id="close-effect-button">
<property name="menu-model">close-effect-menu</property>
<child>
<object class="GtkBox">
<property name="spacing">8</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Choose Effects</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="icon-name">pan-down-symbolic</property>
<property name="icon-size">1</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkListBoxRow">
<property name="margin-start">10</property>
<property name="margin-end">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="activatable">0</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="spacing">8</property> <property name="spacing">8</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="label" translatable="yes">Also Add Effects to Dialogs</property> <property name="label" translatable="yes">Choose Effects</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkSwitch" id="destroy-dialogs"> <object class="GtkImage">
<property name="halign">end</property> <property name="icon-name">pan-down-symbolic</property>
<property name="valign">center</property> <property name="icon-size">1</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset-destroy-dialogs">
<child>
<object class="GtkImage">
<property name="icon-name">edit-clear-symbolic</property>
<property name="icon-size">1</property>
</object>
</child>
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
<style>
<class name="flat" />
</style>
</object> </object>
</child> </child>
</object> </object>
</child> </child>
</object> </object>
</child> </child>
</object> </object>
</child> </child>
</object> </object>
</child> </child>
<child>
<object class="GtkListBoxRow">
<property name="margin-start">10</property>
<property name="margin-end">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<property name="spacing">8</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<property name="spacing">3</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Close Window Animation</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">If multiple are selected, one is chosen randomly.</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
<style>
<class name="dim-label" />
<class name="caption" />
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuButton" id="close-effect-button">
<property name="menu-model">close-effect-menu</property>
<child>
<object class="GtkBox">
<property name="spacing">8</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Choose Effects</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="icon-name">pan-down-symbolic</property>
<property name="icon-size">1</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkListBoxRow">
<property name="margin-start">10</property>
<property name="margin-end">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<property name="spacing">8</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Also Add Effects to Dialogs</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkSwitch" id="destroy-dialogs">
<property name="halign">end</property>
<property name="valign">center</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset-destroy-dialogs">
<child>
<object class="GtkImage">
<property name="icon-name">edit-clear-symbolic</property>
<property name="icon-size">1</property>
</object>
</child>
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
<style>
<class name="flat" />
</style>
</object>
</child>
</object>
</child>
</object>
</child>
</object> </object>
<packing>
<property name="name">general</property>
<property name="title" translatable="yes">General Options</property>
</packing>
</child> </child>
<!-- Stack pages are inserted here -->
</object> </object>
</child> </child>
</object> </object>
</interface> </interface>
+2 -2
View File
@@ -39,8 +39,8 @@
<property name="adjustment"> <property name="adjustment">
<object class="GtkAdjustment" id="broken-glass-animation-time"> <object class="GtkAdjustment" id="broken-glass-animation-time">
<property name="upper">10000</property> <property name="upper">10000</property>
<property name="lower">500</property> <property name="lower">100</property>
<property name="step-increment">10</property> <property name="step-increment">1</property>
<property name="page-increment">100</property> <property name="page-increment">100</property>
</object> </object>
</property> </property>
+2 -2
View File
@@ -39,8 +39,8 @@
<property name="adjustment"> <property name="adjustment">
<object class="GtkAdjustment" id="energize-a-animation-time"> <object class="GtkAdjustment" id="energize-a-animation-time">
<property name="upper">10000</property> <property name="upper">10000</property>
<property name="lower">500</property> <property name="lower">100</property>
<property name="step-increment">10</property> <property name="step-increment">1</property>
<property name="page-increment">100</property> <property name="page-increment">100</property>
</object> </object>
</property> </property>
+2 -2
View File
@@ -39,8 +39,8 @@
<property name="adjustment"> <property name="adjustment">
<object class="GtkAdjustment" id="energize-b-animation-time"> <object class="GtkAdjustment" id="energize-b-animation-time">
<property name="upper">10000</property> <property name="upper">10000</property>
<property name="lower">500</property> <property name="lower">100</property>
<property name="step-increment">10</property> <property name="step-increment">1</property>
<property name="page-increment">100</property> <property name="page-increment">100</property>
</object> </object>
</property> </property>
+2 -2
View File
@@ -64,8 +64,8 @@
<property name="adjustment"> <property name="adjustment">
<object class="GtkAdjustment" id="fire-animation-time"> <object class="GtkAdjustment" id="fire-animation-time">
<property name="upper">10000</property> <property name="upper">10000</property>
<property name="lower">500</property> <property name="lower">100</property>
<property name="step-increment">10</property> <property name="step-increment">1</property>
<property name="page-increment">100</property> <property name="page-increment">100</property>
</object> </object>
</property> </property>
+2 -2
View File
@@ -39,8 +39,8 @@
<property name="adjustment"> <property name="adjustment">
<object class="GtkAdjustment" id="matrix-animation-time"> <object class="GtkAdjustment" id="matrix-animation-time">
<property name="upper">10000</property> <property name="upper">10000</property>
<property name="lower">500</property> <property name="lower">100</property>
<property name="step-increment">10</property> <property name="step-increment">1</property>
<property name="page-increment">100</property> <property name="page-increment">100</property>
</object> </object>
</property> </property>
+2 -2
View File
@@ -39,8 +39,8 @@
<property name="adjustment"> <property name="adjustment">
<object class="GtkAdjustment" id="trex-animation-time"> <object class="GtkAdjustment" id="trex-animation-time">
<property name="upper">10000</property> <property name="upper">10000</property>
<property name="lower">500</property> <property name="lower">100</property>
<property name="step-increment">10</property> <property name="step-increment">1</property>
<property name="page-increment">100</property> <property name="page-increment">100</property>
</object> </object>
</property> </property>
+2 -2
View File
@@ -39,8 +39,8 @@
<property name="adjustment"> <property name="adjustment">
<object class="GtkAdjustment" id="wisps-animation-time"> <object class="GtkAdjustment" id="wisps-animation-time">
<property name="upper">10000</property> <property name="upper">10000</property>
<property name="lower">500</property> <property name="lower">100</property>
<property name="step-increment">10</property> <property name="step-increment">1</property>
<property name="page-increment">100</property> <property name="page-increment">100</property>
</object> </object>
</property> </property>
+1 -5
View File
@@ -4,10 +4,6 @@
<template class="BurnMyWindowsEffectPage" parent="GtkBox"> <template class="BurnMyWindowsEffectPage" parent="GtkBox">
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="margin-top">60</property>
<property name="margin-bottom">60</property>
<property name="margin-start">60</property>
<property name="margin-end">60</property>
<property name="hexpand">1</property> <property name="hexpand">1</property>
<property name="spacing">10</property> <property name="spacing">10</property>
@@ -44,8 +40,8 @@
</object> </object>
</property> </property>
<style> <style>
<class name="suggested-action" />
<class name="pill-button" /> <class name="pill-button" />
<class name="flat" />
</style> </style>
</object> </object>
</child> </child>
+144 -172
View File
@@ -10,203 +10,175 @@
<property name="icon-name">open-menu-symbolic</property> <property name="icon-name">open-menu-symbolic</property>
</object> </object>
<object class="GtkBox" id="settings-widget"> <object class="GtkBox" id="general-prefs">
<property name="orientation">vertical</property>
<property name="margin-top">60</property>
<property name="margin-bottom">60</property>
<child> <child>
<object class="GtkStackSidebar"> <object class="GtkImage">
<property name="stack">main-stack</property> <property name="valign">center</property>
<property name="icon-name">burn-my-windows-symbolic</property>
<property name="pixel_size">128</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkStack" id="main-stack"> <object class="GtkLabel">
<property name="transition-type">slide-up-down</property> <property name="label" translatable="yes">Welcome to Burn-My-Windows!</property>
<property name="hexpand">1</property> <property name="margin-top">8</property>
<property name="margin-bottom">6</property>
<style>
<class name="large-title" />
</style>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">If you like this extension, recommend it to your friends :)</property>
<property name="margin-bottom">36</property>
</object>
</child>
<child>
<object class="GtkFrame">
<child> <child>
<object class="GtkStackPage"> <object class="GtkListBox">
<property name="name">general</property> <property name="selection-mode">none</property>
<property name="title" translatable="yes">General Options</property> <property name="show-separators">1</property>
<style>
<class name="rich-list" />
</style>
<property name="child">
<object class="GtkBox" id="general-prefs">
<property name="orientation">vertical</property>
<property name="margin-start">60</property>
<property name="margin-end">60</property>
<property name="margin-top">60</property>
<property name="margin-bottom">60</property>
<child>
<object class="GtkListBoxRow">
<property name="activatable">0</property>
<child> <child>
<object class="GtkImage"> <object class="GtkBox">
<property name="valign">center</property>
<property name="icon-name">burn-my-windows-symbolic</property>
<property name="pixel_size">128</property>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Welcome to Burn-My-Windows!</property>
<property name="margin-top">8</property>
<property name="margin-bottom">6</property>
<style>
<class name="large-title" />
</style>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">If you like this extension, recommend it to your friends :)</property>
<property name="margin-bottom">36</property>
</object>
</child>
<child>
<object class="GtkFrame">
<child> <child>
<object class="GtkListBox"> <object class="GtkBox">
<property name="selection-mode">none</property> <property name="orientation">vertical</property>
<property name="show-separators">1</property> <property name="spacing">3</property>
<style>
<class name="rich-list" />
</style>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkLabel">
<property name="activatable">0</property> <property name="label" translatable="yes">Open Window Animation</property>
<child> <property name="xalign">0</property>
<object class="GtkBox"> <property name="halign">start</property>
<child> <property name="valign">center</property>
<object class="GtkBox"> <property name="hexpand">1</property>
<property name="orientation">vertical</property>
<property name="spacing">3</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Open Window Animation</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">If multiple are selected, one is chosen randomly.</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
<style>
<class name="dim-label" />
<class name="caption" />
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuButton" id="open-effect-button">
<property name="label" translatable="yes">Choose Effects</property>
<property name="menu-model">open-effect-menu</property>
</object>
</child>
</object>
</child>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkLabel">
<property name="activatable">0</property> <property name="label" translatable="yes">If multiple are selected, one is chosen randomly.</property>
<child> <property name="xalign">0</property>
<object class="GtkBox"> <property name="halign">start</property>
<child> <property name="valign">center</property>
<object class="GtkBox"> <property name="hexpand">1</property>
<property name="orientation">vertical</property> <style>
<property name="spacing">3</property> <class name="dim-label" />
<child> <class name="caption" />
<object class="GtkLabel"> </style>
<property name="label" translatable="yes">Close Window Animation</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">If multiple are selected, one is chosen randomly.</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
<style>
<class name="dim-label" />
<class name="caption" />
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuButton" id="close-effect-button">
<property name="label" translatable="yes">Choose Effects</property>
<property name="menu-model">close-effect-menu</property>
</object>
</child>
</object>
</child>
</object> </object>
</child> </child>
</object>
<child> </child>
<object class="GtkListBoxRow"> <child>
<property name="activatable">0</property> <object class="GtkMenuButton" id="open-effect-button">
<child> <property name="label" translatable="yes">Choose Effects</property>
<object class="GtkBox"> <property name="menu-model">open-effect-menu</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Also Add Effects to Dialogs</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkSwitch" id="destroy-dialogs">
<property name="halign">end</property>
<property name="valign">center</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset-destroy-dialogs">
<property name="icon-name">edit-clear-symbolic</property>
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
<style>
<class name="flat" />
</style>
</object>
</child>
</object>
</child>
</object>
</child>
</object> </object>
</child> </child>
</object> </object>
</child> </child>
</object> </object>
</property> </child>
<child>
<object class="GtkListBoxRow">
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<property name="spacing">3</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Close Window Animation</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">If multiple are selected, one is chosen randomly.</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
<style>
<class name="dim-label" />
<class name="caption" />
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuButton" id="close-effect-button">
<property name="label" translatable="yes">Choose Effects</property>
<property name="menu-model">close-effect-menu</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkListBoxRow">
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Also Add Effects to Dialogs</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkSwitch" id="destroy-dialogs">
<property name="halign">end</property>
<property name="valign">center</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset-destroy-dialogs">
<property name="icon-name">edit-clear-symbolic</property>
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
<style>
<class name="flat" />
</style>
</object>
</child>
</object>
</child>
</object>
</child>
</object> </object>
</child> </child>
<!-- Stack pages are inserted here -->
</object> </object>
</child> </child>
</object> </object>
</interface> </interface>
@@ -25,6 +25,12 @@
<description>The effect with this nick will be used for the next window-open animation.</description> <description>The effect with this nick will be used for the next window-open animation.</description>
</key> </key>
<key name="test-mode" type="b">
<default>false</default>
<summary>Test Mode</summary>
<description>If set to true, all animations will show only one still frame to allow for continuous integration tests.</description>
</key>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Fire Options --> <!-- Fire Options -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+9 -6
View File
@@ -134,9 +134,8 @@ if (utils.isInShellProcess()) {
// this texture is also re-created each time. This could be improved in the future! // this texture is also re-created each time. This could be improved in the future!
const shardData = GdkPixbuf.Pixbuf.new_from_resource('/img/shards.png'); const shardData = GdkPixbuf.Pixbuf.new_from_resource('/img/shards.png');
this._shardTexture = new Clutter.Image(); this._shardTexture = new Clutter.Image();
this._shardTexture.set_data( this._shardTexture.set_data(shardData.get_pixels(), Cogl.PixelFormat.RGB_888,
shardData.get_pixels(), Cogl.PixelFormat.RGB_888, shardData.width, shardData.width, shardData.height, shardData.rowstride);
shardData.height, shardData.rowstride);
// Usually, the shards fly away from the center of the window. // Usually, the shards fly away from the center of the window.
let epicenterX = 0.5; let epicenterX = 0.5;
@@ -150,6 +149,9 @@ if (utils.isInShellProcess()) {
epicenterY = localY / actor.height; epicenterY = localY / actor.height;
} }
// If we are currently performing integration test, the animation uses a fixed seed.
const testMode = settings.get_boolean('test-mode');
this.set_shader_source(` this.set_shader_source(`
// Inject some common shader snippets. // Inject some common shader snippets.
@@ -157,7 +159,8 @@ if (utils.isInShellProcess()) {
uniform sampler2D uShardTexture; uniform sampler2D uShardTexture;
const vec2 SEED = vec2(${Math.random()}, ${Math.random()}); const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
${testMode ? 0 : Math.random()});
const float SHARD_SCALE = ${settings.get_double('broken-glass-scale')}; const float SHARD_SCALE = ${settings.get_double('broken-glass-scale')};
const float SHARD_LAYERS = 5; const float SHARD_LAYERS = 5;
const float BLOW_FORCE = ${settings.get_double('broken-glass-blow-force')}; const float BLOW_FORCE = ${settings.get_double('broken-glass-blow-force')};
@@ -228,8 +231,8 @@ if (utils.isInShellProcess()) {
const pipeline = this.get_pipeline(); const pipeline = this.get_pipeline();
// Use linear filtering for the window texture. // Use linear filtering for the window texture.
pipeline.set_layer_filters( pipeline.set_layer_filters(0, Cogl.PipelineFilter.LINEAR,
0, Cogl.PipelineFilter.LINEAR, Cogl.PipelineFilter.LINEAR); Cogl.PipelineFilter.LINEAR);
// Bind the shard texture. // Bind the shard texture.
pipeline.set_layer_texture(1, this._shardTexture.get_texture()); pipeline.set_layer_texture(1, this._shardTexture.get_texture());
+5 -1
View File
@@ -117,6 +117,9 @@ if (utils.isInShellProcess()) {
const color = Clutter.Color.from_string(settings.get_string('energize-a-color'))[1]; const color = Clutter.Color.from_string(settings.get_string('energize-a-color'))[1];
// If we are currently performing integration test, the animation uses a fixed seed.
const testMode = settings.get_boolean('test-mode');
this.set_shader_source(` this.set_shader_source(`
// Inject some common shader snippets. // Inject some common shader snippets.
@@ -124,7 +127,8 @@ if (utils.isInShellProcess()) {
${shaderSnippets.noise()} ${shaderSnippets.noise()}
${shaderSnippets.edgeMask()} ${shaderSnippets.edgeMask()}
const vec2 SEED = vec2(${Math.random()}, ${Math.random()}); const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
${testMode ? 0 : Math.random()});
const float FADE_IN_TIME = 0.3; const float FADE_IN_TIME = 0.3;
const float FADE_OUT_TIME = 0.6; const float FADE_OUT_TIME = 0.6;
const float HEART_FADE_TIME = 0.3; const float HEART_FADE_TIME = 0.3;
+5 -1
View File
@@ -117,6 +117,9 @@ if (utils.isInShellProcess()) {
const color = Clutter.Color.from_string(settings.get_string('energize-b-color'))[1]; const color = Clutter.Color.from_string(settings.get_string('energize-b-color'))[1];
// If we are currently performing integration test, the animation uses a fixed seed.
const testMode = settings.get_boolean('test-mode');
this.set_shader_source(` this.set_shader_source(`
// Inject some common shader snippets. // Inject some common shader snippets.
@@ -124,7 +127,8 @@ if (utils.isInShellProcess()) {
${shaderSnippets.noise()} ${shaderSnippets.noise()}
${shaderSnippets.edgeMask()} ${shaderSnippets.edgeMask()}
const vec2 SEED = vec2(${Math.random()}, ${Math.random()}); const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
${testMode ? 0 : Math.random()});
const float SHOWER_TIME = 0.3; const float SHOWER_TIME = 0.3;
const float SHOWER_WIDTH = 0.3; const float SHOWER_WIDTH = 0.3;
const float STREAK_TIME = 0.6; const float STREAK_TIME = 0.6;
+3 -3
View File
@@ -124,7 +124,7 @@ var Fire = class Fire {
// This populates the preset dropdown menu for the fire options. // This populates the preset dropdown menu for the fire options.
static _createFirePresets(dialog) { static _createFirePresets(dialog) {
dialog.getBuilder().get_object('settings-widget').connect('realize', (widget) => { dialog.getBuilder().get_object('fire-prefs').connect('realize', (widget) => {
const presets = [ const presets = [
{ {
name: _('Default Fire'), name: _('Default Fire'),
@@ -233,9 +233,9 @@ if (utils.isInShellProcess()) {
const gradient = []; const gradient = [];
for (let i = 1; i <= 5; i++) { for (let i = 1; i <= 5; i++) {
const color = const color =
Clutter.Color.from_string(settings.get_string('fire-color-' + i))[1]; Clutter.Color.from_string(settings.get_string('fire-color-' + i))[1];
gradient.push(`vec4(${color.red / 255}, ${color.green / 255}, ${ gradient.push(`vec4(${color.red / 255}, ${color.green / 255}, ${
color.blue / 255}, ${color.alpha / 255})`); color.blue / 255}, ${color.alpha / 255})`);
} }
this.set_shader_source(` this.set_shader_source(`
+5 -5
View File
@@ -129,14 +129,14 @@ if (utils.isInShellProcess()) {
const fontData = GdkPixbuf.Pixbuf.new_from_resource('/img/matrixFont.png'); const fontData = GdkPixbuf.Pixbuf.new_from_resource('/img/matrixFont.png');
this._fontTexture = new Clutter.Image(); this._fontTexture = new Clutter.Image();
this._fontTexture.set_data( this._fontTexture.set_data(
fontData.get_pixels(), fontData.get_pixels(),
fontData.has_alpha ? Cogl.PixelFormat.RGBA_8888 : Cogl.PixelFormat.RGB_888, fontData.has_alpha ? Cogl.PixelFormat.RGBA_8888 : Cogl.PixelFormat.RGB_888,
fontData.width, fontData.height, fontData.rowstride); fontData.width, fontData.height, fontData.rowstride);
const trailColor = const trailColor =
Clutter.Color.from_string(settings.get_string('matrix-trail-color'))[1]; Clutter.Color.from_string(settings.get_string('matrix-trail-color'))[1];
const tipColor = const tipColor =
Clutter.Color.from_string(settings.get_string('matrix-tip-color'))[1]; Clutter.Color.from_string(settings.get_string('matrix-tip-color'))[1];
// The technique for this effect was inspired by // The technique for this effect was inspired by
// https://www.shadertoy.com/view/ldccW4, however the implementation is quite // https://www.shadertoy.com/view/ldccW4, however the implementation is quite
+8 -5
View File
@@ -125,12 +125,14 @@ if (utils.isInShellProcess()) {
// See assets/README.md for how this texture was created. // See assets/README.md for how this texture was created.
const clawData = GdkPixbuf.Pixbuf.new_from_resource('/img/claws.png'); const clawData = GdkPixbuf.Pixbuf.new_from_resource('/img/claws.png');
this._clawTexture = new Clutter.Image(); this._clawTexture = new Clutter.Image();
this._clawTexture.set_data( this._clawTexture.set_data(clawData.get_pixels(), Cogl.PixelFormat.RGB_888,
clawData.get_pixels(), Cogl.PixelFormat.RGB_888, clawData.width, clawData.width, clawData.height, clawData.rowstride);
clawData.height, clawData.rowstride);
const color = const color =
Clutter.Color.from_string(settings.get_string('claw-scratch-color'))[1]; Clutter.Color.from_string(settings.get_string('claw-scratch-color'))[1];
// If we are currently performing integration test, the animation uses a fixed seed.
const testMode = settings.get_boolean('test-mode');
this.set_shader_source(` this.set_shader_source(`
@@ -141,7 +143,8 @@ if (utils.isInShellProcess()) {
// See assets/README.md for how this texture was created. // See assets/README.md for how this texture was created.
uniform sampler2D uClawTexture; uniform sampler2D uClawTexture;
const vec2 SEED = vec2(${Math.random()}, ${Math.random()}); const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
${testMode ? 0 : Math.random()});
const float CLAW_SIZE = ${settings.get_double('claw-scratch-scale')}; const float CLAW_SIZE = ${settings.get_double('claw-scratch-scale')};
const float NUM_CLAWS = ${settings.get_int('claw-scratch-count')}; const float NUM_CLAWS = ${settings.get_int('claw-scratch-count')};
const float WARP_INTENSITY = 1.0 + ${settings.get_double('claw-scratch-warp')}; const float WARP_INTENSITY = 1.0 + ${settings.get_double('claw-scratch-warp')};
+5 -1
View File
@@ -118,6 +118,9 @@ if (utils.isInShellProcess()) {
const color = Clutter.Color.from_string(settings.get_string('wisps-color'))[1]; const color = Clutter.Color.from_string(settings.get_string('wisps-color'))[1];
// If we are currently performing integration test, the animation uses a fixed seed.
const testMode = settings.get_boolean('test-mode');
this.set_shader_source(` this.set_shader_source(`
// Inject some common shader snippets. // Inject some common shader snippets.
@@ -125,7 +128,8 @@ if (utils.isInShellProcess()) {
${shaderSnippets.noise()} ${shaderSnippets.noise()}
${shaderSnippets.edgeMask()} ${shaderSnippets.edgeMask()}
const vec2 SEED = vec2(${Math.random()}, ${Math.random()}); const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
${testMode ? 0 : Math.random()});
const float WISPS_RADIUS = 20.0; const float WISPS_RADIUS = 20.0;
const float WISPS_SPEED = 10.0; const float WISPS_SPEED = 10.0;
const float WISPS_SPACING = 40 + WISPS_RADIUS; const float WISPS_SPACING = 40 + WISPS_RADIUS;
+18 -4
View File
@@ -15,8 +15,22 @@
const {Gtk} = imports.gi; const {Gtk} = imports.gi;
// Returns the given argument, except for "alpha", "beta", and "rc". In these cases -3,
// -2, and -1 are returned respectively.
function toNumericVersion(x) {
switch (x) {
case 'alpha':
return -3;
case 'beta':
return -2;
case 'rc':
return -1;
}
return x;
}
const Config = imports.misc.config; const Config = imports.misc.config;
const [GS_MAJOR, GS_MINOR] = Config.PACKAGE_VERSION.split('.'); const [GS_MAJOR, GS_MINOR] = Config.PACKAGE_VERSION.split('.').map(toNumericVersion);
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
const Me = imports.misc.extensionUtils.getCurrentExtension(); const Me = imports.misc.extensionUtils.getCurrentExtension();
@@ -60,18 +74,18 @@ function isInShellProcess() {
// This method returns true if the current GNOME Shell version matches the given // This method returns true if the current GNOME Shell version matches the given
// arguments. // arguments.
function shellVersionIs(major, minor) { function shellVersionIs(major, minor) {
return GS_MAJOR == major && GS_MINOR == minor; return GS_MAJOR == major && GS_MINOR == toNumericVersion(minor);
} }
// This method returns true if the current GNOME Shell version is at least as high as the // This method returns true if the current GNOME Shell version is at least as high as the
// given arguments. // given arguments. Supports "alpha" and "beta" for the minor version number.
function shellVersionIsAtLeast(major, minor) { function shellVersionIsAtLeast(major, minor) {
if (GS_MAJOR > major) { if (GS_MAJOR > major) {
return true; return true;
} }
if (GS_MAJOR == major) { if (GS_MAJOR == major) {
return GS_MINOR >= minor; return GS_MINOR >= toNumericVersion(minor);
} }
return false; return false;
+183
View File
@@ -0,0 +1,183 @@
#!/bin/bash
# -------------------------------------------------------------------------------------- #
# ) ( #
# ( /( ( ( ) ( ( ( ( )\ ) ( ( #
# )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( #
# ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ #
# | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) #
# | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< #
# |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ #
# |__/ #
# Copyright (c) 2021 Simon Schneegans #
# Released under the GPLv3 or later. See LICENSE file for details. #
# -------------------------------------------------------------------------------------- #
# This script is used to generate the reference images required for the run-tests.sh
# script. To do this, it installs the extension in a fedora-based container running GNOME
# Shell on xvfb. It requires the burn-my-windows@schneegans.github.com.zip file which is
# expected to be present in the repository root. Therefore you have to call "make" before
# this script.
#
# The scripts supports two arguments:
#
# -v fedora_version: This determines the version of GNOME Shell to test agains.
# -v 32: GNOME Shell 3.36
# -v 33: GNOME Shell 3.38
# -v 34: GNOME Shell 40
# -v 35: GNOME Shell 41
# -s session: This can either be "gnome-xsession" or "gnome-wayland-nested".
# Exit on error.
set -e
usage() {
echo "Usage: $0 -v fedora_version -s session" >&2
}
FEDORA_VERSION=33
SESSION="gnome-xsession"
while getopts "v:s:h" opt; do
case $opt in
v) FEDORA_VERSION="${OPTARG}";;
s) SESSION="${OPTARG}";;
h) usage; exit 0;;
*) usage; exit 1;;
esac
done
# Go to the repo root.
cd "$( cd "$( dirname "$0" )" && pwd )/.." || \
{ echo "ERROR: Could not find the repo root."; exit 1; }
IMAGE="ghcr.io/schneegans/gnome-shell-pod-${FEDORA_VERSION}"
EXTENSION="burn-my-windows@schneegans.github.com"
# All references images of the effects are captured at & cropped to this region
# in the center of the screen. This is kind of arbitrary, but has been choosen so that
# something is visible from each effect.
CROP="100x100+910+480"
# Run the container. For more info, visit https://github.com/Schneegans/gnome-shell-pod.
POD=$(podman run --rm --cap-add=SYS_NICE --cap-add=IPC_LOCK -td "${IMAGE}")
# Properly shutdown podman when this script is exited.
quit() {
podman kill "${POD}"
wait
}
trap quit INT TERM EXIT
# -------------------------------------------------------------------------------- methods
# This function is used below to execute any shell command inside the running container.
do_in_pod() {
podman exec --user gnomeshell --workdir /home/gnomeshell "${POD}" set-env.sh "$@"
}
# This simulates the given keystroke in the container. Simply calling "xdotool key $1"
# sometimes fails to be recognized. Maybe the default 12ms between key-down and key-up
# are too short for xvfb...
send_keystroke() {
do_in_pod xdotool keydown "${1}"
sleep 0.5
do_in_pod xdotool keyup "${1}"
}
# This can be used to set a gsettings key of the extension.
set_setting() {
do_in_pod gsettings --schemadir /home/gnomeshell/.local/share/gnome-shell/extensions/burn-my-windows@schneegans.github.com/schemas \
set org.gnome.shell.extensions.burn-my-windows "${1}" "${2}"
}
# This makes a screen capture (cropped to $CROP) inside the container and stores it
# on the host relative to this script with the given file name.
capture() {
do_in_pod import -window root -crop $CROP out.png
podman cp "${POD}":/home/gnomeshell/out.png "${1}"
}
# This opens the extensions preferences dialog and captures two images: One during the
# window-open animation, and one during the window-close animation. The sleeps are a bit
# excessive, but it's difficult to get consistent results with shorter sleeps. The
# animations are shown for five seconds, so we also have to make sure that one animation
# is finished before starting the next one.
capture_effect() {
echo "Capturing ${1} effect."
set_setting "open-preview-effect" "${1}"
set_setting "close-preview-effect" "${1}"
sleep 2
do_in_pod gnome-extensions prefs "${EXTENSION}"
sleep 2
capture "tests/references/${1}-open-${SESSION}-${FEDORA_VERSION}.png"
send_keystroke "Alt+F4"
sleep 2
capture "tests/references/${1}-close-${SESSION}-${FEDORA_VERSION}.png"
sleep 2
}
# ----------------------------------------------------- wait for the container to start up
echo "Waiting for D-Bus."
do_in_pod wait-user-bus.sh > /dev/null 2>&1
# ----------------------------------------------------- install the to-be-tested extension
echo "Installing extension."
podman cp "tests/references" "${POD}:/home/gnomeshell/references"
podman cp "${EXTENSION}.zip" "${POD}:/home/gnomeshell"
do_in_pod gnome-extensions install "${EXTENSION}.zip"
# ---------------------------------------------------------------------- start GNOME Shell
# Starting with GNOME 40, there is a "Welcome Tour" dialog popping up at first launch.
# We disable this beforehand.
if [[ "${FEDORA_VERSION}" -gt 33 ]]; then
echo "Disabling welcome tour."
do_in_pod gsettings set org.gnome.shell welcome-dialog-last-shown-version "999" || true
fi
echo "Starting $(do_in_pod gnome-shell --version)."
do_in_pod systemctl --user start "${SESSION}@:99"
sleep 10
# Enable the extension.
do_in_pod gnome-extensions enable "${EXTENSION}"
# Starting with GNOME 40, the overview is the default mode. We close this here by hitting
# the super key.
if [[ "${FEDORA_VERSION}" -gt 33 ]]; then
echo "Closing Overview."
send_keystroke "super"
fi
# Wait until the extension is enabled and the overview closed.
sleep 3
# --------------------------------------------------------------------- capture the images
# The test mode ensures that the animations are "frozen" and do not change in time.
echo "Entering test mode."
set_setting "test-mode" true
do_in_pod gsettings set org.gnome.mutter center-new-windows true
capture_effect "energize-a"
capture_effect "energize-b"
capture_effect "fire"
capture_effect "tv"
capture_effect "wisps"
if [[ "${FEDORA_VERSION}" -gt 33 ]]; then
capture_effect "trex"
capture_effect "broken-glass"
capture_effect "matrix"
fi
echo "All reference images generated successfully."
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Some files were not shown because too many files have changed in this diff Show More