diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml index c0a3d55ce..560be80a0 100644 --- a/.github/workflows/core.yml +++ b/.github/workflows/core.yml @@ -1,10 +1,10 @@ -name: Core +name: Vector-PL on: workflow_dispatch: push: - branches: [ master ] - tags: [ v* ] + branches: [ PL ] + tags: [ 2.0 ] pull_request: merge_group: @@ -68,7 +68,10 @@ jobs: - name: Setup Android SDK uses: android-actions/setup-android@v3 - + + - name: Install SDK components + run: sdkmanager "build-tools;34.0.0" "platforms;android-34" "cmake;3.22.1" + - name: Remove Android's cmake shell: bash run: rm -rf $ANDROID_HOME/cmake @@ -81,10 +84,10 @@ jobs: if: success() id: prepareArtifact run: | - zygiskReleaseName=`ls zygisk/release/Vector-v*-Release.zip | awk -F '(/|.zip)' '{print $3}'` && echo "zygiskReleaseName=$zygiskReleaseName" >> $GITHUB_OUTPUT - zygiskDebugName=`ls zygisk/release/Vector-v*-Debug.zip | awk -F '(/|.zip)' '{print $3}'` && echo "zygiskDebugName=$zygiskDebugName" >> $GITHUB_OUTPUT - unzip zygisk/release/Vector-v*-Release.zip -d Vector-Release - unzip zygisk/release/Vector-v*-Debug.zip -d Vector-Debug + zygiskReleaseName=`ls zygisk/release/Vector-*-Release.zip | awk -F '(/|.zip)' '{print $3}'` && echo "zygiskReleaseName=$zygiskReleaseName" >> $GITHUB_OUTPUT + zygiskDebugName=`ls zygisk/release/Vector-*-Debug.zip | awk -F '(/|.zip)' '{print $3}'` && echo "zygiskDebugName=$zygiskDebugName" >> $GITHUB_OUTPUT + unzip zygisk/release/Vector-*-Release.zip -d Vector-Release + unzip zygisk/release/Vector-*-Debug.zip -d Vector-Debug - name: Upload zygisk release uses: actions/upload-artifact@v6 diff --git a/.github/workflows/crowdin.yml b/.github/workflows/crowdin.yml deleted file mode 100644 index ad1ef4c53..000000000 --- a/.github/workflows/crowdin.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Crowdin Action - -on: - workflow_dispatch: - push: - branches: [ master ] - paths: - - app/src/main/res/values/strings.xml - - daemon/src/main/res/values/strings.xml - -jobs: - synchronize-with-crowdin: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@main - - - name: crowdin action - uses: crowdin/github-action@master - with: - upload_translations: true - download_translations: false - upload_sources: true - config: 'crowdin.yml' - crowdin_branch_name: master - env: - CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} - CROWDIN_API_TOKEN: ${{ secrets.CROWDIN_API_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..e774c7362 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,85 @@ +name: Vector-PL-Release + +on: + workflow_dispatch: + push: + branches: [ PL ] + tags: [ 2.0 ] + pull_request: + merge_group: + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + fetch-depth: 0 + + - name: Write key + if: ${{ ( github.event_name != 'pull_request' && github.ref == 'refs/heads/PL' ) || github.ref_type == 'tag' }} + run: | + if [ ! -z "${{ secrets.KEY_STORE }}" ]; then + echo androidStorePassword='${{ secrets.KEY_STORE_PASSWORD }}' >> gradle.properties + echo androidKeyAlias='${{ secrets.ALIAS }}' >> gradle.properties + echo androidKeyPassword='${{ secrets.KEY_PASSWORD }}' >> gradle.properties + echo androidStoreFile='key.jks' >> gradle.properties + echo ${{ secrets.KEY_STORE }} | base64 --decode > key.jks + fi + + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 21 + + - name: Setup Android SDK & NDK + uses: android-actions/setup-android@v3 + with: + packages: 'ndk-bundle' + + - name: Install latest system Ninja and force override SDK + run: | + sudo apt-get update + sudo apt-get install -y ninja-build + + # Brutalne nadpisanie starego ninja w Android SDK najnowszą wersją systemową + NINJA_SYSTEM_PATH=$(which ninja) + SDK_NINJA_PATH="/usr/local/lib/android/sdk/cmake/3.31.5/bin/ninja" + + if [ -f "$SDK_NINJA_PATH" ]; then + rm "$SDK_NINJA_PATH" + ln -s "$NINJA_SYSTEM_PATH" "$SDK_NINJA_PATH" + echo "Sukces: Nadpisano Ninja w SDK wersją systemową." + else + # Jeśli ścieżka się różni, tworzymy folder i link na zapas + mkdir -p "$(dirname "$SDK_NINJA_PATH")" + ln -s "$NINJA_SYSTEM_PATH" "$SDK_NINJA_PATH" + echo "Utworzono link awaryjny dla Ninja w SDK." + fi + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Configure Gradle properties + run: | + echo 'android.native.buildOutput=verbose' >> ~/.gradle/gradle.properties + echo 'org.gradle.parallel=true' >> ~/.gradle/gradle.properties + echo 'org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 -XX:+UseParallelGC' >> ~/.gradle/gradle.properties + + - name: Build + run: ./gradlew zipAll + + - name: Vector-PL-2.0.3043 + uses: softprops/action-gh-release@v2 + with: + tag_name: "2.0" + name: Vector-PL-2.0.3043 + files: | + zygisk/release/Vector-PL-2.0.3043-Release.zip + zygisk/release/Vector-PL-2.0.3043-Debug.zip + force: true \ No newline at end of file diff --git a/README.md b/README.md index fed0b6a1d..e0595a041 100644 --- a/README.md +++ b/README.md @@ -1,120 +1,99 @@
-# Vector Framework +# Zygisk Vector 2.0 -**A high-performance ART hooking framework for modern Android** - -[![Build](https://img.shields.io/github/actions/workflow/status/JingMatrix/Vector/core.yml?branch=master&event=push&logo=github&label=Build)](https://github.com/JingMatrix/Vector/actions/workflows/core.yml?query=event%3Apush+branch%3Amaster+is%3Acompleted) +[![build](https://img.shields.io/github/actions/workflow/status/Kuchta2100/Vector-PL/core.yml?branch=PL&event=push&logo=github&label=Build)](https://github.com/Kuchta2100/Vector-PL/actions/workflows/core.yml?query=event%3Apush+branch%3APL+is%3Acompleted) [![Crowdin](https://img.shields.io/badge/Localization-Crowdin-blueviolet?logo=Crowdin)](https://crowdin.com/project/lsposed_jingmatrix) -[![Download](https://img.shields.io/github/v/release/JingMatrix/Vector?color=orange&logoColor=orange&label=Download&logo=DocuSign)](https://github.com/JingMatrix/Vector/releases/latest) -[![Total](https://shields.io/github/downloads/JingMatrix/Vector/total?logo=Bookmeter&label=Counts&logoColor=yellow&color=yellow)](https://github.com/JingMatrix/Vector/releases) - +[![Pobierz](https://img.shields.io/github/v/release/Kuchta2100/Vector-PL?color=orange&logoColor=orange&label=Download&logo=DocuSign)](https://github.com/Kuchta2100/Vector-PL/releases/latest)
--- -### Introduction +### Wprowadzenie + +Mój fork ma pełne i dokładniejsze polskie tłumaczenie. +Naprawiłem też problem z nieładującą się listą modułów. -Vector is a Zygisk module providing an ART hooking framework that maintains API consistency with the original Xposed. It is engineered on top of [LSPlant](https://github.com/JingMatrix/LSPlant) to deliver a stable, native-level instrumentation environment. +Vector to moduł zygisk, który zapewnia strukturę do tworzenia zaczepów, zachowując spójność API z oryginalnym xposed. Został on opracowany na bazie [LSPlant](https://github.com/JingMatrix/LSPlant), aby zapewnić stabilne środowisko instrumentacji na poziomie natywnym. -The framework allows modules to modify system and application behavior in-memory. Because no APK files are modified, changes are non-destructive, easily reversible via reboot, and compatible across various ROMs and Android versions. +Vector umożliwia modułom modyfikację działania systemu i aplikacji w pamięci. Ponieważ pliki APK nie są modyfikowane, zmiany są nieniszczące, łatwo odwracalne poprzez ponowne uruchomienie i kompatybilne z różnymi ROM-ami i wersjami Androida. --- -### Compatibility +### Zgodność -Vector supports devices running **Android 8.1 through Android 17 Beta**. +Vector obsługuje urządzenia z systemem **Android 8.1 do Androida 17 Beta**. > [!TIP] -> This framework requires a recent installation of Magisk or KernelSU with Zygisk enabled. +> Vector wymaga zainstalowania najnowszej wersji Magisk lub KernelSU z włączonym zygiskiem. --- -### Installation +### Instalacja -1. Download the latest release as a system module. -2. Install the module via your root manager (Magisk/KernelSU). -3. Ensure a Zygisk environment (e.g., [NeoZygisk](https://github.com/JingMatrix/NeoZygisk)). -4. Reboot the device. -5. Access management settings via the system notification. +1. Pobierz najnowszą wersję jako moduł systemowy. +2. Zainstaluj moduł za pomocą menedżera root (magisk/kernelsu). +3. Upewnij się, że środowisko zygisk (np. [Nyazygisk](https://github.com/HSSkyBoy/NyaZygisk/releases/tag/v2.3). +4. Zrestartuj urządzenie. +5. Uzyskaj dostęp do ustawień zarządzania za pomocą powiadomienia systemowego. ---- +-- -### Downloads +### Pobieranie -| Channel | Source | +| Kanał | Źródło | | :--- | :--- | -| **Stable Releases** | [GitHub Releases](https://github.com/JingMatrix/Vector/releases) | -| **Canary (CI) Builds** | [GitHub Actions](https://github.com/JingMatrix/Vector/actions/workflows/core.yml?query=branch%3Amaster) | +| **Wersje stabilne** | [Wersje GitHub](https://github.com/Kuchta2100/Vector-PL/releases/tag/2.0) | +| **Wersje testowe** | [Akcje GitHub](https://github.com/Kuchta2100/Vector-PL/actions/workflows/core.yml?query=branch%3APL) | > [!NOTE] -> Debug builds are recommended for users encountering issues or performing troubleshooting. -> We encourage users to test CI builds to help us identify bugs and accelerate development. +> Wersje debugowe są zalecane użytkownikom napotykającym problemy lub rozwiązującym problemy. +> Zachęcamy użytkowników do testowania wersji testowej, aby pomóc nam identyfikować błędy i przyspieszać rozwój. > [!CAUTION] -> GitHub requires users to be **logged in** to download CI artifacts. +> GitHub wymaga od użytkowników **zalogowania się**, aby mogli pobrać artefakty CI. > -> The link above is filtered to show only `master` branch builds. -> Please note that builds from Pull Requests (PRs) are often unstable and potentially unsafe (depending on the authors); we recommend staying on the `master` branch for verified builds, unless you are asked to help our debugging sessions. +> Powyższy link jest filtrowany i wyświetla tylko kompilacje z gałęzi `PL`. +> Należy pamiętać, że kompilacje z żądań ściągnięcia (PR) są często niestabilne i potencjalnie niebezpieczne (w zależności od autorów); zalecamy pozostanie na gałęzi `PL` w przypadku zweryfikowanych kompilacji, chyba że zostaniesz poproszony o pomoc w naszych sesjach debugowania. --- -### Support and Contribution +### Wsparcie i wkład -If you encounter issues or wish to help improve the project, please refer to the resources below. +Jeśli napotkasz problemy lub chcesz pomóc w ulepszeniu projektu, zapoznaj się z poniższymi zasobami. -* **Troubleshooting:** Consult the [guide](https://github.com/JingMatrix/Vector/issues/123) before reporting bugs. -* **Discussions:** Join our community on [GitHub Discussions](https://github.com/JingMatrix/Vector/discussions). -* **Localization:** Help translate the project via [Crowdin](https://crowdin.com/project/lsposed_jingmatrix). +* **Rozwiązywanie problemów:** Przed zgłoszeniem błędów zapoznaj się z [poradnikiem](https://github.com/JingMatrix/Vector/issues/123). +* **Dyskusje:** Dołącz do naszej społeczności w [Dyskusjach GitHub](https://github.com/JingMatrix/Vector/discussions). +* **Lokalizacja:** Pomóż w tłumaczeniu projektu za pośrednictwem [Crowdin](https://crowdin.com/project/lsposed_jingmatrix) -> [!IMPORTANT] -> Bug reports are only accepted if they are based on the **latest debug build**. -> -> *Notice for Chinese speakers:* -> -> 为了提高沟通效率,本项目仅接受英文 Issue。请使用 [DeepL](https://www.deepl.com/zh/translator) 或其他翻译工具提交您的反馈。 +### Zasoby dla programistów ---- - -### Developer Resources - -Vector supports both legacy and modern hooking standards to ensure broad module compatibility. +Vector obsługuje zarówno starsze, jak i nowsze standardy przechwytywania, aby zapewnić szeroką kompatybilność modułów. -* [Legacy Xposed API](https://api.xposed.info/) -* [Modern libxposed API](https://libxposed.github.io/api/) -* [Xposed Module Repository](https://github.com/Xposed-Modules-Repo) +* [Nowoczesne API libxposed](https://libxposed.github.io/api/) +* [Repozytorium modułów Xposed](https://github.com/Xposed-Modules-Repo) > [!NOTE] -> Vector supports the `libxposed` API via two git submodules: the [module API](./xposed/) and the [service API](./services/). +>Vector obsługuje API `libxposed` za pośrednictwem dwóch podmodułów Git: [API modułów](./xposed/) i [API usług](./services/). > -> A successful GitHub Actions build of the [master](https://github.com/JingMatrix/Vector/tree/master) branch indicates that Vector fully supports these APIs at those specific commits. -> Developers are suggested to check out the same commits as Vector. +> Udana kompilacja gałęzi [master](https://github.com/JingMatrix/Vector/tree/master) w GitHub Actions wskazuje, że Vector w pełni obsługuje te API w tych konkretnych commitach. +> Zaleca się, aby programiści sprawdzili te same commity, co Vector. --- -### Credits - -This project is made possible by the following open-source contributions: - -* [Magisk](https://github.com/topjohnwu/Magisk/): The foundation of Android customization. -* [LSPlant](https://github.com/JingMatrix/LSPlant): The core ART hooking engine. -* [XposedBridge](https://github.com/rovo89/XposedBridge): The standard Xposed APIs. -* [Dobby](https://github.com/JingMatrix/Dobby): Inline hooking implementation. -* [LSPosed](https://github.com/LSPosed/LSPosed): Upstream source. -* [xz-embedded](https://github.com/tukaani-project/xz-embedded): Library decompression utilities. +### Podziękowania -
-Legacy and Historical Dependencies +Ten projekt jest możliwy dzięki następującym wkładom open source: -- ~~[Riru](https://github.com/RikkaApps/Riru)~~ -- ~~[SandHook](https://github.com/ganyao114/SandHook/)~~ -- ~~[YAHFA](https://github.com/rk700/YAHFA)~~ -- ~~[dexmaker](https://github.com/linkedin/dexmaker)~~ -- ~~[DexBuilder](https://github.com/LSPosed/DexBuilder)~~ -
+* [Magisk](https://github.com/topjohnwu/Magisk/): Podstawa personalizacji Androida. +* [LSPlant](https://github.com/JingMatrix/LSPlant): Główny silnik przechwytywania ART. + * [XposedBridge](https://github.com/rovo89/XposedBridge): Standardowe API Xposed. +* [Dobby](https://github.com/JingMatrix/Dobby): Implementacja przechwytywania inline. +* [LSPosed](https://github.com/LSPosed/LSPosed): Źródło źródłowe. +* [xz-embedded](https://github.com/tukaani-project/xz-embedded): Narzędzia do dekompresji bibliotek. --- -### License +### Licencja -Vector is licensed under the [GNU General Public License v3](http://www.gnu.org/copyleft/gpl.html). +Vector jest licencjonowany na podstawie [Ogólnej Licencji Publicznej v3](http://www.gnu.org/copyleft/gpl.html). diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b883c23b7..a99c38265 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,20 +1,20 @@ /* - * This file is part of LSPosed. - * - * LSPosed is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * LSPosed is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with LSPosed. If not, see . - * - * Copyright (C) 2021 LSPosed Contributors +* Ten plik jest częścią Vector. +* +* Vector jest wolnym oprogramowaniem: możesz je redystrybuować i/lub modyfikować +* zgodnie z warunkami Powszechnej Licencji Publicznej GNU, opublikowanej przez +* Fundację Wolnego Oprogramowania, w wersji 3 Licencji lub +* (według własnego wyboru) dowolnej późniejszej wersji. +* +* Vector jest rozpowszechniany z nadzieją, że okaże się użyteczny, +* ale BEZ ŻADNEJ GWARANCJI; nawet bez domniemanej gwarancji +* PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU. Więcej informacji można znaleźć w +* Powszechnej Licencji Publicznej GNU. +* +* Powinieneś otrzymać kopię Powszechnej Licencji Publicznej GNU +* wraz z Vector. W przeciwnym razie zapoznaj się z informacjami na stronie . +* +* Prawo autorskie (C) 2026 współtwórcy Vector */ import java.time.Instant @@ -83,25 +83,25 @@ materialThemeBuilder { themes { for ((name, color) in listOf( - "Red" to "F44336", - "Pink" to "E91E63", - "Purple" to "9C27B0", - "DeepPurple" to "673AB7", - "Indigo" to "3F51B5", - "Blue" to "2196F3", - "LightBlue" to "03A9F4", - "Cyan" to "00BCD4", - "Teal" to "009688", - "Green" to "4FAF50", - "LightGreen" to "8BC3A4", - "Lime" to "CDDC39", - "Yellow" to "FFEB3B", - "Amber" to "FFC107", - "Orange" to "FF9800", - "DeepOrange" to "FF5722", - "Brown" to "795548", - "BlueGrey" to "607D8F", - "Sakura" to "FF9CA8", + "Red" to "FF0000", + "Pink" to "FFC0CB", + "Purple" to "800080", + "DeepPurple" to "36013F", + "Indigo" to "4B0082", + "Blue" to "0000FF", + "LightBlue" to "ADD8E6", + "Cyan" to "00FFFF", + "Teal" to "008080", + "Green" to "008000", + "LightGreen" to "90EE90", + "Lime" to "00FF00", + "Yellow" to "FFFF00", + "Amber" to "FFBF00", + "Orange" to "FFA500", + "DeepOrange" to "FF8C00", + "Brown" to "964B00", + "BlueGrey" to "6A89A7", + "Sakura" to "FCC9B9", )) { create("Material$name") { lightThemeFormat = "ThemeOverlay.Light.%s" @@ -110,9 +110,9 @@ materialThemeBuilder { } } } - // Add Material Design 3 color tokens (such as palettePrimary100) in generated theme - // rikka.material:material >= 2.0.0 provides such attributes - // Enable this if your are using rikka.material:material + // Dodaj 3 kolorowe tokeny Material Design (takie jak palettePrimary100) w wygenerowanym motywie + // rikka.material:material >= 2.0.0 zapewnia takie atrybuty + // Włącz tę opcję, jeśli używasz rikka.material:material generatePalette = true } diff --git a/app/src/main/java/org/lsposed/manager/repo/RepoLoader.java b/app/src/main/java/org/lsposed/manager/repo/RepoLoader.java index bb4db3271..fa7265a1c 100644 --- a/app/src/main/java/org/lsposed/manager/repo/RepoLoader.java +++ b/app/src/main/java/org/lsposed/manager/repo/RepoLoader.java @@ -1,22 +1,21 @@ /* - * This file is part of LSPosed. - * - * LSPosed is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * LSPosed is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with LSPosed. If not, see . - * - * Copyright (C) 2020 EdXposed Contributors - * Copyright (C) 2021 LSPosed Contributors - */ +* Ten plik jest częścią Vector. +* +* Vector jest wolnym oprogramowaniem: możesz je redystrybuować i/lub modyfikować +* zgodnie z warunkami Powszechnej Licencji Publicznej GNU, opublikowanej przez +* Fundację Wolnego Oprogramowania dowolnej późniejszej wersji. +* +* Vector jest rozpowszechniany z nadzieją, że okaże się użyteczny, +* ale BEZ ŻADNEJ GWARANCJI; nawet bez domniemanej gwarancji +* PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU. Więcej informacji można znaleźć w +* Powszechnej Licencji Publicznej GNU. +* +* Powinieneś otrzymać kopię Powszechnej Licencji Publicznej GNU +* wraz z Vectorem. W przeciwnym razie zapoznaj się z informacjami na stronie . +* +* Prawo autorskie (C) 2026 współtwórcy EdXposed +* Prawo autorskie (C) 2026 współtwórcy Vector +*/ package org.lsposed.manager.repo; @@ -76,11 +75,7 @@ public boolean upgradable(long versionCode, String versionName) { private final Path repoFile = Paths.get(App.getInstance().getFilesDir().getAbsolutePath(), "repo.json"); private final Set listeners = ConcurrentHashMap.newKeySet(); private boolean repoLoaded = false; - private static final String originRepoUrl = "https://modules.lsposed.org/"; - private static final String backupRepoUrl = "https://modules-blogcdn.lsposed.org/"; - - private static final String secondBackupRepoUrl = "https://modules-cloudflare.lsposed.org/"; - private static String repoUrl = originRepoUrl; + private static final String repoUrl = "https://backup.modules.lsposed.org/"; private final Resources resources = App.getInstance().getResources(); private final String[] channels = resources.getStringArray(R.array.update_channel_values); @@ -122,13 +117,6 @@ synchronized public void loadRemoteData() { for (RepoListener listener : listeners) { listener.onThrowable(e); } - if (repoUrl.equals(originRepoUrl)) { - repoUrl = backupRepoUrl; - loadRemoteData(); - } else if (repoUrl.equals(backupRepoUrl)) { - repoUrl = secondBackupRepoUrl; - loadRemoteData(); - } } } @@ -252,16 +240,8 @@ public void loadRemoteReleases(String packageName) { @Override public void onFailure(@NonNull Call call, @NonNull IOException e) { Log.e(App.TAG, call.request().url() + e.getMessage()); - if (repoUrl.equals(originRepoUrl)) { - repoUrl = backupRepoUrl; - loadRemoteReleases(packageName); - } else if (repoUrl.equals(backupRepoUrl)) { - repoUrl = secondBackupRepoUrl; - loadRemoteReleases(packageName); - } else { - for (RepoListener listener : listeners) { - listener.onThrowable(e); - } + for (RepoListener listener : listeners) { + listener.onThrowable(e); } } diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index c5d514c62..73f4a3914 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -1,248 +1,251 @@ - + +~ Ten plik jest częścią Vector. +~ +~ Vector jest wolnym oprogramowaniem: możesz je redystrybuować i/lub modyfikować +~ zgodnie z warunkami Powszechnej Licencji Publicznej, opublikowanej przez +~ Fundację Wolnego Oprogramowania, w wersji 3 Licencji lub +~ (według własnego wyboru) dowolnej późniejszej wersji. +~ +~ Vector jest rozpowszechniany z nadzieją, że okaże się użyteczny, +~ jednak BEZ ŻADNEJ GWARANCJI; nawet bez domniemanej gwarancji +~ PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU. Więcej informacji można znaleźć w +~ Powszechnej Licencji Publicznej. +~ +~ Powinieneś otrzymać kopię Powszechnej Licencji Publicznej +~ wraz z Vector. W przeciwnym razie zapoznaj się z informacjami na stronie . +~ +~ Prawo autorskie (C) 2026 współtwórcy Vector --> - - Przegląd - Moduły - - %d moduł aktywowany - Aktywowano %d modułu/ów - Włączono %d moduły/ów - Włączono %d moduły/ów - - Logi - Ustawienia - Opinie lub sugestie - O aplikacji - Zgłoś problem - Repozytorium - Wszystkie moduły są aktualne - Opublikowano na stronie %s - Zaktualizowany na stronie %s - - %d moduł możliwy do aktualizacji - %d moduły z możliwością aktualizacji - %d moduły z możliwością aktualizacji - %d modułów z możliwością aktualizacji - - Dołącz do naszego kanału %2$s]]> - Adiker, xAzvest - Instaluj - Dotknij, aby zainstalować LSPosed - Nie zainstalowano - LSPosed nie jest zainstalowany - Aktywowano - Częściowo aktywowano - SEPolicy nie jest prawidłowo załadowane - Proszę to zgłosić do twórcy Magiska.]]> - Wstrzyknięcie Frameworku Systemowego nie powiodło się - Magiska lub niektóre moduły Magisk niskiej jakości.
Spróbuj wyłączyć moduły Magisk inne niż Riru i LSPosed lub przesłać pełny log programistom.]]>
- Nieprawidłowy system prop - Moduły mogą czasami działać niepoprawnie.]]> - Konieczna aktualizacja - Proszę zainstalować najnowszą wersję LSPosed - Porady dla programisty modułów - Wyłącz optymalizacje wdrażania w Android Studio lub użyj polecenia `gradlew installDebug`, aby zainstalować. W przeciwnym razie moduł APK nie zostanie zaktualizowany. - Wersja API - Wersja frameworka - Nazwa pakietu menedżera - Wersja systemu - Urządzenie - ABI systemu - Optymalizator Dex Optimizer Wrapper - Włączone - Wyłączone - Obsługiwana strona - Nieobsługiwane - Niezadowolenie z wersji na Androida - Rozbita - Montowanie nie powiodło się - SELinux jest permisywny - Zasady SELinuxa są nieprawidłowe - Zaktualizuj LSPosed - Czy chcesz zatwierdzić aktualizację LSPosed? Urządzenie zostanie uruchomione ponownie po zakończeniu aktualizacji - Skopiowane do schowka - - Witamy w LSPosed - Używasz menedżera pasożytów, który może utworzyć skrót na ekranie głównym lub nadal być otwieranym z powiadomienia. - Używasz menedżera pasożytów, który może być otwierany z powiadomienia. - Utwórz skrót - Nigdy nie pokazuj - Zalecany Menedżer Pasożytowy - LSPosed teraz obsługuje pasożytowanie systemowe by uniknąć wykrycia, możesz otworzyć menedżera pasożytów z okna powiadomień. Zalecane jest odinstalowanie obecnej aplikacji. - - Zapisz - Logi verbose - Logi modułów - Zapisywanie dziennika, poczekaj - Zapisane logi - Nie udało się zapisać:\n%s - Wyczyść log teraz - Logi zostały pomyślnie wyczyszczone. - Przewiń na górę - Ładowanie… - Przewiń na dół - Przeładuj - Nie udało się wyczyścić logu - Zawijanie wierszy - Logi verbose włączone - Logi verbose wyłączone - - (nie podano opisu) - Ten moduł wymaga nowszej wersji Xposed (%d) przez co nie może być aktywowany - Ten moduł został zaprojektowany dla nowej wersji Xposed (%d) i dlatego niektóre funkcje mogą nie działać - Ten moduł nie określa wymaganej wersji Xposed. - Ten moduł został utworzony dla Xposed w wersji %1$d, ale ze względu na niekompatybilne zmiany w wersji %2$d, został wyłączony - Ten moduł nie może być załadowany, ponieważ jest zainstalowany na karcie SD, przenieś go do pamięci wewnętrznej - Odinstaluj - Ustawienia modułu - Wyświetl w repozytorium - Czy chcesz odinstalować ten moduł? - Odinstalowano %1$s - Odinstalowanie nie powiodło się - Dodaj moduł do użytkownika - Dodano %1$s do użytkownika %2$s - Dodawanie modułu nie powiodło się - Zainstaluj dla użytkownika %s - Chcesz zainstalować %1$s dla użytkownika %2$s? Zalecana jest ręczna instalacja, wymuszanie instalacji przez LSPosed może powodować problemy. - rozwiń - zwiń - - Ponownie zoptymalizuj - Optymalizowanie… - Optymalizacja zakończona - Uruchom - Optymalizacja nie powiodła się: zwrócona wartość jest pusta - Optymalizacja nie powiodła się: - Nazwa aplikacji - Nazwa pakietu - Czas instalacji - Czas aktualizacji - Odwróć - Aplikacje systemowe - Sortowanie - Włącz moduł - Nie wybrałeś żadnej aplikacji. Kontynuować? - Gry - Moduły - Nie udało się zapisać listy zakresu - Wersja: %1$s - Zaznacz - Zalecane - Nie wybrałeś żadnej aplikacji. Wybrać rekomendowane aplikacje? - Wybrać zalecane aplikacje? - Wszystkie - Żadne - Automatycznie - Moduł Xposed nie jest jeszcze aktywowany - Zalecane - Dostępna aktualizacja: %1$s - Moduł %s został wyłączony, ponieważ nie wybrano żadnej aplikacji. - System Framework - Kopia zapasowa - Kopia zapasowa - Przywróć - Wymuś zatrzymanie - Wymusić zatrzymanie? - Jeśli wymusisz zatrzymanie aplikacji, może ona zadziałać nieprawidłowo. - Restart jest wymagany aby ta zmiana została zastosowana - Restart - Ukryj - - Wyświetl w innej aplikacji - Informacje o aplikacji - ¯\\\\_(ツ)_\/¯\nNic tu nie ma - - Framework - Wyłącz logi - Zgłaszanie problemów wymaga dołączenia pełnych dzienników - Czarny ciemny motyw - Użyj czarnego motywu, jeśli ciemny motyw jest włączony - Motyw - Kopia zapasowa i przywracanie - Kopia zapasowa listy modułów i zakresów. - Przywrócenie listy modułów i listy zakresów. - Kopia zapasowa - Nie udało się utworzyć kopii zapasowej:\n%s - Proszę włączyć DocumentUI - Przywróć - Nie udało się przywrócić:\n%s - Sieć - DNS przez HTTPS - Obejście zatruwania DNS w niektórych krajach - Kolor motywu - Kolor akcentu systemowego - Wymuś aplikacjom pokazywanie ikon launchera - Po Android 10 aplikacje nie mogą ukrywać swoich ikon launchera. Wyłącz przełącznik, aby zablokować tę funkcję systemową. - System - Język - Tłumacze - Weź udział w tłumaczeniu - Pomóż nam przetłumaczyć %s na Twój język - Utwórz skrót, za pomocą którego otworzysz menadżera \"pasożytów\" - Skrót przypięty - Bieżący domyślny launcher nie wspiera skrótów pinezkowych - Status powiadomień - Pokazuj powiadomienie, za pomocą którego otworzysz menadżera pasożytów - Kanał aktualizacji - Stabilny - Beta - Wersja nocna - - Readme - Wersje - Informacje - Strona główna - Kod źródłowy - Współtwórcy - Assety - Otwórz w przeglądarce - Pokaż starsze wersje - Nie ma więcej wersji - Nie udało się załadować repozytorium modułu: %s - Możliwość uaktualnienia w pierwszej kolejności - Zainstalowane - - %d pobierz - %d pobieranie - %d pobieranie - %d pobrania - - - Sakura - Czerwony - Różowy - Fioletowy - Ciemny fioletowy - Indigo - Niebieski - Jasnoniebieski - Cyjanowy - Turkusowy - Zielony - Jasnozielony - Limonkowy - Żółty - Bursztynowy - Pomarańczowy - Ciemny pomarańczowy - Brązowy - Niebiesko szary + + Przegląd + Moduły + + Włączono %d moduł + Włączono %d moduły + Włączono %d modułów + Włączono %d modułów + + Dzienniki + Ustawienia + Opinia lub sugestia + O aplikacji + Zgłoś problem + Katalog + Wszystkie moduły są aktualne + Opublikowano w %s + Zaktualizowano w %s + + %d moduł do aktualizacji + %d moduły do aktualizacji + %d modułów do aktualizacji + %d modułów do aktualizacji + + Dołącz do naszego kanału %2$s]]> + Łukasz Kuchta + Zainstaluj + Naciśnij, aby zainstalować Vector + Nie zainstalowany + Vector nie jest zainstalowany + Aktywowany + Częściowo aktywowany + Zasady bezpieczeństwa są nieprawidłowo załadowane + Proszę zgłosić to do programisty Magisk.]]> + Wstrzyknięcie do struktury systemu nie powiodło się + Magiska lub niektóre moduły Magisk niskiej jakości.
Spróbuj wyłączyć moduły Magisk inne niż Riru i Vector lub prześlij szczegółowy dziennik programistom.]]>
+ Nieprawidłowa właściwość systemu + Moduły mogą czasami działać niepoprawnie.]]> + Konieczna aktualizacja + Proszę zainstalować najnowszą wersję Vector + Wskazówki dla programistów modułów + Proszę wyłączyć optymalizację wdrażania w Android Studio, lub użyć polecenia \'gradlew installDebug\', aby zainstalować. W przeciwnym razie plik APK modułu nie zostanie zaktualizowany. + Wersja interfejsu programowania aplikacji + Wersja modułu + Nazwa pakietu menedżera + Wersja systemu + Urządzenie + Systemowy interfejs binarny aplikacji + Pośrednik optymalizacji DEX + Włączony + Nie włączony + Wspierany + Nie wspierany + Nieobsługiwana wersja Android + Uległ awarii + Montowanie nie powiodło się + Zasady bezpieczeństwa są zezwalające + Zasady bezpieczeństwa są nieprawidłowe + Zaktualizuj Vector + Czy chcesz zatwierdzić aktualizację Vector? Urządzenie zostanie zrestartowane po zakończeniu aktualizacji + Skopiowano do schowka + + Witaj w Vector + Używasz menadżera pasożytniczego, do którego możesz utworzyć skrót lub otworzyć go z powiadomienia. + Używasz menadżera pasożytniczego, który możesz otworzyć z powiadomienia. + Utwórz skrót + Nigdy nie pokazuj + Zalecany jest menedżer pasożytniczy + Vector obsługuje teraz pasożytnictwo systemowe, aby uniknąć wykrycia. Menedżer pasożytniczy można uruchomić z poziomu powiadomienia. Zaleca się odinstalowanie bieżącej aplikacji. + + Zapisz + Szczegółowe dzienniki + Dzienniki modułów + Zapisywanie dziennika, poczekaj + Dzienniki zapisane + Nie udało się zapisać:\n%s + Wyczyść dzienniki teraz + Dzienniki zostały pomyślnie wyczyszczone. + Przewiń na górę + Ładowanie… + Przewiń na dół + Przeładuj + Nie udało się wyczyścić dzienników + Zawijanie wierszy + Szczegółowe dzienniki są włączone + Szczegółowe dzienniki są wyłączone + + (nie podano opisu) + Ten moduł wymaga nowszej wersji xposed (%d) przez co nie może być aktywowany + Ten moduł został zaprojektowany dla nowej wersji xposed (%d) i dlatego niektóre funkcje mogą nie działać + Ten moduł nie określa wymaganej wersji xposed. + Ten moduł został utworzony dla xposed w wersji %1$d, ale ze względu na niekompatybilne zmiany w wersji %2$d, został wyłączony + Ten moduł nie może być załadowany, ponieważ jest zainstalowany na karcie SD, przenieś go do pamięci wewnętrznej + Odinstaluj + Ustawienia modułu + Zobacz w katalogu + Czy chcesz odinstalować ten moduł? + Odinstalowano %1$s + Odinstalowanie nie powiodło się + Dodaj moduł dla użytkownika + Dodano %1$s dla użytkownika %2$s + Dodawanie modułu nie powiodło się + Zainstaluj dla użytkownika %s + Chcesz zainstalować %1$s dla użytkownika %2$s? Zalecana jest ręczna instalacja, wymuszanie instalacji przez Vector może powodować problemy. + rozwiń + zwiń + + Zoptymalizuj ponownie + Optymalizowanie… + Optymalizacja zakończona + Uruchom + Optymalizacja nie powiodła się: zwrócona wartość jest pusta + Optymalizacja nie powiodła się: + Aplikacje systemowe + Sortowanie + Włącz moduł + Nie wybrałeś żadnej aplikacji. Kontynuować? + Gry + Moduły + Nie udało się zapisać listy zakresu + Wersja: %1$s + Wybierz + Zalecane + Nie wybrałeś żadnej aplikacji. Wybrać zalecane aplikacje? + Wybrać zalecane aplikacje? + Wszystkie + Żadne + Automatyczne dołączanie + Moduł xposed nie jest jeszcze aktywowany + Zalecane + Dostępna aktualizacja: %1$s + Moduł %s został wyłączony, ponieważ nie wybrano żadnej aplikacji. + Struktura systemu + Kopia + Wykonaj kopię + Przywróć kopię + Wymuś zatrzymanie + Wymusić zatrzymanie? + Jeśli wymusisz zatrzymanie aplikacji, może ona zachowywać się nieprawidłowo. + Restart jest wymagany, aby ta zmiana została zastosowana + Restart + Ukryj + + Wyświetl w innej aplikacji + Informacje o aplikacji + ¯\\_(ツ)_/¯\nNic tu nie ma + + Struktura + Wyłącz szczegółowe dzienniki + Zgłaszanie problemów wymaga dołączenia szczegółowych dzienników + Czysty czarny ciemny motyw + Użyj czystego czarnego motywu, jeśli ciemny motyw jest włączony + Motyw + Ciemny motyw + Zawsze wyłączony + Zawsze włączony + Według systemu + Kopia i przywracanie + Kopia listy modułów i zakresów. + Przywróć listę modułów i zakresów. + Kopia zapasowa + Nie udało się utworzyć kopii:\n%s + Proszę włączyć interfejs dokumentów + Przywróć + Nie udało się przywrócić:\n%s + Sieć + DNS przez HTTPS + Obejście zatruwania DNS w niektórych krajach + Kolor motywu + Kolor akcentu systemowego + Wymuś wyświetlanie ikon uruchamiania aplikacji + Po Android 10 aplikacje nie mogą ukrywać ikon uruchamiania. Aby wyłączyć tę funkcję systemową, należy wyłączyć przełącznik. + System + Język + Autor tłumaczenia + Weź udział w tłumaczeniu + Pomóż nam przetłumaczyć %s na twój język + Utwórz skrót, który może otworzyć menedżer pasożytniczy + Skrót przypięty + Bieżący domyślny launcher nie wspiera przypinania skrótów + Status powiadomień + Pokaż powiadomienie, które może otworzyć menedżer pasożytniczy + Kanał aktualizacji + Stabilny + Beta + Nocny + + Przeczytaj + Wydania + Informacje + Strona główna + Kod źródłowy + Współtwórcy + Zasoby + Otwórz w przeglądarce + Pokaż starsze wersje + Nie ma więcej wersji + Nie udało się załadować repozytorium modułu: %s + Najpierw aktualizacje + Według nazwy aplikacji + Według czasu aktualizacji + Według nazwy pakietu + Według czasu instalacji + Odwrócone sortowanie + Zainstalowane + + %d pobrany + %d pobrane + %d pobranych + %d pobranych + + + Bursztynowy + Brązowy + Cyjanowy + Cyraneczkowy + Czerwony + Indygo + Limonkowy + Niebieski + Jasny niebieski + Niebiesko szary + Pomarańczowy + Głęboki pomarańczowy + Purpurowy + Głęboki purpurowy + Różowy + Jasny różowy + Zielony + Jasny zielony + Żółty
diff --git a/app/src/main/res/values/strings_untranslatable.xml b/app/src/main/res/values/strings_untranslatable.xml index b6264e42d..999237514 100644 --- a/app/src/main/res/values/strings_untranslatable.xml +++ b/app/src/main/res/values/strings_untranslatable.xml @@ -1,25 +1,25 @@ - LSPosed - https://github.com/JingMatrix/LSPosed#install - https://github.com/JingMatrix/LSPosed/releases/latest + Vector + https://github.com/JingMatrix/Vector#install + https://github.com/JingMatrix/Vector/releases/latest @string/module_repo diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 06810bdd8..c8e645200 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,20 +1,20 @@ @@ -29,12 +29,23 @@ false true - + ?textAppearanceSubtitle1 - + ?colorPrimary - + ?colorPrimary + ?colorPrimary + #test + ?colorPrimary + ?colorPrimary + ?colorPrimary + ?colorPrimary + ?colorOnPrimary + ?colorOnPrimary + ?colorOnPrimary + ?colorOnPrimary +