Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions frontend/check-locales.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ const allLocales = [
["ru", "ru-RU"],
["sk", "sk-SK"],
["zh", "zh-CN"],
["pl", "pl-PL"],
];

const ignoreUnused = [
Expand Down
7 changes: 7 additions & 0 deletions frontend/src/locale/IntlProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import langList from "./lang/lang-list.json";
import langRu from "./lang/ru.json";
import langSk from "./lang/sk.json";
import langZh from "./lang/zh.json";
import langPl from "./lang/pl.json";

// first item of each array should be the language code,
// not the country code
Expand All @@ -19,6 +20,7 @@ const localeOptions = [
["ru", "ru-RU"],
["sk", "sk-SK"],
["zh", "zh-CN"],
["pl", "pl-PL"],
];

const loadMessages = (locale?: string): typeof langList & typeof langEn => {
Expand All @@ -36,6 +38,8 @@ const loadMessages = (locale?: string): typeof langList & typeof langEn => {
return Object.assign({}, langList, langEn, langSk);
case "zh":
return Object.assign({}, langList, langEn, langZh);
case "pl":
return Object.assign({}, langList, langEn, langPl);
default:
return Object.assign({}, langList, langEn);
}
Expand All @@ -61,6 +65,9 @@ const getFlagCodeForLocale = (locale?: string) => {
case "zh":
case "zh-CN":
return "CN";
case "pl":
case "pl-PL":
return "PL";
default:
return "EN";
}
Expand Down
3 changes: 2 additions & 1 deletion frontend/src/locale/lang/lang-list.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@
"locale-ja-JP": "日本語",
"locale-ru-RU": "Русский",
"locale-sk-SK": "Slovak",
"locale-zh-CN": "中文"
"locale-zh-CN": "中文",
"locale-pl-PL": "Polski"
}
216 changes: 216 additions & 0 deletions frontend/src/locale/lang/pl.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,216 @@
{
"access-list": "Lista dostępu",
"access-list.access-count": "{count} {count, plural, one {Reguła} few {Reguły} other {Reguł}}",
"access-list.auth-count": "{count} {count, plural, one {Użytkownik} few {Użytkowników} other {Użytkowników}}",
"access-list.help-rules-last": "Gdy istnieje co najmniej 1 reguła, ta reguła blokująca wszystko zostanie dodana na końcu",
"access-list.help.rules-order": "Należy pamiętać, że dyrektywy zezwolenia i odmowy będą stosowane w kolejności, w jakiej zostały zdefiniowane.",
"access-list.pass-auth": "Przekaż uwierzytelnienie do Upstream'u",
"access-list.public": "Publicznie dostępne",
"access-list.public.subtitle": "Nie wymaga uwierzytelnienia podstawowego",
"access-list.satisfy-any": "Dowolny warunek wystarczy",
"access-list.subtitle": "{users} {users, plural, one {Użytkownik} few {Użytkowników} other {Użytkowników}}, {rules} {rules, plural, one {Reguła} few {Reguły} other {Reguł}} - Utworzono: {date}",
"access-lists": "Listy dostępu",
"action.add": "Dodaj",
"action.add-location": "Dodaj lokalizację",
"action.close": "Zamknij",
"action.delete": "Usuń",
"action.disable": "Wyłącz",
"action.download": "Pobierz",
"action.edit": "Edytuj",
"action.enable": "Włącz",
"action.permissions": "Uprawnienia",
"action.renew": "Odnów",
"action.view-details": "Pokaż szczegóły",
"auditlogs": "Logi audytu",
"cancel": "Anuluj",
"certificate": "Certyfikat",
"certificate.custom-certificate": "Certyfikat",
"certificate.custom-certificate-key": "Klucz certyfikatu",
"certificate.custom-intermediate": "Certyfikat pośredni",
"certificate.in-use": "W użyciu",
"certificate.none.subtitle": "Nie przypisano certyfikatu",
"certificate.none.subtitle.for-http": "Ten host nie będzie używał HTTPS",
"certificate.none.title": "Brak",
"certificate.not-in-use": "Nie używany",
"certificate.renew": "Odnów certyfikat",
"certificates": "Certyfikaty",
"certificates.custom": "Certyfikat własny",
"certificates.custom.warning": "Pliki kluczy chronione hasłem nie są obsługiwane.",
"certificates.dns.credentials": "Zawartość pliku z poświadczeniami",
"certificates.dns.credentials-note": "Ta wtyczka wymaga pliku konfiguracyjnego zawierającego token API lub inne poświadczenia dla twojego dostawcy",
"certificates.dns.credentials-warning": "Te dane zostaną zapisane jako zwykły tekst w bazie danych i pliku!",
"certificates.dns.propagation-seconds": "Sekundy propagacji",
"certificates.dns.propagation-seconds-note": "Pozostaw puste, aby użyć domyślnej wartości wtyczki. Liczba sekund oczekiwania na propagację DNS.",
"certificates.dns.provider": "Dostawca DNS",
"certificates.dns.warning": "Ta sekcja wymaga pewnej wiedzy na temat Certbot i jego wtyczek DNS. Zapoznaj się z dokumentacją odpowiednich wtyczek.",
"certificates.http.reachability-404": "Znaleziono serwer pod tą domeną, ale nie wygląda na to, że jest to Nginx Proxy Manager. Upewnij się, że twoja domena wskazuje na adres IP, gdzie działa twoja instancja NPM.",
"certificates.http.reachability-failed-to-check": "Nie udało się sprawdzić dostępności z powodu błędu komunikacji z site24x7.com.",
"certificates.http.reachability-not-resolved": "Brak dostępnego serwera pod tą domeną. Upewnij się, że twoja domena istnieje i wskazuje na adres IP, gdzie działa twoja instancja NPM, oraz w razie potrzeby, że port 80 jest przekierowany w routerze.",
"certificates.http.reachability-ok": "Twój serwer jest dostępny i tworzenie certyfikatów powinno być możliwe.",
"certificates.http.reachability-other": "Znaleziono serwer pod tą domeną, ale zwrócił nieoczekiwany kod statusu {code}. Czy to serwer NPM? Upewnij się, że twoja domena wskazuje na adres IP, gdzie działa twoja instancja NPM.",
"certificates.http.reachability-wrong-data": "Znaleziono serwer pod tą domeną, ale zwrócił nieoczekiwane dane. Czy to serwer NPM? Upewnij się, że twoja domena wskazuje na adres IP, gdzie działa twoja instancja NPM.",
"certificates.http.test-results": "Wyniki testu",
"certificates.http.warning": "Te domeny muszą być już skonfigurowane tak, aby wskazywały na tę instalację.",
"certificates.request.subtitle": "z Let's Encrypt",
"certificates.request.title": "Zamów nowy certyfikat",
"column.access": "Dostęp",
"column.authorization": "Autoryzacja",
"column.authorizations": "Autoryzacje",
"column.custom-locations": "Własne lokalizacje",
"column.destination": "Cel",
"column.details": "Szczegóły",
"column.email": "Email",
"column.event": "Zdarzenie",
"column.expires": "Wygasa",
"column.http-code": "Kod HTTP",
"column.incoming-port": "Port przychodzący",
"column.name": "Nazwa",
"column.protocol": "Protokół",
"column.provider": "Dostawca",
"column.roles": "Role",
"column.rules": "Reguły",
"column.satisfy": "Spełnij",
"column.satisfy-all": "Wszystkie",
"column.satisfy-any": "Dowolny",
"column.scheme": "Schemat",
"column.source": "Źródło",
"column.ssl": "SSL",
"column.status": "Status",
"created-on": "Utworzono: {date}",
"dashboard": "Panel",
"dead-host": "Host 404",
"dead-hosts": "Hosty 404",
"dead-hosts.count": "{count} {count, plural, one {Host 404} few {Hosty 404} other {Hostów 404}}",
"disabled": "Wyłączone",
"domain-names": "Nazwy domen",
"domain-names.max": "Maksymalnie {count} nazw domen",
"domain-names.placeholder": "Zacznij pisać, aby dodać domenę...",
"domain-names.wildcards-not-permitted": "Symbole wieloznaczne nie są dozwolone dla tego typu",
"domain-names.wildcards-not-supported": "Symbole wieloznaczne nie są obsługiwane dla tego CA",
"domains.force-ssl": "Wymuś SSL",
"domains.hsts-enabled": "HSTS włączone",
"domains.hsts-subdomains": "HSTS dla subdomen",
"domains.http2-support": "Obsługa HTTP/2",
"domains.use-dns": "Użyj wyzwania DNS",
"email-address": "Adres email",
"empty-search": "Nie znaleziono wyników",
"empty-subtitle": "Może utworzysz nowy?",
"enabled": "Włączone",
"error.access.at-least-one": "Wymagana jest co najmniej jedna autoryzacja lub jedna reguła dostępu",
"error.access.duplicate-usernames": "Nazwy użytkowników autoryzacji muszą być unikalne",
"error.invalid-auth": "Nieprawidłowy email lub hasło",
"error.invalid-domain": "Nieprawidłowa domena: {domain}",
"error.invalid-email": "Nieprawidłowy adres email",
"error.max-character-length": "Maksymalna długość to {max} {max, plural, one {znak} few {znaki} other {znaków}}",
"error.max-domains": "Zbyt wiele domen, maksimum to {max}",
"error.maximum": "Maksimum to {max}",
"error.min-character-length": "Minimalna długość to {min} {min, plural, one {znak} few {znaki} other {znaków}}",
"error.minimum": "Minimum to {min}",
"error.passwords-must-match": "Hasła muszą się zgadzać",
"error.required": "To pole jest wymagane",
"expires.on": "Wygasa: {date}",
"footer.github-fork": "Forkuj mnie na Github",
"host.flags.block-exploits": "Blokuj typowe exploity",
"host.flags.cache-assets": "Buforuj zasoby",
"host.flags.preserve-path": "Zachowaj ścieżkę",
"host.flags.protocols": "Protokoły",
"host.flags.websockets-upgrade": "Obsługa WebSockets",
"host.forward-port": "Port przekierowania",
"host.forward-scheme": "Schemat",
"hosts": "Hosty",
"http-only": "Tylko HTTP",
"lets-encrypt": "Let's Encrypt",
"lets-encrypt-via-dns": "Let's Encrypt przez DNS",
"lets-encrypt-via-http": "Let's Encrypt przez HTTP",
"loading": "Ładowanie…",
"login.title": "Zaloguj się na swoje konto",
"nginx-config.label": "Własna konfiguracja Nginx",
"nginx-config.placeholder": "# Wprowadź tutaj własną konfigurację Nginx na własną odpowiedzialność!",
"no-permission-error": "Nie masz uprawnień do wyświetlenia tego.",
"notfound.action": "Zabierz mnie do strony głównej",
"notfound.content": "Przepraszamy, ale strona, której szukasz, nie została znaleziona",
"notfound.title": "Ups… Właśnie znalazłeś stronę błędu",
"notification.error": "Błąd",
"notification.object-deleted": "{object} został usunięty",
"notification.object-disabled": "{object} został wyłączony",
"notification.object-enabled": "{object} został włączony",
"notification.object-renewed": "{object} został odnowiony",
"notification.object-saved": "{object} został zapisany",
"notification.success": "Sukces",
"object.actions-title": "{object} #{id}",
"object.add": "Dodaj {object}",
"object.delete": "Usuń {object}",
"object.delete.content": "Czy na pewno chcesz usunąć ten {object}?",
"object.edit": "Edytuj {object}",
"object.empty": "Brak {objects}",
"object.event.created": "Utworzono {object}",
"object.event.deleted": "Usunięto {object}",
"object.event.disabled": "Wyłączono {object}",
"object.event.enabled": "Włączono {object}",
"object.event.renewed": "Odnowiono {object}",
"object.event.updated": "Zaktualizowano {object}",
"offline": "Offline",
"online": "Online",
"options": "Opcje",
"password": "Hasło",
"password.generate": "Wygeneruj losowe hasło",
"password.hide": "Ukryj hasło",
"password.show": "Pokaż hasło",
"permissions.hidden": "Ukryte",
"permissions.manage": "Zarządzaj",
"permissions.view": "Tylko podgląd",
"permissions.visibility.all": "Wszystkie elementy",
"permissions.visibility.title": "Widoczność elementów",
"permissions.visibility.user": "Tylko utworzone elementy",
"proxy-host": "Host proxy",
"proxy-host.forward-host": "Przekieruj na hostname / IP",
"proxy-hosts": "Hosty proxy",
"proxy-hosts.count": "{count} {count, plural, one {Host proxy} few {Hosty proxy} other {Hostów proxy}}",
"public": "Publiczne",
"redirection-host": "Host przekierowania",
"redirection-host.forward-domain": "Domena docelowa",
"redirection-host.forward-http-code": "Kod HTTP",
"redirection-hosts": "Hosty przekierowań",
"redirection-hosts.count": "{count} {count, plural, one {Host przekierowania} few {Hosty przekierowań} other {Hostów przekierowań}}",
"role.admin": "Administrator",
"role.standard-user": "Standardowy użytkownik",
"save": "Zapisz",
"setting": "Ustawienie",
"settings": "Ustawienia",
"settings.default-site": "Domyślna strona",
"settings.default-site.404": "Strona 404",
"settings.default-site.444": "Brak odpowiedzi (444)",
"settings.default-site.congratulations": "Strona gratulacyjna",
"settings.default-site.description": "Co wyświetlić, gdy Nginx otrzyma nieznany Host",
"settings.default-site.html": "Własny HTML",
"settings.default-site.html.placeholder": "<!-- Wprowadź tutaj własną zawartość HTML -->",
"settings.default-site.redirect": "Przekierowanie",
"setup.preamble": "Zacznij od utworzenia konta administratora.",
"setup.title": "Witaj!",
"sign-in": "Zaloguj się",
"ssl-certificate": "Certyfikat SSL",
"stream": "Stream",
"stream.forward-host": "Host docelowy",
"stream.incoming-port": "Port przychodzący",
"streams": "Streamy",
"streams.count": "{count} {count, plural, one {Stream} few {Streamy} other {Streamów}}",
"streams.tcp": "TCP",
"streams.udp": "UDP",
"test": "Test",
"user": "Użytkownik",
"user.change-password": "Zmień hasło",
"user.confirm-password": "Potwierdź hasło",
"user.current-password": "Aktualne hasło",
"user.edit-profile": "Edytuj profil",
"user.full-name": "Pełne imię i nazwisko",
"user.login-as": "Zaloguj jako {name}",
"user.logout": "Wyloguj",
"user.new-password": "Nowe hasło",
"user.nickname": "Pseudonim",
"user.set-password": "Ustaw hasło",
"user.set-permissions": "Ustaw uprawnienia dla {name}",
"user.switch-dark": "Przełącz na tryb ciemny",
"user.switch-light": "Przełącz na tryb jasny",
"username": "Nazwa użytkownika",
"users": "Użytkownicy"
}
3 changes: 2 additions & 1 deletion frontend/src/locale/src/HelpDoc/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ import * as en from "./en/index";
import * as ja from "./ja/index";
import * as sk from "./sk/index";
import * as zh from "./zh/index";
import * as pl from "./pl/index";

const items: any = { en, de, ja, sk, zh };
const items: any = { en, de, ja, sk, zh, pl };

const fallbackLang = "en";

Expand Down
7 changes: 7 additions & 0 deletions frontend/src/locale/src/HelpDoc/pl/AccessLists.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## Czym jest lista dostępu?

Listy dostępu zapewniają czarną lub białą listę określonych adresów IP klientów wraz z uwierzytelnianiem dla hostów proxy za pomocą podstawowego uwierzytelniania HTTP.

Możesz skonfigurować wiele reguł klienta, nazw użytkowników i haseł dla pojedynczej listy dostępu, a następnie zastosować ją do jednego lub więcej hostów proxy.

Jest to najbardziej przydatne w przypadku przekierowywanych usług internetowych, które nie mają wbudowanych mechanizmów uwierzytelniania lub gdy chcesz zabezpieczyć się przed nieznanymi klientami.
22 changes: 22 additions & 0 deletions frontend/src/locale/src/HelpDoc/pl/Certificates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Pomoc dotycząca certyfikatów

### Certyfikat HTTP

Certyfikat weryfikowany przez HTTP oznacza, że serwery Let's Encrypt będą próbowały połączyć się z twoimi domenami przez HTTP (nie HTTPS!) i jeśli się to powiedzie, wydadzą twój certyfikat.

W przypadku tej metody musisz mieć utworzony Host proxy dla swoich domen, który jest dostępny przez HTTP i wskazuje na tę instalację Nginx.
Po otrzymaniu certyfikatu możesz zmodyfikować Host proxy, aby używał również tego certyfikatu do połączeń HTTPS. Jednak Host proxy nadal będzie musiał być skonfigurowany do dostępu przez HTTP, aby certyfikat mógł być odnawiany.

Ten proces nie obsługuje domen wieloznacznych (wildcard).

### Certyfikat DNS

Certyfikat weryfikowany przez DNS wymaga użycia wtyczki dostawcy DNS. Ten dostawca DNS zostanie użyty do utworzenia tymczasowych rekordów w twojej domenie, a następnie Let's Encrypt sprawdzi te rekordy, aby upewnić się, że jesteś właścicielem i jeśli się powiedzie, wydadzą twój certyfikat.

Nie musisz mieć utworzonego Hosta proxy przed wystąpieniem o ten typ certyfikatu. Nie musisz również mieć skonfigurowanego Hosta proxy do dostępu przez HTTP.

Ten proces obsługuje domeny wieloznaczne (wildcard).

### Własny certyfikat

Użyj tej opcji, aby przesłać własny certyfikat SSL, dostarczony przez twój własny urząd certyfikacji.
7 changes: 7 additions & 0 deletions frontend/src/locale/src/HelpDoc/pl/DeadHosts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## Czym jest host 404?

Host 404 to po prostu konfiguracja hosta, która wyświetla stronę 404.

Może to być przydatne, gdy twoja domena jest indeksowana w wyszukiwarkach i chcesz zapewnić ładniejszą stronę błędu lub konkretnie poinformować roboty indeksujące, że strony domeny już nie istnieją.

Kolejną zaletą posiadania tego hosta jest możliwość śledzenia logów dla odwiedzin oraz przeglądania źródeł ruchu (referrerów).
7 changes: 7 additions & 0 deletions frontend/src/locale/src/HelpDoc/pl/ProxyHosts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## Czym jest host proxy?

Host proxy to punkt wejściowy dla usługi internetowej, którą chcesz przekierować.

Zapewnia opcjonalne zakończenie SSL dla twojej usługi, która może nie mieć wbudowanej obsługi SSL.

Hosty proxy są najpopularniejszym zastosowaniem Nginx Proxy Manager
5 changes: 5 additions & 0 deletions frontend/src/locale/src/HelpDoc/pl/RedirectionHosts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Czym jest host przekierowania?

Host przekierowania przekierowuje żądania z domeny przychodzącej i przenosi odwiedzającego na inną domenę.

Najczęstszym powodem używania tego typu hosta jest sytuacja, gdy twoja strona internetowa zmienia domeny, ale nadal masz linki z wyszukiwarek lub odnośniki wskazujące na starą domenę.
5 changes: 5 additions & 0 deletions frontend/src/locale/src/HelpDoc/pl/Streams.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Czym jest strumień?

Stosunkowo nowa funkcja dla Nginx, strumień służy do przekazywania ruchu TCP/UDP bezpośrednio na inny komputer/serwer w sieci.

Jeśli prowadzisz serwery gier, FTP lub SSH, może się to okazać przydatne
6 changes: 6 additions & 0 deletions frontend/src/locale/src/HelpDoc/pl/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export * as AccessLists from "./AccessLists.md";
export * as Certificates from "./Certificates.md";
export * as DeadHosts from "./DeadHosts.md";
export * as ProxyHosts from "./ProxyHosts.md";
export * as RedirectionHosts from "./RedirectionHosts.md";
export * as Streams from "./Streams.md";
3 changes: 3 additions & 0 deletions frontend/src/locale/src/lang-list.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,8 @@
},
"locale-zh-CN": {
"defaultMessage": "中文"
},
"locale-pl-PL": {
"defaultMessage": "Polski"
}
}
Loading