diff --git a/language/pl/acp_tfa.php b/language/pl/acp_tfa.php
new file mode 100644
index 0000000..4d6def5
--- /dev/null
+++ b/language/pl/acp_tfa.php
@@ -0,0 +1,75 @@
+ 'Ustawienia uwierzytelniania dwuskładnikowego',
+ // As we are re-using the acp_board template, we can't add custom stuff to that page.
+ // As such, we do need to have some HTML here :(.
+ 'ACP_TFA_SETTINGS_EXPLAIN' => 'Tutaj możesz zmienić konfigurację uwierzytelniania dwuskładnikowego.
+ Sugerujemy, aby ustawić uwierzytelnianie dwuskładnikowe jako opcjonalne, lub jako wymagane tylko przy uzyskiwaniu dostępu do panelu administracyjnego.
+ Istnieją pewne wymagania co do przeglądarek, niezbędne do obsługi kluczy U2F:
+
+ - Google Chrome (co najmniej w wersji 41)
+ - Firefox (co najmniej w wersji 67)
+ - Edge (co najmniej w wersji 79)
+ - Safari (co najmniej w wersji 13)
+ - Opera (co najmniej w wersji 42)
+
+ Nie są obsługiwane następujące przeglądarki:
+
+ - Internet Explorer
+ - Chrome na Androidzie
+ - Opera na Androidzie
+
+ Jeśli używana przeglądarka nie spełnia wymagań, użytkownik nie będzie mógł wybrać U2F.',
+ 'TFA_REQUIRES_SSL' => 'Wygląda na to, że Twoje połączenie nie jest zabezpieczone. Dla niektórych kluczy wymagane jest połączenie szyfrowane przy użyciu SSL.',
+
+ 'TFA_MODE' => 'Ustawienie uwierzytelniania dwuskładnikowego',
+ 'TFA_MODE_EXPLAIN' => 'Tutaj możesz zdecydować, wobec których użytkowników (jeśli w ogóle) wymagane będzie uwierzytelnianie dwuskładnikowe. Wybranie opcji "Wyłącz uwierzytelnianie dwuskładnikowe" spowoduje całkowite wyłączenie tej funkcjonalności.',
+ 'TFA_DISABLED' => 'Wyłącz uwierzytelnianie dwuskładnikowe',
+ 'TFA_NOT_REQUIRED' => 'Nie wymagaj uwierzytelniania dwuskładnikowego',
+ 'TFA_REQUIRED_FOR_ACP_LOGIN' => 'Wymagaj u. d. tylko przy logowaniu do panelu admin.',
+ 'TFA_REQUIRED_FOR_ADMIN' => 'Wymagaj u. d. dla administratorów',
+ 'TFA_REQUIRED_FOR_MODERATOR' => 'Wymagaj u. d. dla administratorów i moderatorów',
+ 'TFA_REQUIRED' => 'Wymagaj u. d. dla wszystkich użytkowników',
+ 'TFA_ACP' => 'Wymagaj u. d. dla wejścia do panelu administracyjnego',
+ 'TFA_ACP_EXPLAIN' => 'Jeśli nie jest włączone, nie potrzeba użyć u. d. do wejścia do panelu administacyjnego. Radzimy mieć to ustawienie włączone.',
+ )
+);
diff --git a/language/pl/common.php b/language/pl/common.php
new file mode 100644
index 0000000..3a6fc1c
--- /dev/null
+++ b/language/pl/common.php
@@ -0,0 +1,89 @@
+ 'Administrator tego forum wymaga, abyś dodał klucz Uwierzytelniania Dwuskładnikowego aby uzyskać dostęp do (pewnych) części tego forum, jednak do Twojego konta nie są przypisane żadne (odpowiednie) klucze. Nowy klucz bezpieczeństwa możesz dodać %s tutaj%s
+
Ze względów bezpieczeństwa, dostęp do forum został dla Ciebie zablokowany do momentu aż dodasz klucz bezpieczeństwa do swojego konta. Podczas dodawania klucza może być wymagane podanie hasła!',
+ 'TFA_REQUIRED_KEY_AVAILABLE_BUT_UNUSABLE' => 'Administrator tego forum wymaga, abyś dodał klucz Uwierzytelniania Dwuskładnikowego aby uzyskać dostęp do (pewnych) części tego forum. Zarejstrowałeś już jakieś klucze, ale niestety z rozmaitych przyczyn nie jesteś w stanie ich użyć. Być może być to wina niewłaściwej przeglądarki.
+
Ze względów bezpieczeństwa, nie pozwalamy na dodanie kluczy osobom które są nie w pełni zalogowane. Spróbuj z przeglądarką która działała wcześniej, użyj kluczy zapasowych, albo w ostateczności skontaktuj się z administratorami forum aby wyzerowali twoje klucze przechowywane na serwerze, umożliwiajac ci dodanie właściwych.',
+ // Controller
+ 'ERR_NO_MATCHING_REQUEST' => 'Nie znaleziono pasującego żądania',
+ 'ERR_NO_MATCHING_REGISTRATION' => 'Nie znaleziono pasującego przypisania',
+ 'ERR_AUTHENTICATION_FAILURE' => 'Uwierzytelnianie nie powiodło się',
+ 'ERR_UNMATCHED_CHALLENGE' => 'Niezgodne zadanie przypisania',
+ 'ERR_ATTESTATION_SIGNATURE' => 'Niezgodna sygnatura poświadczenia',
+ 'ERR_ATTESTATION_VERIFICATION' => 'Nie udało się zweryfikować certyfikatu poświadczenia',
+ 'ERR_BAD_RANDOM' => 'Nie udało się zdobyć odpowiedniego źródła losowości',
+ 'ERR_COUNTER_TOO_LOW' => 'Licznik zbyt niski',
+ 'ERR_PUBKEY_DECODE' => 'Nie udało się odkodować klucza publicznego',
+ 'ERR_BAD_UA_RETURNING' => 'User-agent zwrócił błąd',
+ 'ERR_OLD_OPENSSL' => 'OpenSSL musi być co najmniej w wersji 1.0.0, obecna to %s',
+ 'UNKNOWN_ERROR' => 'Podczas sprawdzania Twojego klucza bezpieczeństwa wystąpił nieznany błąd. Spróbuj ponownie później.',
+
+ 'ERR_TFA_NO_REQUEST_FOUND_IN_SESSION' => 'W obecnej sesji nie znaleziono żądania. Czy wysłałeś je za pośrednictwem innej strony?',
+ 'TFA_NOT_REGISTERED' => 'Wykorzystany klucz bezpieczeństwa nie został przypisany do Twojego konta.',
+
+ 'FTA_NO_RESPONSE' => 'Nie otrzymano odpowiedzi',
+ 'TFA_SELECT_KEY' => 'Wybierz rodzaj klucza',
+ 'FTA_NO_RESPONSE_RECEIVED' => 'Nie otrzymaliśmy odpowiedzi od Twojego klucza bezpieczeństwa U2F. Czy kliknąłeś przycisk?',
+ 'FTA_NOT_SUPPORTED' => 'niewspierana przeglądarka',
+ 'FTA_BROWSER_SEEMS_NOT_SUPPORTED' => 'Przepraszamy, obecnie obsługiwana jest tylko przeglądarka Google Chrome.',
+ 'FTA_INSERT_KEY' => 'Wprowadź klucz bezpieczeństwa',
+ 'FTA_INSERT_KEY_EXPLAIN' => 'Wprowadź klucz bezpieczeństwa na komputerze i kliknij przycisk na kluczu.',
+ 'TFA_START_AUTH' => 'Klucz wsadzony',
+ 'TFA_NO_ACCESS' => 'Chyba nie masz dostępu do tej strony?',
+ 'TFA_UNABLE_TO_UPDATE_SESSION' => 'Nie udało się zaktualizować sesji. Skontaktuj się z administratorem forum',
+ 'TFA_DISABLED' => 'Wyłączono uwierzytelnianie dwuskładnikowe',
+
+ 'TFA_OTP_KEY_LOG' => 'Klucz OTP',
+ 'TFA_OTP_KEY_LOG_EXPLAIN' => 'Otwórz aplikację uwierzytelniającą i wprowadź tutaj wyświetlony przez nią kod',
+ 'TFA_INCORRECT_KEY' => 'Wprowadzony klucz był nieprawidłowy.',
+ 'TFA_NO_KEY_PROVIDED' => 'Nie wprowadzono klucza',
+ 'TFA_KEY_REQUIRED' => 'Wprowadź swój klucz bezpieczeństwa',
+
+ 'TFA_BACKUP_KEY' => 'Zapasowe klucze',
+ 'TFA_OTP' => 'OTP',
+ 'TFA_U2F' => 'U2F',
+
+ 'TFA_CP_TXT' => 'Uwierzytelnianie Dwuskładnikowe',
+ 'TFA_CP_NAME' => 'paul999',
+
+ 'TFA_BACKUP_KEY_LOG' => 'Zapasowy klucz',
+ 'TFA_BACKUP_KEY_LOG_EXPLAIN' => 'Wprowadź zapasowy klucz, którego jeszcze nie używałeś.',
+
+ 'TFA_DOUBLE_PRIORITY' => 'Wybrany priorytet (%d) dla modułu %s jest już wykorzystywany w module %s',
+
+ 'TFA_SOMETHING_WENT_WRONG' => 'Stało się coś nieprzewidzianego. Spróbuj ponownie później',
+
+ // Module names
+ 'MODULE_U2F' => 'U2F',
+
+ )
+);
diff --git a/language/pl/info_acp_tfa.php b/language/pl/info_acp_tfa.php
new file mode 100644
index 0000000..8616579
--- /dev/null
+++ b/language/pl/info_acp_tfa.php
@@ -0,0 +1,49 @@
+ 'Uwierzytelnianie dwuskładnikowe',
+ 'ACP_TFA_MANAGE' => 'Uwierzytelnianie dwuskładnikowe',
+
+ 'LOG_TFA_CONFIG_MANAGE' => 'Zaktualizowano ustawienia uwierzytelniania dwuskładnikowego',
+ 'LOG_TFA_EXCEPTION' => 'Nastąpił błąd gdy użytkownik chciał użyć swojego klucza uwierzytelniania dwuskładnikowego
» %s',
+
+ )
+);
diff --git a/language/pl/info_ucp_tfa.php b/language/pl/info_ucp_tfa.php
new file mode 100644
index 0000000..ecd5fa3
--- /dev/null
+++ b/language/pl/info_ucp_tfa.php
@@ -0,0 +1,46 @@
+ 'Uwierzytelnianie dwuskładnikowe',
+ 'UCP_TFA_MANAGE' => 'Uwierzytelnianie dwuskładnikowe',
+
+ )
+);
diff --git a/language/pl/permissions_tfa.php b/language/pl/permissions_tfa.php
new file mode 100644
index 0000000..3db5574
--- /dev/null
+++ b/language/pl/permissions_tfa.php
@@ -0,0 +1,45 @@
+ 'Może zarządzać uwierzytelnianiem dwuskładnikowym',
+
+ )
+);
diff --git a/language/pl/ucp_tfa.php b/language/pl/ucp_tfa.php
new file mode 100644
index 0000000..a20f4fd
--- /dev/null
+++ b/language/pl/ucp_tfa.php
@@ -0,0 +1,74 @@
+ 'Nie znaleziono kluczy uwierzytelniania dwuskładnikowego. Poniżej możesz dodać klucz.',
+ 'TFA_KEYS' => 'Na tej stronie możesz zarządzać swoimi kluczami uwierzytelniania dwuetapowego. Możesz dodać wiele kluczy do swojego konta. Jeśli zgubisz któryś z kluczy pamiętaj aby go usunąć z listy poniżej!
+
+Zależnie od konfiguracji wybranej przez administratora forum, może być wymagane podanie klucza bezpieczeństwa przed wejściem na forum.
+Niektóre klucze bezpieczeństwa (takie jak te w standardzie U2F) obecnie działają tylko w niektórych przeglądarkach. Z tego też powodu istnieje możliwość, że do Twojego konta są przypisane klucze, jednak dostęp do forum jest zablokowany ponieważ nie znaleziono prawidłowych kluczy działających w Twojej przeglądarce. Sugerujemy przynajmniej zarejestrować jakieś zapasowe klucze i przechowywać je w bezpiecznym miejscu.',
+ 'TFA_NO_MODE' => 'Brak ustawienia', // do przetlumaczenia
+ 'TFA_KEYS_DELETED' => 'Usunięto wybrane klucze.',
+ 'TFA_NEW' => 'Dodaj nowy klucz',
+ 'TFA_ERROR' => 'Coś chyba poszło nie tak...',
+ 'TFA_REG_FAILED' => 'Rejestracja zakończona niepowodzeniem z następującym komunikatem błędu: ',
+ 'TFA_REG_EXISTS' => 'Podany klucz został już przypisany do Twojego konta',
+ 'TFA_ADD_KEY' => 'Zarejestruj nowy klucz',
+ 'TFA_KEY_ADDED' => 'Twój klucz bezpieczeństwa został dodany i jest gotowy do użycia.',
+ 'TFA_INSERT_KEY' => 'Podaj swój klucz bezpieczeństwa i naciśnij przycisk na kluczu',
+ 'TFA_REGISTERED' => 'Klucz zarejestrowany',
+ 'TFA_LAST_USED' => 'Ostatnio używany klucz',
+ 'TFA_MODULE_NOT_FOUND' => 'Wybrany moduł (%s) nie został znaleziony',
+ 'TFA_MODULE_NO_REGISTER' => 'Wybrany moduł nie przyjmuje przypisywania do tego konta nowych kluczy',
+ 'TFA_SELECT_NEW' => 'Typ nowego klucza',
+ 'TFA_ADD_NEW_U2F_KEY' => 'Dodaj nowy klucz U2F do swojego konta',
+ 'TFA_ADD_NEW_OTP_KEY' => 'Dodaj nowy klucz OTP do swojego konta',
+ 'TFA_ADD_OTP_KEY_EXPLAIN' => 'Zeskanuj poniższy kod QR aplikacją uwierzytelniającą (np. Google Authenticator),
+ lub wpisz w aplikacji następujący kod bezpieczeństwa: %s. Po wykonaniu tej operacji, potwierdź poprzez podanie klucza z aplikacji uwerzytelniającej.',
+ 'TFA_OTP_KEY' => 'Klucz OTP',
+ 'TFA_OTP_INVALID_KEY' => 'Wpisano nieprawidłowy klucz.',
+ 'TFA_KEYTYPE' => 'Typ klucza',
+ 'TFA_KEY_NOT_USED' => 'Jeszcze nie używany',
+ 'TFA_KEY' => 'Klucz zapasowy',
+ 'TFA_BACKUP_KEY_EXPLAIN' => 'Poniżej znajdziesz klucze zapasowe, wygenerowane na wypadek gdybyś zgubił swoje klucze lub gdyby Twój klucz nie działał. Upewnij się, że przechowujesz te klucze w bezpiecznej lokalizacji.
+Ogólnie rzecz ujmując, powinieneś wykorzystywać klucze zapasowe tylko w sytuacjach awaryjnych, gdy nie ma innej możliwości.
+Po wykorzystaniu wszystkich kluczy, możesz wygenerować nowe.',
+ )
+);