From 98daae8c13577555607f401908b24a2b6708c7c6 Mon Sep 17 00:00:00 2001 From: Adrian English Lord Of The Manor Date: Mon, 11 Sep 2023 16:13:42 +0200 Subject: [PATCH 01/10] spolszczenie kontynuowac od lini 162 --- lib/l10n/{app_en.arb => app_pl.arb} | 310 ++++++++++++++-------------- 1 file changed, 155 insertions(+), 155 deletions(-) rename lib/l10n/{app_en.arb => app_pl.arb} (55%) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_pl.arb similarity index 55% rename from lib/l10n/app_en.arb rename to lib/l10n/app_pl.arb index b0e1fbf..07fa85e 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_pl.arb @@ -1,164 +1,164 @@ { - "home": "Home", - "statistics": "Statistics", - "logs": "Logs", - "settings": "Settings", - "servers": "Servers", - "totalQueries": "Total queries", - "queriesBlocked": "Queries blocked", - "percentageBlocked": "Percentage blocked", - "domainsAdlists": "Domains on Adlists", - "totalQueries24": "Total queries last 24 hours", - "clientActivity24": "Client activity last 24 hours", - "blocked": "Blocked", - "notBlocked": "Not blocked", - "refresh": "Refresh", - "openWebPanel": "Open web panel", - "changeServer": "Change server", - "selectConnection": "Select a connection", - "disable": "Disable", - "seconds30": "30 seconds", + "home": "Strona główna", + "statistics": "Statystyki", + "logs": "Logi", + "settings": "Ustawienia", + "servers": "Serwery", + "totalQueries": "Łączna liczba zapytań", + "queriesBlocked": "Zapytania zablokowane", + "percentageBlocked": "Procent zablokowanych", + "domainsAdlists": "Domeny na listach reklamowych", + "totalQueries24": "Łączna liczba zapytań w ciągu ostatnich 24 godzin", + "clientActivity24": "Aktywność klienta w ciągu ostatnich 24 godzin", + "blocked": "Zablokowane", + "notBlocked": "Nie zablokowany", + "refresh": "Odświeżyć", + "openWebPanel": "Otwórz panel WWW", + "changeServer": "Zmień serwer", + "selectConnection": "Wybierz połączenie", + "disable": "Wyłącz na", + "seconds30": "30 sekunds, "minute1": "1 minute", - "minutes2": "2 minutes", - "minutes5": "5 minutes", - "indefinitely": "Indefinitely", - "custom": "Custom", - "customMinutes": "Custom minutes", - "valueNotValid": "Value not valid", - "cancel": "Cancel", - "couldntDisableServer": "Couldn't disable server.", - "disablingServer": "Disabling server...", - "enablingServer": "Enabling server...", - "serverDisabled": "Server disabled successfully.", - "serverEnabled": "Server enabled successfully.", - "couldntEnableServer": "Couldn't enable server.", - "loadingCharts": "Loading charts...", - "loadingStats": "Loading stats...", - "statsNotLoaded": "Stats could not be loaded", - "chartsNotLoaded": "Charts could not be loaded", - "refreshingData": "Refreshing data...", - "noServerSelected": "No server is selected", - "tryReconnect": "Try reconnect", - "selectServer": "Select server", - "notConnectServer": "Could not connect to the server", - "piHoleServers": "Servers connections", - "noSavedConnections": "No saved connections", - "add": "Add", - "close": "Close", - "connected": "Connected", - "connecting": "Connecting...", - "saved": "Saved", + "minutes2": "2 minuty", + "minutes5": "5 minut", + "indefinitely": "Bezterminowo", + "custom": "Niestandardowo", + "customMinutes": "Na ile minut?", + "valueNotValid": "Wartość nieprawidłowa", + "cancel": "Anuluj", + "couldntDisableServer": "Nie można wyłączyć serwera.", + "disablingServer": "Wyłączanie serwera...", + "enablingServer": "Włączanie serwera...", + "serverDisabled": "Serwer został pomyślnie wyłączony.", + "serverEnabled": "Serwer został pomyślnie włączony.", + "couldntEnableServer": "Nie można włączyć serwera.", + "loadingCharts": "Ładowanie wykresów...", + "loadingStats": "Ładowanie statystyk...", + "statsNotLoaded": "Nie udało się załadować statystyk", + "chartsNotLoaded": "Nie udało się wczytać wykresów", + "refreshingData": "Odświeżanie danych...", + "noServerSelected": "Nie wybrano żadnego serwera", + "tryReconnect": "Spróbuj połączyć się ponownie", + "selectServer": "Wybierz serwer", + "notConnectServer": "Nie można połączyć się z serwerem", + "piHoleServers": "Połączenia serwerów", + "noSavedConnections": "Brak zapisanych połączeń", + "add": "Dodawaj", + "close": "Zamknij", + "connected": "Połączony", + "connecting": "Łączenie...", + "saved": "Zapisano", "connectedSuccessfully": "Connected to server successfully.", - "cannotConnect": "Cannot connect to server.", - "connectionDefaultSuccessfully": "Connection set as default successfully.", - "connectionDefaultFailed": "Connection could not be set as default.", - "defaultConnection": "Default connection", - "setDefault": "Set as default connection", - "delete": "Delete", - "selectedDisconnected": "Selected but disconnected", - "connect": "Connect", - "save": "Save", - "edit": "Edit", - "connectionAlreadyExists": "This connection already exists", - "cannotCheckUrlSaved": "Cannot check if this URL is already saved.", - "checkAddress": "Failed. Check address.", - "connectionTimeout": "Failed. Connection timeout. Check if server is reachable.", - "passwordNotValid": "Failed. Password not valid.", - "unknownError": "Failed. Unknown error.", - "cantSaveConnectionData": "Connection data couldn't be saved", - "editServer": "Edit server connection", - "addServer": "Add server connection", - "serverAddress": "Server address", + "cannotConnect": "Nie można połączyć się z serwerem.", + "connectionDefaultSuccessfully": "Pomyślnie ustawiono połączenie jako domyślne.", + "connectionDefaultFailed": "Nie można ustawić połączenia jako domyślne.", + "defaultConnection": "Połączenie domyślne", + "setDefault": "Ustaw jako połączenie domyślne", + "delete": "Usuń", + "selectedDisconnected": "Wybrano, ale rozłączono", + "connect": "Połącz", + "save": "Zapisać", + "edit": "Edytuj", + "connectionAlreadyExists": "To połączenie już istnieje", + "cannotCheckUrlSaved": "Nie można sprawdzić, czy ten adres URL jest już zapisany.", + "checkAddress": "Niepowodzenie. Sprawdź adres IP.", + "connectionTimeout": "Nie udało się, Przekroczono limit czasu połączenia. Sprawdź czy serwer jest dostępny.", + "passwordNotValid": "Niepowodzenie. Hasło jest nieprawidłowe.", + "unknownError": "Nie udało się. Nieznany błąd.", + "cantSaveConnectionData": "Nie można zapisać danych połączenia", + "editServer": "Edytowanie połączenia z serwerem", + "addServer": "Dodawanie połączenia z serwerem", + "serverAddress": "Adres serwera", "alias": "Alias", - "password": "Password", - "topPermittedDomains": "Top permitted domains", - "topBlockedDomains": "Top blocked domains", - "topClients": "Top clients (total)", - "topClientsBlocked": "Top clients (blocked only)", - "requests": "Requests:", - "hits": "Hits:", - "queriesServers": "Queries & servers", - "domains": "Domains", - "clients": "Clients", - "queryTypes": "Query types", - "upstreamServers": "Upstream servers", - "queryLogs": "Query logs", - "addingWhitelist": "Adding to whitelist...", - "addingBlacklist": "Adding to blacklist...", - "addedWhitelist": "Domain added to whitelist.", - "addedBlacklist": "Domain added to blacklist.", - "alreadyWhitelist": "Domain is already on whitelist.", - "alreadyBlacklist": "Domain is already on blacklist.", - "couldntAddWhitelist": "Could not add domain to whitelist.", - "couldntAddBlacklist": "Could not add domain to blacklist.", - "loadingLogs": "Loading logs...", - "noLogsDisplay": "No logs to display here", - "fromLast": "from last", - "hours": "hours", - "minutes": "minutes", + "password": "Hasło", + "topPermittedDomains": "Najpopularniejsze dozwolone domeny", + "topBlockedDomains": "Najczęściej blokowane domeny", + "topClients": "Najlepsi klienci (łącznie)", + "topClientsBlocked": "Najlepsi klienci (tylko zablokowani)", + "requests": "Żądania:", + "hits": "Trafienia:", + "queriesServers": "Zapytania i serwery", + "domains": "Domeny", + "clients": "Klienci", + "queryTypes": "Typy zapytań", + "upstreamServers": "Serwery nadrzędne", + "queryLogs": "Logi zapytań", + "addingWhitelist": "Dodawanie do białej listy...", + "addingBlacklist": "Dodawanie do czarnej listy...", + "addedWhitelist": "Domena dodana do białej listy.", + "addedBlacklist": "Domena dodana do czarnej listy.", + "alreadyWhitelist": "Domena jest już na białej liście.", + "alreadyBlacklist": "Domena jest już na czarnej liście.", + "couldntAddWhitelist": "Nie można dodać domeny do białej listy.", + "couldntAddBlacklist": "Nie można dodać domeny do czarnej listy.", + "loadingLogs": "Ładowanie logów...", + "noLogsDisplay": "Nie ma tutaj żadnych logów do wyświetlenia", + "fromLast": "Od ostatniego", + "hours": "Godziny", + "minutes": "minuty", "between": "between", - "and": "and", - "now": "now", - "couldntLoadLogs": "Logs couldn't be loaded", - "fromLatestToOldest": "From latest to oldest", - "fromOldestToLatest": "From oldest to latest", - "searchUrl": "Search by URL...", - "blacklist": "Add to blacklist", - "whitelist": "Add to whitelist", + "and": "i", + "now": "teraz", + "couldntLoadLogs": "Nie udało się załadować logów", + "fromLatestToOldest": "Od najnowszych do najstarszych", + "fromOldestToLatest": "Od najstarszych do najnowszych", + "searchUrl": "Szukaj po adresie URL...", + "blacklist": "Dodaj do czarnej listy", + "whitelist": "Dodaj do białej listy", "url": "URL", - "type": "Type", - "device": "Device", - "time": "Time", + "type": "Typ", + "device": "Urządzenie", + "time": "Czas", "status": "Status", - "answeredBy": "Answered by", - "reply": "Reply", - "logDetails": "Log details", - "noItemsSelected": "No items selected", - "allItemsSelected": "All items selected", - "itemsSelected": "items selected", - "selectStartTime": "Select start time", - "selectEndTime": "Select end time", - "startTimeNotBeforeEndTime": "Start time is not before end time", - "endTimeNotAfterStartTime": "End time is not after start time", - "filters": "Filters", - "fromTime": "From time", - "toTime": "To time", - "notSelected": "Not selected", - "apply": "Apply", - "allStatusSelected": "All status selected", - "eraseAppData": "Erase app data", - "eraseAll": "ERASE ALL", - "eraseWarning": "Warning! This action will reset the application and remove all its data.\n\nAre you sure you want to continue?", - "connectionRemoved": "Connection removed successfully", - "connectionCannotBeRemoved": "Connection cannot be removed.", - "remove": "Remove", - "removeWarning": "Are you sure you want to remove the connection with this PiHole server?", - "autoRefreshTime": "Auto refresh time", - "second1": "1 second", - "seconds2": "2 seconds", - "seconds5": "5 seconds", - "seconds10": "10 seconds", - "customSeconds": "Custom seconds", - "confirm": "Confirm", - "deleting": "Deleting...", - "updateTimeChanged": "Update time changed successfully.", - "cannotChangeUpdateTime": "Cannot change update time", - "connectedTo": "Connected to", - "notConnected": "Not connected", - "resetApplication": "Reset application", - "erasesAppData": "Erases all application data", - "about": "About", - "appVersion": "App version", - "createdBy": "Created by", - "seconds": "Seconds", - "legal": "Legal", - "legalInfo": "Legal information", - "legalText": "All registered trademarks which are present on this application are property of it's respective owners.", - "theme": "Theme", - "systemTheme": "System theme", - "light": "Light", - "dark": "Dark", - "changeTheme": "Change app theme", + "answeredBy": "Odpowiedź od", + "reply": "Odpowiedź", + "logDetails": "Szczegóły dziennika", + "noItemsSelected": "Nie wybrano żadnych elementów", + "allItemsSelected": "Wybrano wszystkie elementy", + "itemsSelected": "Wybrane elementy", + "selectStartTime": "Wybierz godzinę rozpoczęcia", + "selectEndTime": "Wybierz godzinę zakończenia", + "startTimeNotBeforeEndTime": "Czas rozpoczęcia nie jest wcześniejszy niż czas zakończenia", + "endTimeNotAfterStartTime": "Godzina zakończenia nie jest późniejsza od godziny rozpoczęcia", + "filters": "Filtry", + "fromTime": "Od czasu", + "toTime": "Do czasu", + "notSelected": "Nie wybrano", + "apply": "Zastosuj", + "allStatusSelected": "Wybrano wszystkie stany", + "eraseAppData": "Usuń dane aplikacji", + "eraseAll": "USUŃ WSZYSTKO", + "eraseWarning": "Ostrzeżenie! Ta czynność zresetuje aplikację i usunie wszystkie jej dane.\n\nCzy na pewno chcesz kontynuować?", + "connectionRemoved": "Połączenie zostało pomyślnie usunięte", + "connectionCannotBeRemoved": "Nie można usunąć połączenia.", + "remove": "Usuń", + "removeWarning": "Czy na pewno chcesz usunąć połączenie z tym serwerem PiHole?", + "autoRefreshTime": "Czas automatycznego odświeżania", + "second1": "co 1 sekunde", + "seconds2": "co 2 sekundy", + "seconds5": "co 5 sekund", + "seconds10": "co 10 sekund", + "customSeconds": "Niestandardowa ilość sekund", + "confirm": "Potwierdź", + "deleting": "Usuwanie...", + "updateTimeChanged": "Czas aktualizacji został pomyślnie zmieniony.", + "cannotChangeUpdateTime": "Nie można zmienić czasu aktualizacji", + "connectedTo": "Połączony z", + "notConnected": "Nie połączony", + "resetApplication": "Zresetuj aplikację", + "erasesAppData": "Usuwa wszystkie dane aplikacji", + "about": "O", + "appVersion": "Wersja aplikacji", + "createdBy": "Stworzone przez", + "seconds": "sekundy", + "legal": "Legalny", + "legalInfo": "Informacje prawnen", + "legalText": "Wszystkie zarejestrowane znaki towarowe, które są obecne w tej aplikacji, są własnością jej właścicieli.", + "theme": "Motyw", + "systemTheme": "Motyw systemowy", + "light": "Jasny", + "dark": "Ciemny", + "changeTheme": "Zmień motyw aplikacji", "visitGooglePlay": "Visit Google Play page", "gitHub": "App code available on GitHub", "tokenNeeded": "Token needed", @@ -318,4 +318,4 @@ "advancedStatusFiltering": "Advanced status filtering", "selectOptionLeftColumn": "Select an option from the left column.", "unlockWithFingerprint": "Unlock the app with your fingerprint" -} \ No newline at end of file +} From 64a65305e5ce5dd81c1655984a9e6733e8a5c828 Mon Sep 17 00:00:00 2001 From: Adrian English Lord Of The Manor Date: Tue, 12 Sep 2023 16:24:13 +0200 Subject: [PATCH 02/10] Update app_pl.arb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ukończono --- lib/l10n/app_pl.arb | 314 ++++++++++++++++++++++---------------------- 1 file changed, 157 insertions(+), 157 deletions(-) diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 07fa85e..b474bd7 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -159,163 +159,163 @@ "light": "Jasny", "dark": "Ciemny", "changeTheme": "Zmień motyw aplikacji", - "visitGooglePlay": "Visit Google Play page", - "gitHub": "App code available on GitHub", - "tokenNeeded": "Token needed", - "tokenInstructions": "You can get it on the web interface on Settings > API/Web interface > Show API token.", - "apiToken": "API token", - "tokenNotValid": "Token not valid", - "scanQrCode": "Scan the QR code", - "noConnection": "No connection", - "cameraPermission": "DroidHole does not have permission to access the camera.\n\nGo to settings and grant the permission.", - "serverInvalidData": "Server connection saved with invalid data. Add the connection again.", - "dbNotWorking": "Database is not working. Reinstall the application.", - "checkingToken": "Checking token...", - "gettingPermission": "Getting permission...", - "connectToServer": "Connect to server", - "address": "IP address or domain", + "visitGooglePlay": "Odwiedź stronę Google Play", + "gitHub": "Kod aplikacji dostępny na GitHubie", + "tokenNeeded": "Potrzebny token", + "tokenInstructions": "Możesz go pobrać z interfejsu internetowego w Ustawieniach > API / interfejsie internetowym > Pokaż token API.", + "apiToken": "Token API", + "tokenNotValid": "Token jest nieprawidłowy", + "scanQrCode": "Zeskanuj kod QR", + "noConnection": "Brak połączenia", + "cameraPermission": "DroidHole nie ma uprawnień dostępu do kamery.\n\nPrzejdź do ustawień i przyznaj uprawnienia.", + "serverInvalidData": "Połączenie z serwerem zapisane z nieprawidłowymi danymi. Dodaj połączenie ponownie.", + "dbNotWorking": "Baza danych nie działa. Zainstaluj ponownie aplikację.", + "checkingToken": "Sprawdzanie tokena...", + "gettingPermission": "Uzyskiwanie pozwolenia...", + "connectToServer": "Połącz się z serwerem", + "address": "Adres IP lub domena", "port": "Port", - "invalidAddress": "Invalid IP or domain", - "invalidPort": "Invalid port", - "ipCannotEmpty": "IP field cannot be empty", - "portCannotEmpty": "Port field cannot be empty", - "cantReachServer": "Can't reach the server. Check IP address and port.", - "noConnections": "Seems that you don't have added any connection yet.", - "createConnection": "Create a connection", - "beginAddConnection": "First of all, add a connection to a server.", - "couldNotConnectServer": "Could not connect to the server", - "noData": "No data", - "oneColumnLegend": "One column legend", - "oneColumnLegendDescription": "Use only one column for the legend", - "sslErrorShort": "SSL error.", - "sslErrorLong": "SSL error. Check if the server's certificate is valid.", - "dontCheckCertificate": "Don't check SSL certificate", - "dontCheckCertificateDescription": "Overrides the server's SSL certificate validation", - "advancedSetup": "Advanced settings", - "advancedSetupDescription": "Advanced options", - "security": "Security", - "others": "Others", - "charts": "Charts", - "settingsUpdatedSuccessfully": "Settings updated successfully.", - "cannotUpdateSettings": "Settings cannot be updated.", - "restartAppTakeEffect": "Restart the application", - "reducedDataCharts": "Use reduced data", - "reducedDataChartsDescription": "Affects the clients chart at Home. Can improve application performance", - "statusSelected": "status selected", - "allClientsSelected": "All clients selected", - "clientsSelected": "clients selected", - "logsQuantityPerLoad": "Logs quantity per request", - "minutes30": "30 minutes", - "hour1": "1 hour", - "hours2": "2 hours", - "hours4": "4 hours", - "hours6": "6 hours", - "hours8": "8 hours", - "logsPerQueryUpdated": "Logs quantity per request updated successfully", - "cantUpdateLogsPerQuery": "Logs quantity per request couldn't be updated", - "logsPerQueryLabel": "Select the time interval to be used for each log request to the API.", - "logsPerQueryWarning": "Selecting a long time could result on slow load times.\nIt will depend on the speed of the server.", - "logsWillBeRequested": "Logs will be requested in groups of", - "accept": "Accept", - "reset": "Reset", - "checkAll": "Check all", - "uncheckAll": "Uncheck all", - "logsStatus": "Logs status", - "appUnlock": "App unlock", - "appUnlockDescription": "Use a code or the fingerprint to unlock the app", - "setPassCode": "Setup passcode", - "enterPasscode": "Enter passcode", - "repeatPasscode": "Repeat passcode", - "next": "Next", - "finish": "Finish", - "passcodesDontMatch": "Initial passcode and repeated passcode do not match.", - "passCodeNotSaved": "Passcode couldn't be saved.", - "updatePasscode": "Update passcode", - "removePasscode": "Remove passcode", - "appUnlockEnabled": "App unlock enabled", - "appUnlockDisabled": "App unlock disabled", - "areSureRemovePasscode": "Are you sure you want to remove the passcode? This will disable the app unlock protection.", - "connectingToServer": "Connecting to server", - "enterCodeUnlock": "Enter code to unlock", - "useFingerprint": "Use fingerprint", - "noAvailableBiometrics": "You don't have any fingerprints saved on the device.", - "unlockFingerprint": "Unlock with fingerprint", - "biometricUnlockNotActivated": "Couldn't activate unlock with fingerprint.", - "biometricUnlockNotDisabled": "Couldn't disable unlock with fingerprint.", - "statusEnabled": "Status: enabled", - "statusDisabled": "Status: disabled", - "importantAnnouncement": "Important announcement", - "requiredVersions": "Required versions:", - "olderVersion": "If you have an older version, please update your Pi-hole to continue using this app.", - "letMeKnow": "Sometimes the Pi-hole team makes some changes to the API used by this app to get all the data. If you are experiencing connection issues or data not loading, and you are sure that your server is working fine, please let me know it to investigate it and release an update as soon as possible.", - "howToContact": "You can contact me by opening an issue on the GitHub repository or by email. All the details about how to contact are in Settings > Contact.", - "importantInformation": "Important information", - "readIssues": "Read this if you are experimenting issues", - "contactDeveloper": "Contact the developer", - "issuesSuggestions": "If you are experiencing issues or you have suggestions", - "contact": "Contact", - "openIssueGitHub": "Open an issue on GitHub", - "writeEmail": "Write me by email.", - "writeEmailDetails": "Include on the body of the email all the possible details: Pi-hole and web interface version, how to reproduce the issue, screenshots...\n\nAll provided information will be very welcome.", - "contactEmail": "Contact by email", - "hideZeroValues": "Hide zero values", - "hideZeroValuesDescription": "Hides zero values from clients chart", - "domainsClientsDataMode": "Statistics display mode", - "domainsClientsDataModeDescription": "Changes the way that domains and clients data is displayed", - "list": "List", - "listDescription": "Displays the data on a list with the label and the numeric value at the left side, and a bar at the right side.", - "pieChart": "Pie chart", - "pieChartDescription": "Displays the data on a pie chart with the legend under it.", - "subrouteField": "Subroute", - "subrouteExample": "Example: /pihole", - "subrouteHelper": "To be used with a reverse proxy", - "invalidSubroute": "Invalid subroute. Remember not to finish with a '/', '.' or ':'.", - "howCreateConnection": "How to create a connection", - "loadingList": "Loading list...", - "domainsNotLoaded": "Domains list couldn't be loaded", - "domainDetails": "Domain details", - "domain": "Domain", - "dateAdded": "Date added", - "dateModified": "Date modified", - "enabled": "Enabled", - "disabled": "Disabled", - "comment": "Comment", - "noComment": "No comment", - "enable": "Enable", - "domainRemoved": "Domain removed successfully", - "domainNotExists": "Domain does not exist", - "errorRemovingDomain": "Error when removing domain", - "noDomains": "There are no domains to show here.", - "addDomain": "Add domain", - "addAsWildcard": "Add as wildcard", - "addingDomain": "Adding domain...", - "domainAdded": "Domain added successfully", - "domainAlreadyAdded": "Domain already added", - "cannotAddDomain": "Domain couldn't be added", - "invalidDomain": "Invalid domain", + "invalidAddress": "Nieprawidłowy adres IP lub domena", + "invalidPort": "Nieprawidłowy port", + "ipCannotEmpty": "Pole IP nie może być puste", + "portCannotEmpty": "Pole portu nie może być puste", + "cantReachServer": "Nie można połączyć się z serwerem. Sprawdź adres IP i port.", + "noConnections": "Wygląda na to, że nie dodano jeszcze żadnego połączenia.", + "createConnection": "Tworzenie połączenia", + "beginAddConnection": "Na początek dodaj połączenie z serwerem.", + "couldNotConnectServer": "Nie można połączyć się z serwerem", + "noData": "Brak danych", + "oneColumnLegend": "Legenda w jednej kolumnie", + "oneColumnLegendDescription": "Używanie tylko jednej kolumny dla legendy", + "sslErrorShort": "Błąd SSL.", + "sslErrorLong": "Błąd SSL. Sprawdź, czy certyfikat serwera jest prawidłowy.", + "dontCheckCertificate": "Nie sprawdzaj certyfikatu SSL", + "dontCheckCertificateDescription": "Zastępuje sprawdzanie poprawności certyfikatu SSL serwera", + "advancedSetup": "Ustawienia zaawansowane", + "advancedSetupDescription": "Opis ustawień zaawansowanych", + "security": "Bezpieczeństwo", + "others": "Inne", + "charts": "Wykresy", + "settingsUpdatedSuccessfully": "Ustawienia zostały pomyślnie zaktualizowane.", + "cannotUpdateSettings": "Nie można zaktualizować ustawień.", + "restartAppTakeEffect": "Uruchom ponownie aplikację", + "reducedDataCharts": "Użyj zmniejszonej ilości danych", + "reducedDataChartsDescription": "Wpływa na wykres klientów w domu. Może poprawić wydajność aplikacji", + "statusSelected": "Wybrany status", + "allClientsSelected": "Wybrano wszystkich klientów", + "clientsSelected": "Wybrani klienci", + "logsQuantityPerLoad": "Ilość dzienników na żądanie", + "minutes30": "30 minut", + "hour1": "1 godzina", + "hours2": "2 godziny", + "hours4": "4 godziny", + "hours6": "6 godzin", + "hours8": "8 godzin", + "logsPerQueryUpdated": "Ilość dzienników na żądanie została pomyślnie zaktualizowana", + "cantUpdateLogsPerQuery": "Nie można zaktualizować liczby dzienników na żądanie.", + "logsPerQueryLabel": "Wybierz interwał czasu, który ma być używany dla każdego żądania dziennika wysyłanego do interfejsu API.", + "logsPerQueryWarning": "Wybranie długiego czasu może spowodować powolne ładowanie.\nBędzie to zależeć od szybkości serwera.", + "logsWillBeRequested": "Logi będą wymagane w grupach", + "accept": "Akceptuj", + "reset": "Resetuj", + "checkAll": "Zaznacz wszystko", + "uncheckAll": "Odznacz wszystko", + "logsStatus": "Stan logów", + "appUnlock": "Odblokuj aplikację", + "appUnlockDescription": "Użyj kodu lub odcisku palca, aby odblokować aplikację", + "setPassCode": "Ustaw hasło", + "enterPasscode": "Wprowadź hasło", + "repeatPasscode": "Powtórz hasło", + "next": "Następny", + "finish": "Zakończ", + "passcodesDontMatch": "Początkowe hasło i powtarzane hasło nie są zgodne.", + "passCodeNotSaved": "Nie można zapisać kodu dostępu.", + "updatePasscode": "Aktualizuj kod dostępu", + "removePasscode": "Usuń kod dostępu", + "appUnlockEnabled": "Odblokowywanie aplikacji włączone", + "appUnlockDisabled": "Odblokowywanie aplikacji wyłączone", + "areSureRemovePasscode": "Czy na pewno chcesz usunąć kod dostępu? Spowoduje to wyłączenie ochrony przed odblokowaniem aplikacji.", + "connectingToServer": "Łączenie z serwerem", + "enterCodeUnlock": "Wprowadź kod, aby odblokować", + "useFingerprint": "Użyj odcisku palca", + "noAvailableBiometrics": "Na urządzeniu nie są zapisane żadne odciski palców.", + "unlockFingerprint": "Odblokuj odciskiem palca", + "biometricUnlockNotActivated": "Nie można aktywować odblokowania za pomocą odcisku palca.", + "biometricUnlockNotDisabled": "Nie można wyłączyć odblokowania za pomocą odcisku palca.", + "statusEnabled": "Stan: włączony", + "statusDisabled": "Stan: wyłączony", + "importantAnnouncement": "Ważne ogłoszenie", + "requiredVersions": "Wymagane wersje:", + "olderVersion": "Jeśli masz starszą wersję, zaktualizuj Pi-hole, aby nadal korzystać z tej aplikacji.", + "letMeKnow": "Czasami zespół Pi-hole wprowadza pewne zmiany w interfejsie API używanym przez tę aplikację, aby uzyskać wszystkie dane. Jeśli masz problemy z połączeniem lub dane nie ładują się i masz pewność, że Twój serwer działa poprawnie, daj mi znać, aby to zbadać i wydać aktualizację tak szybko, jak to możliwe.", + "howToContact": "Możesz skontaktować się ze mną, otwierając problem w repozytorium GitHub lub przez e-mail. Wszystkie szczegóły dotyczące sposobu kontaktowania się znajdują się w Ustawieniach > Kontakt.", + "importantInformation": "Ważne informacje", + "readIssues": "Przeczytaj to, jeśli masz problemy", + "contactDeveloper": "Skontaktuj się z deweloperem", + "issuesSuggestions": "Jeśli występują problemy lub masz sugestie", + "contact": "Kontakt", + "openIssueGitHub": "Otwórz problem w serwisie GitHub", + "writeEmail": "Napisz do mnie na e-mail.", + "writeEmailDetails": "W treści e-maila umieść wszystkie możliwe szczegóły: wersję Pi-hole i interfejsu sieciowego, sposób odtworzenia problemu, zrzuty ekranu...\n\nWszystkie dostarczone informacje będą bardzo mile widziane.", + "contactEmail": "Kontakt przez e-mail", + "hideZeroValues": "Ukryj wartości zerowe", + "hideZeroValuesDescription": "Ukrywa wartości zerowe na wykresie klientów", + "domainsClientsDataMode": "Tryb wyświetlania statystyk", + "domainsClientsDataModeDescription": "Zmienia sposób wyświetlania danych domen i klientów", + "list": "Lista", + "listDescription": "Wyświetla dane na liście z etykietą i wartością liczbową po lewej stronie oraz paskiem po prawej stronie.", + "pieChart": "Wykres kołowy", + "pieChartDescription": "Wyświetla dane na wykresie kołowym z legendą pod nimi.", + "subrouteField": "Trasa pomocnicza", + "subrouteExample": "Przykład: /pihole", + "subrouteHelper": "Do użycia z odwrotnym proxy", + "invalidSubroute": "Nieprawidłowa podtrasa. Pamiętaj, aby nie kończyć znakiem '/', '.' lub ':'.", + "howCreateConnection": "Jak utworzyć połączenie", + "loadingList": "Ładowanie list...", + "domainsNotLoaded": "Nie można załadować listy domen", + "domainDetails": "Szczegóły domeny", + "domain": "Domena", + "dateAdded": "Data dodania", + "dateModified": "Data modyfikacji", + "enabled": "Włączone", + "disabled": "Wyłączone", + "comment": "Komentarz", + "noComment": "Brak komentarza", + "enable": "Włączyć", + "domainRemoved": "Domena została pomyślnie usunięta", + "domainNotExists": "Domena nie istnieje", + "errorRemovingDomain": "Błąd podczas usuwania domeny", + "noDomains": "Nie ma tutaj domen do wyświetlenia.", + "addDomain": "Dodaj domenę", + "addAsWildcard": "Dodaj jako symbol zastępczy", + "addingDomain": "Dodawanie domeny...", + "domainAdded": "Domena dodana pomyślnie", + "domainAlreadyAdded": "Domena już dodana", + "cannotAddDomain": "Nie można dodać domeny", + "invalidDomain": "Nieprawidłowa domena", "token": "Token", - "qrScanner": "QR scanner", - "connectingTo": "Connecting to", - "logsCopiedClipboard": "Logs copied to clipboard", - "copyLogsClipboard": "Copy logs to clipboard", - "noSavedLogs": "No saved logs", - "appLogs": "App logs", - "errorsApp": "Errors registered by the app", - "switchServer": "Switch server", - "appSettings": "App settings", - "deleteDomain": "Delete domain", - "deleteDomainMessage": "Are you sure you want to delete this domain?", - "serverName": "Server name", - "connection": "Connection", - "authentication": "Authentication", - "basicAuth": "Basic authentication", - "username": "Username", - "basicAuthInfo": "If your server is behind a basic authentication, you can fill here the corresponding credentials. Make sure to fill both fields or you won't be able to save the connection.", - "searchDomainInternet": "Search domain on the Internet", - "searchDomains": "Search domains", - "all": "All", - "allowed": "Allowed", - "advancedStatusFiltering": "Advanced status filtering", - "selectOptionLeftColumn": "Select an option from the left column.", - "unlockWithFingerprint": "Unlock the app with your fingerprint" + "qrScanner": "Skaner QR", + "connectingTo": "Łączenie z", + "logsCopiedClipboard": "Logi skopiowane do schowka", + "copyLogsClipboard": "Skopiuj logi do schowka", + "noSavedLogs": "Brak zapisanych logów", + "appLogs": "Logi aplikacji", + "errorsApp": "Błędy zarejestrowane przez aplikację", + "switchServer": "Zmień serwer", + "appSettings": "Ustawienia aplikacji", + "deleteDomain": "Usuń domenę", + "deleteDomainMessage": "Czy na pewno chcesz usunąć tę domenę?", + "serverName": "Nazwa serwera", + "connection": "Połączenie", + "authentication": "Uwierzytelnianie", + "basicAuth": "Uwierzytelnianie podstawowe", + "username": "Nazwa użytkownika", + "basicAuthInfo": "Jeśli Twój serwer znajduje się za uwierzytelnianiem podstawowym, możesz wypełnić tutaj odpowiednie poświadczenia. Pamiętaj, aby wypełnić oba pola, w przeciwnym razie nie będzie można zapisać połączenia.", + "searchDomainInternet": "Wyszukaj domenę w Internecie", + "searchDomains": "Wyszukiwanie domen", + "all": "Wszystko", + "allowed": "Dozwolone", + "advancedStatusFiltering": "Zaawansowane filtrowanie stanów", + "selectOptionLeftColumn": "Wybierz opcję z lewej kolumny.", + "unlockWithFingerprint": "Odblokowywanie aplikacji za pomocą odcisku palca" } From 9e9b7c86d7b37ff6026c57144f5c9a0f03ccaa89 Mon Sep 17 00:00:00 2001 From: Adrian English Lord Of The Manor Date: Wed, 20 Sep 2023 15:39:13 +0200 Subject: [PATCH 03/10] Create app_en.arb test --- lib/l10n/app_en.arb | 323 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 323 insertions(+) create mode 100644 lib/l10n/app_en.arb diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb new file mode 100644 index 0000000..86814ed --- /dev/null +++ b/lib/l10n/app_en.arb @@ -0,0 +1,323 @@ +{ + "home": "Home", + "statistics": "Statistics", + "logs": "Logs", + "settings": "Settings", + "servers": "Servers", + "totalQueries": "Total queries", + "queriesBlocked": "Queries blocked", + "percentageBlocked": "Percentage blocked", + "domainsAdlists": "Domains on Adlists", + "totalQueries24": "Total queries last 24 hours", + "clientActivity24": "Client activity last 24 hours", + "blocked": "Blocked", + "notBlocked": "Not blocked", + "refresh": "Refresh", + "openWebPanel": "Open web panel", + "changeServer": "Change server", + "selectConnection": "Select a connection", + "disable": "Disable", + "seconds30": "30 seconds", + "minute1": "1 minute", + "minutes2": "2 minutes", + "minutes5": "5 minutes", + "indefinitely": "Indefinitely", + "custom": "Custom", + "customMinutes": "Custom minutes", + "valueNotValid": "Value not valid", + "cancel": "Cancel", + "couldntDisableServer": "Couldn't disable server.", + "disablingServer": "Disabling server...", + "enablingServer": "Enabling server...", + "serverDisabled": "Server disabled successfully.", + "serverEnabled": "Server enabled successfully.", + "couldntEnableServer": "Couldn't enable server.", + "loadingCharts": "Loading charts...", + "loadingStats": "Loading stats...", + "statsNotLoaded": "Stats could not be loaded", + "chartsNotLoaded": "Charts could not be loaded", + "refreshingData": "Refreshing data...", + "noServerSelected": "No server is selected", + "tryReconnect": "Try reconnect", + "selectServer": "Select server", + "notConnectServer": "Could not connect to the server", + "piHoleServers": "Servers connections", + "noSavedConnections": "No saved connections", + "add": "Add", + "close": "Close", + "connected": "Connected", + "connecting": "Connecting...", + "saved": "Saved", + "connectedSuccessfully": "Connected to server successfully.", + "cannotConnect": "Cannot connect to server.", + "connectionDefaultSuccessfully": "Connection set as default successfully.", + "connectionDefaultFailed": "Connection could not be set as default.", + "defaultConnection": "Default connection", + "setDefault": "Set as default connection", + "delete": "Delete", + "selectedDisconnected": "Selected but disconnected", + "connect": "Connect", + "save": "Save", + "edit": "Edit", + "connectionAlreadyExists": "This connection already exists", + "cannotCheckUrlSaved": "Cannot check if this URL is already saved.", + "checkAddress": "Failed. Check address.", + "connectionTimeout": "Failed. Connection timeout. Check if server is reachable.", + "passwordNotValid": "Failed. Password not valid.", + "unknownError": "Failed. Unknown error.", + "cantSaveConnectionData": "Connection data couldn't be saved", + "editServer": "Edit server connection", + "addServer": "Add server connection", + "serverAddress": "Server address", + "alias": "Alias", + "password": "Password", + "topPermittedDomains": "Top permitted domains", + "topBlockedDomains": "Top blocked domains", + "topClients": "Top clients (total)", + "topClientsBlocked": "Top clients (blocked only)", + "requests": "Requests:", + "hits": "Hits:", + "queriesServers": "Queries & servers", + "domains": "Domains", + "clients": "Clients", + "queryTypes": "Query types", + "upstreamServers": "Upstream servers", + "queryLogs": "Query logs", + "addingWhitelist": "Adding to whitelist...", + "addingBlacklist": "Adding to blacklist...", + "addedWhitelist": "Domain added to whitelist.", + "addedBlacklist": "Domain added to blacklist.", + "alreadyWhitelist": "Domain is already on whitelist.", + "alreadyBlacklist": "Domain is already on blacklist.", + "couldntAddWhitelist": "Could not add domain to whitelist.", + "couldntAddBlacklist": "Could not add domain to blacklist.", + "loadingLogs": "Loading logs...", + "noLogsDisplay": "No logs to display here", + "fromLast": "from last", + "hours": "hours", + "minutes": "minutes", + "between": "between", + "and": "and", + "now": "now", + "couldntLoadLogs": "Logs couldn't be loaded", + "fromLatestToOldest": "From latest to oldest", + "fromOldestToLatest": "From oldest to latest", + "searchUrl": "Search by URL...", + "blacklist": "Add to blacklist", + "whitelist": "Add to whitelist", + "url": "URL", + "type": "Type", + "device": "Device", + "time": "Time", + "status": "Status", + "answeredBy": "Answered by", + "reply": "Reply", + "logDetails": "Log details", + "noItemsSelected": "No items selected", + "allItemsSelected": "All items selected", + "itemsSelected": "items selected", + "selectStartTime": "Select start time", + "selectEndTime": "Select end time", + "startTimeNotBeforeEndTime": "Start time is not before end time", + "endTimeNotAfterStartTime": "End time is not after start time", + "filters": "Filters", + "fromTime": "From time", + "toTime": "To time", + "notSelected": "Not selected", + "apply": "Apply", + "allStatusSelected": "All status selected", + "eraseAppData": "Erase app data", + "eraseAll": "ERASE ALL", + "eraseWarning": "Warning! This action will reset the application and remove all its data.\n\nAre you sure you want to continue?", + "connectionRemoved": "Connection removed successfully", + "connectionCannotBeRemoved": "Connection cannot be removed.", + "remove": "Remove", + "removeWarning": "Are you sure you want to remove the connection with this PiHole server?", + "autoRefreshTime": "Auto refresh time", + "second1": "1 second", + "seconds2": "2 seconds", + "seconds5": "5 seconds", + "seconds10": "10 seconds", + "customSeconds": "Custom seconds", + "confirm": "Confirm", + "deleting": "Deleting...", + "updateTimeChanged": "Update time changed successfully.", + "cannotChangeUpdateTime": "Cannot change update time", + "connectedTo": "Connected to", + "notConnected": "Not connected", + "resetApplication": "Reset application", + "erasesAppData": "Erases all application data", + "about": "About", + "appVersion": "App version", + "createdBy": "Created by", + "seconds": "Seconds", + "legal": "Legal", + "legalInfo": "Legal information", + "legalText": "All registered trademarks which are present on this application are property of it's respective owners.", + "theme": "Theme", + "systemTheme": "System theme", + "light": "Light", + "dark": "Dark", + "changeTheme": "Change app theme", + "visitGooglePlay": "Visit Google Play page", + "gitHub": "App code available on GitHub", + "tokenNeeded": "Token needed", + "tokenInstructions": "You can get it on the web interface on Settings > API/Web interface > Show API token.", + "apiToken": "API token", + "tokenNotValid": "Token not valid", + "scanQrCode": "Scan the QR code", + "noConnection": "No connection", + "cameraPermission": "DroidHole does not have permission to access the camera.\n\nGo to settings and grant the permission.", + "serverInvalidData": "Server connection saved with invalid data. Add the connection again.", + "dbNotWorking": "Database is not working. Reinstall the application.", + "checkingToken": "Checking token...", + "gettingPermission": "Getting permission...", + "connectToServer": "Connect to server", + "address": "IP address or domain", + "port": "Port", + "invalidAddress": "Invalid IP or domain", + "invalidPort": "Invalid port", + "ipCannotEmpty": "IP field cannot be empty", + "portCannotEmpty": "Port field cannot be empty", + "cantReachServer": "Can't reach the server. Check IP address and port.", + "noConnections": "Seems that you don't have added any connection yet.", + "createConnection": "Create a connection", + "beginAddConnection": "First of all, add a connection to a server.", + "couldNotConnectServer": "Could not connect to the server", + "noData": "No data", + "oneColumnLegend": "One column legend", + "oneColumnLegendDescription": "Use only one column for the legend", + "sslErrorShort": "SSL error.", + "sslErrorLong": "SSL error. Check if the server's certificate is valid.", + "dontCheckCertificate": "Don't check SSL certificate", + "dontCheckCertificateDescription": "Overrides the server's SSL certificate validation", + "advancedSetup": "Advanced settings", + "advancedSetupDescription": "Advanced options", + "security": "Security", + "others": "Others", + "charts": "Charts", + "settingsUpdatedSuccessfully": "Settings updated successfully.", + "cannotUpdateSettings": "Settings cannot be updated.", + "restartAppTakeEffect": "Restart the application", + "reducedDataCharts": "Use reduced data", + "reducedDataChartsDescription": "Affects the clients chart at Home. Can improve application performance", + "statusSelected": "status selected", + "allClientsSelected": "All clients selected", + "clientsSelected": "clients selected", + "logsQuantityPerLoad": "Logs quantity per request", + "minutes30": "30 minutes", + "hour1": "1 hour", + "hours2": "2 hours", + "hours4": "4 hours", + "hours6": "6 hours", + "hours8": "8 hours", + "logsPerQueryUpdated": "Logs quantity per request updated successfully", + "cantUpdateLogsPerQuery": "Logs quantity per request couldn't be updated", + "logsPerQueryLabel": "Select the time interval to be used for each log request to the API.", + "logsPerQueryWarning": "Selecting a long time could result on slow load times.\nIt will depend on the speed of the server.", + "logsWillBeRequested": "Logs will be requested in groups of", + "accept": "Accept", + "reset": "Reset", + "checkAll": "Check all", + "uncheckAll": "Uncheck all", + "logsStatus": "Logs status", + "appUnlock": "App unlock", + "appUnlockDescription": "Use a code or the fingerprint to unlock the app", + "setPassCode": "Setup passcode", + "enterPasscode": "Enter passcode", + "repeatPasscode": "Repeat passcode", + "next": "Next", + "finish": "Finish", + "passcodesDontMatch": "Initial passcode and repeated passcode do not match.", + "passCodeNotSaved": "Passcode couldn't be saved.", + "updatePasscode": "Update passcode", + "removePasscode": "Remove passcode", + "appUnlockEnabled": "App unlock enabled", + "appUnlockDisabled": "App unlock disabled", + "areSureRemovePasscode": "Are you sure you want to remove the passcode? This will disable the app unlock protection.", + "connectingToServer": "Connecting to server", + "enterCodeUnlock": "Enter code to unlock", + "useFingerprint": "Use fingerprint", + "noAvailableBiometrics": "You don't have any fingerprints saved on the device.", + "unlockFingerprint": "Unlock with fingerprint", + "biometricUnlockNotActivated": "Couldn't activate unlock with fingerprint.", + "biometricUnlockNotDisabled": "Couldn't disable unlock with fingerprint.", + "statusEnabled": "Status: enabled", + "statusDisabled": "Status: disabled", + "importantAnnouncement": "Important announcement", + "requiredVersions": "Required versions:", + "olderVersion": "If you have an older version, please update your Pi-hole to continue using this app.", + "letMeKnow": "Sometimes the Pi-hole team makes some changes to the API used by this app to get all the data. If you are experiencing connection issues or data not loading, and you are sure that your server is working fine, please let me know it to investigate it and release an update as soon as possible.", + "howToContact": "You can contact me by opening an issue on the GitHub repository or by email. All the details about how to contact are in Settings > Contact.", + "importantInformation": "Important information", + "readIssues": "Read this if you are experimenting issues", + "contactDeveloper": "Contact the developer", + "issuesSuggestions": "If you are experiencing issues or you have suggestions", + "contact": "Contact", + "openIssueGitHub": "Open an issue on GitHub", + "writeEmail": "Write me by email.", + "writeEmailDetails": "Include on the body of the email all the possible details: Pi-hole and web interface version, how to reproduce the issue, screenshots...\n\nAll provided information will be very welcome.", + "contactEmail": "Contact by email", + "hideZeroValues": "Hide zero values", + "hideZeroValuesDescription": "Hides zero values from clients chart", + "domainsClientsDataMode": "Statistics display mode", + "domainsClientsDataModeDescription": "Changes the way that domains and clients data is displayed", + "list": "List", + "listDescription": "Displays the data on a list with the label and the numeric value at the left side, and a bar at the right side.", + "pieChart": "Pie chart", + "pieChartDescription": "Displays the data on a pie chart with the legend under it.", + "subrouteField": "Subroute", + "subrouteExample": "Example: /pihole", + "subrouteHelper": "To be used with a reverse proxy", + "invalidSubroute": "Invalid subroute. Remember not to finish with a '/', '.' or ':'.", + "howCreateConnection": "How to create a connection", + "loadingList": "Loading list...", + "domainsNotLoaded": "Domains list couldn't be loaded", + "domainDetails": "Domain details", + "domain": "Domain", + "dateAdded": "Date added", + "dateModified": "Date modified", + "enabled": "Enabled", + "disabled": "Disabled", + "comment": "Comment", + "noComment": "No comment", + "enable": "Enable", + "domainRemoved": "Domain removed successfully", + "domainNotExists": "Domain does not exist", + "errorRemovingDomain": "Error when removing domain", + "noDomains": "There are no domains to show here.", + "addDomain": "Add domain", + "addAsWildcard": "Add as wildcard", + "addingDomain": "Adding domain...", + "domainAdded": "Domain added successfully", + "domainAlreadyAdded": "Domain already added", + "cannotAddDomain": "Domain couldn't be added", + "invalidDomain": "Invalid domain", + "token": "Token", + "qrScanner": "QR scanner", + "connectingTo": "Connecting to", + "logsCopiedClipboard": "Logs copied to clipboard", + "copyLogsClipboard": "Copy logs to clipboard", + "noSavedLogs": "No saved logs", + "appLogs": "App logs", + "errorsApp": "Errors registered by the app", + "switchServer": "Switch server", + "appSettings": "App settings", + "deleteDomain": "Delete domain", + "deleteDomainMessage": "Are you sure you want to delete this domain?", + "serverName": "Server name", + "connection": "Connection", + "authentication": "Authentication", + "basicAuth": "Basic authentication", + "username": "Username", + "basicAuthInfo": "If your server is behind a basic authentication, you can fill here the corresponding credentials. Make sure to fill both fields or you won't be able to save the connection.", + "searchDomainInternet": "Search domain on the Internet", + "searchDomains": "Search domains", + "all": "All", + "allowed": "Allowed", + "advancedStatusFiltering": "Advanced status filtering", + "selectOptionLeftColumn": "Select an option from the left column.", + "unlockWithFingerprint": "Unlock the app with your fingerprint", + "fingerprintAuthUnavailableAttempts": "Fingerprint authentication unavailable due to many failed attempts.", + "fingerprintAuthUnavailable": "Fingerprint authentication unavailable." +} From d9eb1d5ca695a8226700b2500b8e41f83245c0cf Mon Sep 17 00:00:00 2001 From: Juan Gilsanz Polo Date: Fri, 22 Sep 2023 23:53:33 +0200 Subject: [PATCH 04/10] Fixed Windows installer builder and other fixes --- lib/l10n/app_pl.arb | 2 +- windows/innosetup_installer_builder.iss | 1 + windows/runner/flutter_window.cpp | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index b474bd7..602c529 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -17,7 +17,7 @@ "changeServer": "Zmień serwer", "selectConnection": "Wybierz połączenie", "disable": "Wyłącz na", - "seconds30": "30 sekunds, + "seconds30": "30 sekunds", "minute1": "1 minute", "minutes2": "2 minuty", "minutes5": "5 minut", diff --git a/windows/innosetup_installer_builder.iss b/windows/innosetup_installer_builder.iss index 856371b..7c69fbe 100644 --- a/windows/innosetup_installer_builder.iss +++ b/windows/innosetup_installer_builder.iss @@ -40,6 +40,7 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{ Source: "..\build\windows\runner\Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\windows\runner\Release\dynamic_color_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\windows\runner\Release\flutter_windows.dll"; DestDir: "{app}"; Flags: ignoreversion +Source: "..\build\windows\runner\Release\local_auth_windows_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\windows\runner\Release\permission_handler_windows_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\windows\runner\Release\sentry_flutter_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\windows\runner\Release\sqlite3.dll"; DestDir: "{app}"; Flags: ignoreversion diff --git a/windows/runner/flutter_window.cpp b/windows/runner/flutter_window.cpp index b25e363..955ee30 100644 --- a/windows/runner/flutter_window.cpp +++ b/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } From e4e3d20ce5a02758d718d5d365545b2b351e370e Mon Sep 17 00:00:00 2001 From: Juan Gilsanz Polo Date: Sat, 23 Sep 2023 00:08:46 +0200 Subject: [PATCH 05/10] Added polish --- lib/main.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/main.dart b/lib/main.dart index 98f1e9c..47e6e6e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -240,7 +240,8 @@ class _DroidHoleState extends State { supportedLocales: const [ Locale('en', ''), Locale('es', ''), - Locale('de', '') + Locale('de', ''), + Locale('pl', ''), ], scaffoldMessengerKey: scaffoldMessengerKey, builder: (context, child) { From efb4a3e846a7a479318c75b877e25323bc5b917f Mon Sep 17 00:00:00 2001 From: Juan Gilsanz Polo Date: Sat, 23 Sep 2023 00:21:44 +0200 Subject: [PATCH 06/10] Bug fixes --- lib/functions/refresh_server_status.dart | 1 + lib/screens/home/clients_last_hours.dart | 4 ++-- lib/screens/home/queries_last_hours.dart | 7 ++++++- lib/screens/logs/logs.dart | 1 + 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/functions/refresh_server_status.dart b/lib/functions/refresh_server_status.dart index 6168f2e..34cf5f4 100644 --- a/lib/functions/refresh_server_status.dart +++ b/lib/functions/refresh_server_status.dart @@ -19,6 +19,7 @@ Future refreshServerStatus(BuildContext context) async { final result = await realtimeStatus( serversProvider.selectedServer! ); + if (!context.mounted) return; if (result['result'] == "success") { serversProvider.updateselectedServerStatus( result['data'].status == 'enabled' ? true : false diff --git a/lib/screens/home/clients_last_hours.dart b/lib/screens/home/clients_last_hours.dart index c7c8a8f..56b7918 100644 --- a/lib/screens/home/clients_last_hours.dart +++ b/lib/screens/home/clients_last_hours.dart @@ -21,11 +21,11 @@ class ClientsLastHours extends StatelessWidget { }) : super(key: key); LineChartData mainData(Map data, ThemeMode selectedTheme) { - final interval = (data['topPoint']/5).toDouble() > 0 + final double interval = (data['topPoint']/5).toDouble() > 0 ? (data['topPoint']/5).toDouble() : data['topPoint'].toDouble() > 0 ? data['topPoint'].toDouble() - : 1; + : 1.0; return LineChartData( gridData: FlGridData( show: true, diff --git a/lib/screens/home/queries_last_hours.dart b/lib/screens/home/queries_last_hours.dart index 39f097a..1a12a61 100644 --- a/lib/screens/home/queries_last_hours.dart +++ b/lib/screens/home/queries_last_hours.dart @@ -16,11 +16,16 @@ class QueriesLastHours extends StatelessWidget { }) : super(key: key); LineChartData mainData(Map data, ThemeMode selectedTheme) { + final double interval = (data['topPoint']/5).toDouble() > 0 + ? (data['topPoint']/5).toDouble() + : data['topPoint'].toDouble() > 0 + ? data['topPoint'].toDouble() + : 1.0; return LineChartData( gridData: FlGridData( show: true, drawVerticalLine: false, - horizontalInterval: (data['topPoint']/5).toDouble(), + horizontalInterval: interval, getDrawingHorizontalLine: (value) => FlLine( color: selectedTheme == ThemeMode.light ? Colors.black12 diff --git a/lib/screens/logs/logs.dart b/lib/screens/logs/logs.dart index 4604d9e..3a43ab9 100644 --- a/lib/screens/logs/logs.dart +++ b/lib/screens/logs/logs.dart @@ -241,6 +241,7 @@ class _LogsState extends State { loading.close(); if (result['result'] == 'success') { if (result['data']['message'].toString().contains('Added')) { + if (!mounted) return; showSnackBar( appConfigProvider: appConfigProvider, label: list == 'white' From 62312a142cc5abbf0a84cedc0afec5ba4d5c48d9 Mon Sep 17 00:00:00 2001 From: Adrian English Lord Of The Manor Date: Wed, 27 Sep 2023 00:34:56 +0200 Subject: [PATCH 07/10] =?UTF-8?q?poprawka=20t=C5=82umaczenia?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tlumaczenie v2 --- lib/l10n/app_pl.arb | 321 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 321 insertions(+) create mode 100644 lib/l10n/app_pl.arb diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb new file mode 100644 index 0000000..59cd1f4 --- /dev/null +++ b/lib/l10n/app_pl.arb @@ -0,0 +1,321 @@ +{ + "home": "Strona główna", + "statistics": "Statystyki", + "logs": "Logi", + "settings": "Ustawienia", + "servers": "Serwery", + "totalQueries": "Łączna liczba zapytań", + "queriesBlocked": "Zapytania zablokowane", + "percentageBlocked": "Procent zablokowanych", + "domainsAdlists": "Domeny na listach reklamowych", + "totalQueries24": "Łączna liczba zapytań w ciągu ostatnich 24 godzin", + "clientActivity24": "Aktywność klienta w ciągu ostatnich 24 godzin", + "blocked": "Zablokowane", + "notBlocked": "Nie zablokowany", + "refresh": "Odświeżyć", + "openWebPanel": "Otwórz panel WWW", + "changeServer": "Zmień serwer", + "selectConnection": "Wybierz połączenie", + "disable": "Wyłącz na", + "seconds30": "30 sekund, + "minute1": "1 minute", + "minutes2": "2 minuty", + "minutes5": "5 minut", + "indefinitely": "Bezterminowo", + "custom": "Niestandardowo", + "customMinutes": "Na ile minut?", + "valueNotValid": "Wartość nieprawidłowa", + "cancel": "Anuluj", + "couldntDisableServer": "Nie można wyłączyć serwera.", + "disablingServer": "Wyłączanie serwera...", + "enablingServer": "Włączanie serwera...", + "serverDisabled": "Serwer został pomyślnie wyłączony.", + "serverEnabled": "Serwer został pomyślnie włączony.", + "couldntEnableServer": "Nie można włączyć serwera.", + "loadingCharts": "Ładowanie wykresów...", + "loadingStats": "Ładowanie statystyk...", + "statsNotLoaded": "Nie udało się załadować statystyk", + "chartsNotLoaded": "Nie udało się wczytać wykresów", + "refreshingData": "Odświeżanie danych...", + "noServerSelected": "Nie wybrano żadnego serwera", + "tryReconnect": "Spróbuj połączyć się ponownie", + "selectServer": "Wybierz serwer", + "notConnectServer": "Nie można połączyć się z serwerem", + "piHoleServers": "Połączenia serwerów", + "noSavedConnections": "Brak zapisanych połączeń", + "add": "Dodawaj", + "close": "Zamknij", + "connected": "Połączony", + "connecting": "Łączenie...", + "saved": "Zapisano", + "connectedSuccessfully": "Connected to server successfully.", + "cannotConnect": "Nie można połączyć się z serwerem.", + "connectionDefaultSuccessfully": "Pomyślnie ustawiono połączenie jako domyślne.", + "connectionDefaultFailed": "Nie można ustawić połączenia jako domyślne.", + "defaultConnection": "Połączenie domyślne", + "setDefault": "Ustaw jako połączenie domyślne", + "delete": "Usuń", + "selectedDisconnected": "Wybrano, ale rozłączono", + "connect": "Połącz", + "save": "Zapisać", + "edit": "Edytuj", + "connectionAlreadyExists": "To połączenie już istnieje", + "cannotCheckUrlSaved": "Nie można sprawdzić, czy ten adres URL jest już zapisany.", + "checkAddress": "Niepowodzenie. Sprawdź adres IP.", + "connectionTimeout": "Nie udało się, Przekroczono limit czasu połączenia. Sprawdź czy serwer jest dostępny.", + "passwordNotValid": "Niepowodzenie. Hasło jest nieprawidłowe.", + "unknownError": "Nie udało się. Nieznany błąd.", + "cantSaveConnectionData": "Nie można zapisać danych połączenia", + "editServer": "Edytowanie połączenia z serwerem", + "addServer": "Dodawanie połączenia z serwerem", + "serverAddress": "Adres serwera", + "alias": "Alias", + "password": "Hasło", + "topPermittedDomains": "Najpopularniejsze dozwolone domeny", + "topBlockedDomains": "Najczęściej blokowane domeny", + "topClients": "Najlepsi klienci (łącznie)", + "topClientsBlocked": "Najlepsi klienci (tylko zablokowani)", + "requests": "Żądania:", + "hits": "Trafienia:", + "queriesServers": "Zapytania i serwery", + "domains": "Domeny", + "clients": "Klienci", + "queryTypes": "Typy zapytań", + "upstreamServers": "Serwery nadrzędne", + "queryLogs": "Logi zapytań", + "addingWhitelist": "Dodawanie do białej listy...", + "addingBlacklist": "Dodawanie do czarnej listy...", + "addedWhitelist": "Domena dodana do białej listy.", + "addedBlacklist": "Domena dodana do czarnej listy.", + "alreadyWhitelist": "Domena jest już na białej liście.", + "alreadyBlacklist": "Domena jest już na czarnej liście.", + "couldntAddWhitelist": "Nie można dodać domeny do białej listy.", + "couldntAddBlacklist": "Nie można dodać domeny do czarnej listy.", + "loadingLogs": "Ładowanie logów...", + "noLogsDisplay": "Nie ma tutaj żadnych logów do wyświetlenia", + "fromLast": "Od ostatniego", + "hours": "Godziny", + "minutes": "minuty", + "between": "between", + "and": "i", + "now": "teraz", + "couldntLoadLogs": "Nie udało się załadować logów", + "fromLatestToOldest": "Od najnowszych do najstarszych", + "fromOldestToLatest": "Od najstarszych do najnowszych", + "searchUrl": "Szukaj po adresie URL...", + "blacklist": "Dodaj do czarnej listy", + "whitelist": "Dodaj do białej listy", + "url": "URL", + "type": "Typ", + "device": "Urządzenie", + "time": "Czas", + "status": "Status", + "answeredBy": "Odpowiedź od", + "reply": "Odpowiedź", + "logDetails": "Szczegóły dziennika", + "noItemsSelected": "Nie wybrano żadnych elementów", + "allItemsSelected": "Wybrano wszystkie elementy", + "itemsSelected": "Wybrane elementy", + "selectStartTime": "Wybierz godzinę rozpoczęcia", + "selectEndTime": "Wybierz godzinę zakończenia", + "startTimeNotBeforeEndTime": "Czas rozpoczęcia nie jest wcześniejszy niż czas zakończenia", + "endTimeNotAfterStartTime": "Godzina zakończenia nie jest późniejsza od godziny rozpoczęcia", + "filters": "Filtry", + "fromTime": "Od kiedy", + "toTime": "Do kiedy", + "notSelected": "Nie wybrano", + "apply": "Zastosuj", + "allStatusSelected": "Wybrano wszystkie stany", + "eraseAppData": "Usuń dane aplikacji", + "eraseAll": "USUŃ WSZYSTKO", + "eraseWarning": "Ostrzeżenie! Ta czynność zresetuje aplikację i usunie wszystkie jej dane.\n\nCzy na pewno chcesz kontynuować?", + "connectionRemoved": "Połączenie zostało pomyślnie usunięte", + "connectionCannotBeRemoved": "Nie można usunąć połączenia.", + "remove": "Usuń", + "removeWarning": "Czy na pewno chcesz usunąć połączenie z tym serwerem PiHole?", + "autoRefreshTime": "Czas automatycznego odświeżania", + "second1": "co 1 sekunde", + "seconds2": "co 2 sekundy", + "seconds5": "co 5 sekund", + "seconds10": "co 10 sekund", + "customSeconds": "Wprowadź co ilość sekund", + "confirm": "Potwierdź", + "deleting": "Usuwanie...", + "updateTimeChanged": "Czas aktualizacji został pomyślnie zmieniony.", + "cannotChangeUpdateTime": "Nie można zmienić czasu aktualizacji", + "connectedTo": "Połączony z", + "notConnected": "Nie połączony", + "resetApplication": "Zresetuj aplikację", + "erasesAppData": "Usuwa wszystkie dane aplikacji", + "about": "O aplikacji", + "appVersion": "Wersja aplikacji", + "createdBy": "Stworzone przez", + "seconds": "sekundy", + "legal": "Legalność", + "legalInfo": "Informacje prawne", + "legalText": "Wszystkie zarejestrowane znaki towarowe, które są obecne w tej aplikacji, są własnością jej właścicieli.", + "theme": "Motyw", + "systemTheme": "Motyw systemowy", + "light": "Jasny", + "dark": "Ciemny", + "changeTheme": "Zmień motyw aplikacji", + "visitGooglePlay": "Odwiedź stronę Google Play", + "gitHub": "Kod aplikacji dostępny na GitHubie", + "tokenNeeded": "Potrzebny token", + "tokenInstructions": "Możesz go pobrać z interfejsu internetowego w Ustawieniach > API / interfejsie internetowym > Pokaż token API.", + "apiToken": "Token API", + "tokenNotValid": "Token jest nieprawidłowy", + "scanQrCode": "Zeskanuj kod QR", + "noConnection": "Brak połączenia", + "cameraPermission": "DroidHole nie ma uprawnień dostępu do kamery.\n\nPrzejdź do ustawień i przyznaj uprawnienia.", + "serverInvalidData": "Połączenie z serwerem zapisane z nieprawidłowymi danymi. Dodaj połączenie ponownie.", + "dbNotWorking": "Baza danych nie działa. Zainstaluj ponownie aplikację.", + "checkingToken": "Sprawdzanie tokena...", + "gettingPermission": "Uzyskiwanie pozwolenia...", + "connectToServer": "Połącz się z serwerem", + "address": "Adres IP lub domena", + "port": "Port", + "invalidAddress": "Nieprawidłowy adres IP lub domena", + "invalidPort": "Nieprawidłowy port", + "ipCannotEmpty": "Pole IP nie może być puste", + "portCannotEmpty": "Pole portu nie może być puste", + "cantReachServer": "Nie można połączyć się z serwerem. Sprawdź adres IP i port.", + "noConnections": "Wygląda na to, że nie dodano jeszcze żadnego połączenia.", + "createConnection": "Tworzenie połączenia", + "beginAddConnection": "Na początek dodaj połączenie z serwerem.", + "couldNotConnectServer": "Nie można połączyć się z serwerem", + "noData": "Brak danych", + "oneColumnLegend": "Legenda w jednej kolumnie", + "oneColumnLegendDescription": "Używanie tylko jednej kolumny dla legendy", + "sslErrorShort": "Błąd SSL.", + "sslErrorLong": "Błąd SSL. Sprawdź, czy certyfikat serwera jest prawidłowy.", + "dontCheckCertificate": "Nie sprawdzaj certyfikatu SSL", + "dontCheckCertificateDescription": "Zastępuje sprawdzanie poprawności certyfikatu SSL serwera", + "advancedSetup": "Ustawienia zaawansowane", + "advancedSetupDescription": "Wykresy, bezpieczenstwo i inne", + "security": "Bezpieczeństwo", + "others": "Inne", + "charts": "Wykresy", + "settingsUpdatedSuccessfully": "Ustawienia zostały pomyślnie zaktualizowane.", + "cannotUpdateSettings": "Nie można zaktualizować ustawień.", + "restartAppTakeEffect": "Uruchom ponownie aplikację", + "reducedDataCharts": "Użyj zmniejszonej ilości danych", + "reducedDataChartsDescription": "Wpływa na wykres klientów w domu. Może poprawić wydajność aplikacji", + "statusSelected": "Wybrany status", + "allClientsSelected": "Wybrano wszystkich klientów", + "clientsSelected": "Wybrani klienci", + "logsQuantityPerLoad": "Ilość dzienników na żądanie", + "minutes30": "30 minut", + "hour1": "1 godzina", + "hours2": "2 godziny", + "hours4": "4 godziny", + "hours6": "6 godzin", + "hours8": "8 godzin", + "logsPerQueryUpdated": "Ilość dzienników na żądanie została pomyślnie zaktualizowana", + "cantUpdateLogsPerQuery": "Nie można zaktualizować liczby dzienników na żądanie.", + "logsPerQueryLabel": "Wybierz interwał czasu, który ma być używany dla każdego żądania dziennika wysyłanego do interfejsu API.", + "logsPerQueryWarning": "Wybranie długiego czasu może spowodować powolne ładowanie.\nBędzie to zależeć od szybkości serwera.", + "logsWillBeRequested": "Logi będą wymagane w grupach", + "accept": "Akceptuj", + "reset": "Resetuj", + "checkAll": "Zaznacz wszystko", + "uncheckAll": "Odznacz wszystko", + "logsStatus": "Stan logów", + "appUnlock": "Odblokuj aplikację", + "appUnlockDescription": "Użyj kodu lub odcisku palca, aby odblokować aplikację", + "setPassCode": "Ustaw hasło", + "enterPasscode": "Wprowadź hasło", + "repeatPasscode": "Powtórz hasło", + "next": "Dalej", + "finish": "Zakończ", + "passcodesDontMatch": "Początkowe hasło i powtarzane hasło nie są zgodne.", + "passCodeNotSaved": "Nie można zapisać kodu dostępu.", + "updatePasscode": "Aktualizuj kod dostępu", + "removePasscode": "Usuń kod dostępu", + "appUnlockEnabled": "Odblokowywanie aplikacji włączone", + "appUnlockDisabled": "Odblokowywanie aplikacji wyłączone", + "areSureRemovePasscode": "Czy na pewno chcesz usunąć kod dostępu? Spowoduje to wyłączenie ochrony przed odblokowaniem aplikacji.", + "connectingToServer": "Łączenie z serwerem", + "enterCodeUnlock": "Wprowadź kod, aby odblokować", + "useFingerprint": "Użyj odcisku palca", + "noAvailableBiometrics": "Na urządzeniu nie są zapisane żadne odciski palców.", + "unlockFingerprint": "Odblokuj odciskiem palca", + "biometricUnlockNotActivated": "Nie można aktywować odblokowania za pomocą odcisku palca.", + "biometricUnlockNotDisabled": "Nie można wyłączyć odblokowania za pomocą odcisku palca.", + "statusEnabled": "Stan: Włączono", + "statusDisabled": "Stan: Wyłączony", + "importantAnnouncement": "Ważne ogłoszenie", + "requiredVersions": "Wymagane wersje:", + "olderVersion": "Jeśli masz starszą wersję, zaktualizuj Pi-hole, aby nadal korzystać z tej aplikacji.", + "letMeKnow": "Czasami zespół Pi-hole wprowadza pewne zmiany w interfejsie API używanym przez tę aplikację, aby uzyskać wszystkie dane. Jeśli masz problemy z połączeniem lub dane nie ładują się i masz pewność, że Twój serwer działa poprawnie, daj mi znać, aby to zbadać i wydać aktualizację tak szybko, jak to możliwe.", + "howToContact": "Możesz skontaktować się ze mną, otwierając problem w repozytorium GitHub lub przez e-mail. Wszystkie szczegóły dotyczące sposobu kontaktowania się znajdują się w Ustawieniach > Kontakt.", + "importantInformation": "Ważne informacje", + "readIssues": "Przeczytaj to, jeśli masz problemy", + "contactDeveloper": "Skontaktuj się z deweloperem", + "issuesSuggestions": "Jeśli występują problemy lub masz sugestie", + "contact": "Kontakt", + "openIssueGitHub": "Otwórz problem w serwisie GitHub", + "writeEmail": "Napisz do mnie na e-mail.", + "writeEmailDetails": "W treści e-maila umieść wszystkie możliwe szczegóły: wersję Pi-hole i interfejsu sieciowego, sposób odtworzenia problemu, zrzuty ekranu...\n\nWszystkie dostarczone informacje będą bardzo mile widziane.", + "contactEmail": "Kontakt przez e-mail", + "hideZeroValues": "Ukryj wartości zerowe", + "hideZeroValuesDescription": "Ukrywa wartości zerowe na wykresie klientów", + "domainsClientsDataMode": "Tryb wyświetlania statystyk", + "domainsClientsDataModeDescription": "Zmienia sposób wyświetlania danych domen i klientów", + "list": "Lista", + "listDescription": "Wyświetla dane na liście z etykietą i wartością liczbową po lewej stronie oraz paskiem po prawej stronie.", + "pieChart": "Wykres kołowy", + "pieChartDescription": "Wyświetla dane na wykresie kołowym z legendą pod nimi.", + "subrouteField": "Trasa pomocnicza", + "subrouteExample": "Przykład: /pihole", + "subrouteHelper": "Do użycia z odwrotnym proxy", + "invalidSubroute": "Nieprawidłowa podtrasa. Pamiętaj, aby nie kończyć znakiem '/', '.' lub ':'.", + "howCreateConnection": "Jak utworzyć połączenie", + "loadingList": "Ładowanie list...", + "domainsNotLoaded": "Nie można załadować listy domen", + "domainDetails": "Szczegóły domeny", + "domain": "Domena", + "dateAdded": "Data dodania", + "dateModified": "Data modyfikacji", + "enabled": "Włączone", + "disabled": "Wyłączone", + "comment": "Komentarz", + "noComment": "Brak komentarza", + "enable": "Włączyć", + "domainRemoved": "Domena została pomyślnie usunięta", + "domainNotExists": "Domena nie istnieje", + "errorRemovingDomain": "Błąd podczas usuwania domeny", + "noDomains": "Nie ma tutaj domen do wyświetlenia.", + "addDomain": "Dodaj domenę", + "addAsWildcard": "Dodaj jako symbol zastępczy", + "addingDomain": "Dodawanie domeny...", + "domainAdded": "Domena dodana pomyślnie", + "domainAlreadyAdded": "Domena już dodana", + "cannotAddDomain": "Nie można dodać domeny", + "invalidDomain": "Nieprawidłowa domena", + "token": "Token", + "qrScanner": "Skaner QR", + "connectingTo": "Łączenie z", + "logsCopiedClipboard": "Logi skopiowane do schowka", + "copyLogsClipboard": "Skopiuj logi do schowka", + "noSavedLogs": "Brak zapisanych logów", + "appLogs": "Logi aplikacji", + "errorsApp": "Błędy zarejestrowane przez aplikację", + "switchServer": "Zmień serwer", + "appSettings": "Ustawienia aplikacji", + "deleteDomain": "Usuń domenę", + "deleteDomainMessage": "Czy na pewno chcesz usunąć tę domenę?", + "serverName": "Nazwa serwera", + "connection": "Połączenie", + "authentication": "Uwierzytelnianie", + "basicAuth": "Uwierzytelnianie podstawowe", + "username": "Nazwa użytkownika", + "basicAuthInfo": "Jeśli Twój serwer znajduje się za uwierzytelnianiem podstawowym, możesz wypełnić tutaj odpowiednie poświadczenia. Pamiętaj, aby wypełnić oba pola, w przeciwnym razie nie będzie można zapisać połączenia.", + "searchDomainInternet": "Wyszukaj domenę w Internecie", + "searchDomains": "Wyszukiwanie domen", + "all": "Wszystko", + "allowed": "Dozwolone", + "advancedStatusFiltering": "Zaawansowane filtrowanie stanów", + "selectOptionLeftColumn": "Wybierz opcję z lewej kolumny.", + "unlockWithFingerprint": "Odblokowywanie aplikacji za pomocą odcisku palca" +} From 5c6e31772f33b1100260b1b8b1a16999f5541495 Mon Sep 17 00:00:00 2001 From: Juan Gilsanz Polo Date: Wed, 27 Sep 2023 19:49:52 +0200 Subject: [PATCH 08/10] Fix --- lib/l10n/app_pl.arb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 59cd1f4..d5a724b 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -17,7 +17,7 @@ "changeServer": "Zmień serwer", "selectConnection": "Wybierz połączenie", "disable": "Wyłącz na", - "seconds30": "30 sekund, + "seconds30": "30 sekund", "minute1": "1 minute", "minutes2": "2 minuty", "minutes5": "5 minut", From 18d1f83d5c586804dd530619a31e5d4e1fd4a1fc Mon Sep 17 00:00:00 2001 From: Juan Gilsanz Polo Date: Wed, 4 Oct 2023 19:43:26 +0200 Subject: [PATCH 09/10] Bug fixes --- lib/functions/server_management.dart | 1 + lib/screens/unlock.dart | 1 + lib/widgets/start_warning_modal.dart | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/functions/server_management.dart b/lib/functions/server_management.dart index a245a1e..84edf77 100644 --- a/lib/functions/server_management.dart +++ b/lib/functions/server_management.dart @@ -48,6 +48,7 @@ void disableServer(int time, BuildContext context) async { time ); process.close(); + if (!context.mounted) return; if (result['result'] == 'success') { serversProvider.updateselectedServerStatus(false); showSnackBar( diff --git a/lib/screens/unlock.dart b/lib/screens/unlock.dart index 06ac865..1bb8e24 100644 --- a/lib/screens/unlock.dart +++ b/lib/screens/unlock.dart @@ -48,6 +48,7 @@ class _UnlockState extends State { AppLock.of(context)!.didUnlock(); } } catch (e) { + if (!mounted) return; if (e.toString().contains('LockedOut')) { showSnackBar( appConfigProvider: appConfigProvider, diff --git a/lib/widgets/start_warning_modal.dart b/lib/widgets/start_warning_modal.dart index f87bddf..03e1d4c 100644 --- a/lib/widgets/start_warning_modal.dart +++ b/lib/widgets/start_warning_modal.dart @@ -51,9 +51,9 @@ class ImportantInfoModal extends StatelessWidget { Container( width: double.maxFinite, margin: const EdgeInsets.only(top: 10), - child: Column( + child: const Column( crossAxisAlignment: CrossAxisAlignment.center, - children: const [ + children: [ Text("Pi-hole: v5.12+"), SizedBox(height: 5), Text("Web interface: v5.14.2+") From f5b2533eaa88d024e31d325b3d7afbf737b0d4bd Mon Sep 17 00:00:00 2001 From: Juan Gilsanz Polo Date: Wed, 4 Oct 2023 19:46:36 +0200 Subject: [PATCH 10/10] Fix issue text overflow home tiles polish --- lib/screens/home/home_tile.dart | 44 ++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/lib/screens/home/home_tile.dart b/lib/screens/home/home_tile.dart index 1763ac4..4847f99 100644 --- a/lib/screens/home/home_tile.dart +++ b/lib/screens/home/home_tile.dart @@ -45,27 +45,31 @@ class HomeTile extends StatelessWidget { child: Row( mainAxisAlignment: MainAxisAlignment.end, children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.end, - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Text( - label, - textAlign: TextAlign.end, - style: const TextStyle( - color: Colors.white, - fontSize: 14 + Flexible( + child: Column( + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Flexible( + child: Text( + label, + textAlign: TextAlign.end, + style: const TextStyle( + color: Colors.white, + fontSize: 14 + ), + ), ), - ), - Text( - value, - style: const TextStyle( - color: Colors.white, - fontSize: 24, - fontWeight: FontWeight.w500 - ), - ) - ], + Text( + value, + style: const TextStyle( + color: Colors.white, + fontSize: 24, + fontWeight: FontWeight.w500 + ), + ) + ], + ), ), ], ),