diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Localization/pl.json b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Localization/pl.json
new file mode 100644
index 0000000000..8509b7d02b
--- /dev/null
+++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Localization/pl.json
@@ -0,0 +1,11 @@
+{
+ "culture": "pl",
+ "texts": {
+ "GivenTenantIsNotAvailable": "Podany tenant jest niedostępny: {0}",
+ "Tenant": "Tenant",
+ "Switch": "zmień",
+ "Name": "Nazwa",
+ "SwitchTenantHint": "Pozostaw pole nazwy puste, aby przełączyć się na stronę hosta.",
+ "NotSelected": "Nie wybrano"
+ }
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/pl.json b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/pl.json
new file mode 100644
index 0000000000..eef572eb13
--- /dev/null
+++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/pl.json
@@ -0,0 +1,20 @@
+{
+ "culture": "pl",
+ "texts": {
+ "'{0}' and '{1}' do not match.": "'{0}' i '{1}' nie są takie same.",
+ "The {0} field is not a valid credit card number.": "Pole {0} nie jest poprawnym numerem karty kredytowej.",
+ "{0} is not valid.": "{0} jest niepoprawne.",
+ "The {0} field is not a valid e-mail address.": "Pole {0} nie jest poprawnym adresem e-mail.",
+ "The {0} field only accepts files with the following extensions: {1}": "Polr {0} przyjmuje pliki tylko z następującymi rozszerzeniami: {1}",
+ "The field {0} must be a string or array type with a maximum length of '{1}'.": "Pole {0} musi być łańcuchem znaków lub talicą o maksymalnej długości '{1}'.",
+ "The field {0} must be a string or array type with a minimum length of '{1}'.": "Pole {0} musi być łańcuchem znaków lub talicą o minimalnej długości '{1}'.",
+ "The {0} field is not a valid phone number.": "Pole {0} nie jest poprawnym numerem telefonu.",
+ "The field {0} must be between {1} and {2}.": "Pole {0} musi być pomiędzy {1} i {2}.",
+ "The field {0} must match the regular expression '{1}'.": "Pole {0} musi pasować do wyrażenia regularnego '{1}'.",
+ "The {0} field is required.": "Pole {0} jest wymagane.",
+ "The field {0} must be a string with a maximum length of {1}.": "Pole {0} musi być łańcuchem znaków o maksymalnej długości {1}.",
+ "The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.": "Pole {0} musi być łańcuchem znaków o minimalnej długości {2} i maksymalnej długości {1}.",
+ "The {0} field is not a valid fully-qualified http, https, or ftp URL.": "Pole {0} nie jest prawidłowym, w pełni kwalifikowanym adresem URL http, https lub ftp.",
+ "The field {0} is invalid.": "Pole {0} jest niepoprawne."
+ }
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/pl.json b/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/pl.json
new file mode 100644
index 0000000000..557d01eb31
--- /dev/null
+++ b/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/pl.json
@@ -0,0 +1,6 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Menu:Administration": "Administracja"
+ }
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pl.json b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pl.json
new file mode 100644
index 0000000000..5f369760a1
--- /dev/null
+++ b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pl.json
@@ -0,0 +1,51 @@
+{
+ "culture": "pl",
+ "texts": {
+ "InternalServerErrorMessage": "Błąd wewnętrzny serwera podczas przetwarzania żądania!",
+ "ValidationErrorMessage": "Twoje żądanie jest niepoprawnie!",
+ "ValidationNarrativeErrorMessageTitle": "Wykryto następujące błędy podczas walidacji.",
+ "DefaultErrorMessage": "Wystąpił błąd!",
+ "DefaultErrorMessageDetail": "Treść błędu nie została wysłana z serwera.",
+ "DefaultErrorMessage401": "Nie jesteś zalogowany!",
+ "DefaultErrorMessage401Detail": "Musisz się zalogować, aby wykonać tą operację.",
+ "DefaultErrorMessage403": "Nie jesteś zautentykowany!",
+ "DefaultErrorMessage403Detail": "Nie masz uprawnień do wykonania tej operacji!",
+ "DefaultErrorMessage404": "Nie znaleziono zasobu!",
+ "DefaultErrorMessage404Detail": "Nie znaleziono zasobu z żądania na serwerze!",
+ "EntityNotFoundErrorMessage": "Nie istnieje encja {0} z id = {1}!",
+ "Error": "Błąd",
+ "AreYouSure": "Czy jesteś pewien?",
+ "Cancel": "Anuluj",
+ "Yes": "Tak",
+ "No": "Nie",
+ "Close": "Zamknij",
+ "Save": "Zapisz",
+ "SavingWithThreeDot": "Zapisywanie...",
+ "Actions": "Akcje",
+ "Delete": "Usuń",
+ "Edit": "Edytuj",
+ "Refresh": "Odśwież",
+ "ProcessingWithThreeDot": "Procesowanie...",
+ "LoadingWithThreeDot": "Ładowanie...",
+ "Welcome": "Witaj",
+ "Login": "Zaloguj",
+ "Register": "Zarejestruj",
+ "Logout": "Wyloguj",
+ "Submit": "Wyślij",
+ "Back": "Cofnij",
+ "PagerSearch": "Szukaj",
+ "PagerNext": "Następna",
+ "PagerPrevious": "Poprzednia",
+ "PagerFirst": "Pierwsza",
+ "PagerLast": "Ostatnia",
+ "PagerInfo": "Pokaż od _START_ do _END_ z _TOTAL_ rekordów",
+ "PagerInfoEmpty": "Pokaż od 0 do 0 z 0 rekordów",
+ "PagerInfoFiltered": "(filtruj od _MAX_ wszystkich rekordów)",
+ "NoDataAvailableInDatatable": "Nie znaleziono danych w tabeli",
+ "PagerShowMenuEntries": "Pokaż _MENU_ rekordów",
+ "DatatableActionDropdownDefaultText": "Akcje",
+ "ChangePassword": "Zmień hasło",
+ "PersonalInfo": "Mój profil",
+ "AreYouSureYouWantToCancelEditingWarningMessage": "Masz niezapisane zmiany."
+ }
+}
\ No newline at end of file
diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/pl.json b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/pl.json
new file mode 100644
index 0000000000..c794c9c123
--- /dev/null
+++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/pl.json
@@ -0,0 +1,7 @@
+{
+ "culture": "pl",
+ "texts": {
+ "BirthDate": "Data urodzenia",
+ "Value1": "Wartość jeden"
+ }
+}
\ No newline at end of file
diff --git a/framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/pl.json b/framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/pl.json
new file mode 100644
index 0000000000..6dd6654aa1
--- /dev/null
+++ b/framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/pl.json
@@ -0,0 +1,6 @@
+{
+ "culture": "pl",
+ "texts": {
+ "hello": "witaj"
+ }
+}
\ No newline at end of file
diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/pl.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/pl.json
new file mode 100644
index 0000000000..5e343cf2f9
--- /dev/null
+++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/pl.json
@@ -0,0 +1,7 @@
+{
+ "culture": "pl",
+ "texts": {
+ "USA": "Stany Zjednoczone Ameryki",
+ "Brazil": "Brazylia"
+ }
+}
\ No newline at end of file
diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/pl.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/pl.json
new file mode 100644
index 0000000000..1d0bfdf66a
--- /dev/null
+++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/pl.json
@@ -0,0 +1,7 @@
+{
+ "culture": "pl",
+ "texts": {
+ "ThisFieldIsRequired": "To pole jest wymagane",
+ "MaxLenghtErrorMessage": "To pole może mieć maksymalnie '{0}' znaków"
+ }
+}
\ No newline at end of file
diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/pl.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/pl.json
new file mode 100644
index 0000000000..d014bc7b30
--- /dev/null
+++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/pl.json
@@ -0,0 +1,11 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Hello {0}.": "Witaj {0}.",
+ "Car": "Samochód",
+ "CarPlural": "Samochody",
+ "MaxLenghtErrorMessage": "To pole może mieć maksymalnie '{0}' znaków",
+ "Universe": "Wszechświat",
+ "FortyTwo": "Czterdzieści dwa"
+ }
+}
\ No newline at end of file
diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/pl.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/pl.json
new file mode 100644
index 0000000000..2935790010
--- /dev/null
+++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/pl.json
@@ -0,0 +1,6 @@
+{
+ "culture": "pl",
+ "texts": {
+ "SeeYou": "Do zobaczenia"
+ }
+}
\ No newline at end of file
diff --git a/modules/account/src/Volo.Abp.Account.Web/Localization/Resources/AbpAccount/Web/pl.json b/modules/account/src/Volo.Abp.Account.Web/Localization/Resources/AbpAccount/Web/pl.json
new file mode 100644
index 0000000000..b661af8050
--- /dev/null
+++ b/modules/account/src/Volo.Abp.Account.Web/Localization/Resources/AbpAccount/Web/pl.json
@@ -0,0 +1,21 @@
+{
+ "culture": "pl",
+ "texts": {
+ "UserName": "Nazwa użytkownika",
+ "EmailAddress": "Adres email",
+ "UserNameOrEmailAddress": "Nazwa użytkownia lub adres email",
+ "Password": "Hasło",
+ "RememberMe": "Zapamiętaj mnie",
+ "UseAnotherServiceToLogin": "Użyj innej usługi do zalogowania się",
+ "UserLockedOutMessage": "Konto użytkownika zostało zablokowane po nieudanych próbach zalogowania. Odczekaj chwilę i spróbuj ponownie.",
+ "InvalidUserNameOrPassword": "Niepoprawna nazwa użytkownika lub hasło!",
+ "LoginIsNotAllowed": "Nie jesteś uprawniony do logowania! Musisz potwierdzić swój email/numer telefonu.",
+ "SelfRegistrationDisabledMessage": "Rejestracja użytkowników jest wyłączona dla tej aplikacji. Skontaktuj się z administratorem aplikacji w celu rejestracji nowego użytkownika.",
+ "Login": "Zaloguj",
+ "Cancel": "Anuluj",
+ "Register": "Zarejestruj",
+ "InvalidLoginRequest": "Logowanie nieudane",
+ "ThereAreNoLoginSchemesConfiguredForThisClient": "Nie istnieje skonfigurany schemat logowania dla użytkownika.",
+ "LogInUsingYourProviderAccount": "Zaloguj używając konta {0}"
+ }
+}
\ No newline at end of file
diff --git a/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/Resources/Blogging/ApplicationContracts/pl.json b/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/Resources/Blogging/ApplicationContracts/pl.json
new file mode 100644
index 0000000000..8806854643
--- /dev/null
+++ b/modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/Resources/Blogging/ApplicationContracts/pl.json
@@ -0,0 +1,14 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Permission:Blogging": "Blog",
+ "Permission:Blogs": "Blogi",
+ "Permission:Posts": "Posty",
+ "Permission:Tags": "Tagi",
+ "Permission:Comments": "Komentarze",
+ "Permission:Management": "Zarządzanie",
+ "Permission:Edit": "Edytuj",
+ "Permission:Create": "Utwórz",
+ "Permission:Delete": "Usuń"
+ }
+}
\ No newline at end of file
diff --git a/modules/blogging/src/Volo.Blogging.Web/Localization/Resources/Blogging/Web/pl.json b/modules/blogging/src/Volo.Blogging.Web/Localization/Resources/Blogging/Web/pl.json
new file mode 100644
index 0000000000..15e0c7eb0d
--- /dev/null
+++ b/modules/blogging/src/Volo.Blogging.Web/Localization/Resources/Blogging/Web/pl.json
@@ -0,0 +1,47 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Menu:Blogs": "Blogi",
+ "Menu:BlogManagement": "Zarządzanie blogiem",
+ "Title": "Tytuł",
+ "Delete": "Usuń",
+ "Reply": "Odpowiedz",
+ "ReplyTo": "Odpowiedz {0}",
+ "ContinueReading": "Kontynuuj czytanie",
+ "DaysAgo": "{0} dni temu",
+ "YearsAgo": "{0} lat temu",
+ "MonthsAgo": "{0} miesięcy temu",
+ "WeeksAgo": "{0} tygodni temu",
+ "MinutesAgo": "{0} minut temu",
+ "SecondsAgo": "{0} sekund temu",
+ "HoursAgo": "{0} godzin temu",
+ "Now": "teraz",
+ "Content": "Treść",
+ "SeeAll": "Zobacz wszystko",
+ "PopularTags": "Popularne tagi",
+ "WiewsWithCount": "{0} wyświetleń",
+ "LastPosts": "Ostatnie wpisy",
+ "LeaveComment": "Zostaw komentarz",
+ "TagsInThisArticle": "Tagi w tym artykule",
+ "Posts": "Wpisy",
+ "Edit": "Edytuj",
+ "BLOG": "BLOG",
+ "CommentDeletionWarningMessage": "Komentarz zostanie usunięty.",
+ "PostDeletionWarningMessage": "Wpis zostanie usunięty.",
+ "BlogDeletionWarningMessage": "Blog zostanie usunięty.",
+ "AreYouSure": "Czy jesteś pewien?",
+ "CommentWithCount": "{0} komentarzy",
+ "Comment": "Komentarz",
+ "ShareOnTwitter": "Udostępnij na Twitter",
+ "CoverImage": "Obraz okładki",
+ "CreateANewPost": "Utwórz nowy wpis",
+ "CreateANewBlog": "Utwórz nowy blog",
+ "WhatIsNew": "Co nowego?",
+ "Name": "Nazwa",
+ "ShortName": "Krótka nazwa",
+ "CreationTime": "Data utworzenia",
+ "Description": "Opis",
+ "Blogs": "Blogi",
+ "Tags": "Tagi"
+ }
+}
\ No newline at end of file
diff --git a/modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/pl.json b/modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/pl.json
new file mode 100644
index 0000000000..f131f9e139
--- /dev/null
+++ b/modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/pl.json
@@ -0,0 +1,9 @@
+{
+ "culture": "pl",
+ "texts": {
+ "WelcomeVoloDocs": "Witaj w VoloDocs!",
+ "NoProjectWarning": "Nie ma jeszcze zdefiniowanego projektu!",
+ "CreateYourFirstProject": "Kliknij, aby rozpocząć swój pierwszy projekt",
+ "NoProject": "Brak projektu!"
+ }
+}
\ No newline at end of file
diff --git a/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/pl.json b/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/pl.json
new file mode 100644
index 0000000000..e03a79585d
--- /dev/null
+++ b/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/pl.json
@@ -0,0 +1,10 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Permission:DocumentManagement": "Zarządzanie dokumentacją",
+ "Permission:Projects": "Projekty",
+ "Permission:Edit": "Edytuj",
+ "Permission:Delete": "Usuń",
+ "Permission:Create": "Utwórz"
+ }
+}
\ No newline at end of file
diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Localization/Resources/Docs/Web/pl.json b/modules/docs/src/Volo.Docs.Admin.Web/Localization/Resources/Docs/Web/pl.json
new file mode 100644
index 0000000000..414d4a684f
--- /dev/null
+++ b/modules/docs/src/Volo.Docs.Admin.Web/Localization/Resources/Docs/Web/pl.json
@@ -0,0 +1,27 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Menu:DocumentManagement": "Dokumenty",
+ "Menu:ProjectManagement": "Projekty",
+ "CreateANewProject": "Utwórz nowy projet",
+ "Edit": "Edytuj",
+ "Create": "Utwórz",
+ "Projects": "Projekty",
+ "Name": "Nazwa",
+ "ShortName": "Krótka nazwa",
+ "DocumentStoreType": "Typ zapisu dokumentu",
+ "Format": "Format",
+ "ShortNameInfoText": "Zostanie użyty do unikalnego URL.",
+ "DisplayName:Name": "Nazwa",
+ "DisplayName:ShortName": "Krótka nazwa",
+ "DisplayName:Format": "Format",
+ "DisplayName:DefaultDocumentName": "Domyślna nazwa dokumentu",
+ "DisplayName:NavigationDocumentName": "Nawigacyjna nazwa dokumentu",
+ "DisplayName:MinimumVersion": "Minimalna wersja",
+ "DisplayName:MainWebsiteUrl": "Adres strony głównej",
+ "DisplayName:LatestVersionBranchName": "Nazwa brancha ostatniej wersji",
+ "DisplayName:GitHubRootUrl": "Adres URL do GitHub'a",
+ "DisplayName:GitHubAccessToken": "GitHub access token",
+ "DisplayName:GitHubUserAgent": "GitHub user agent"
+ }
+}
\ No newline at end of file
diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/pl.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/pl.json
new file mode 100644
index 0000000000..5ba3dd6c10
--- /dev/null
+++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/pl.json
@@ -0,0 +1,18 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Documents": "Dokumenty",
+ "BackToWebsite": "Powrót do strony",
+ "Contributors": "Współtwórcy",
+ "ShareOn": "Udostępnij",
+ "Version": "Wersja",
+ "Edit": "Edytuj",
+ "Delete": "Usuń",
+ "InThisDocument": "W tym dokumencie",
+ "GoToTop": "Idź do góry",
+ "Projects": "Projekt(y)",
+ "NoProjectWarning": "Projekt nie istnieje!",
+ "DocumentNotFound": "Oops, żądany dokument nie istnieje!",
+ "NavigationDocumentNotFound": "Ta wersja nie posiada tego dokumentu!"
+ }
+}
\ No newline at end of file
diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/Localization/ApplicationContracts/pl.json b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/Localization/ApplicationContracts/pl.json
new file mode 100644
index 0000000000..2ea227cbf3
--- /dev/null
+++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/Localization/ApplicationContracts/pl.json
@@ -0,0 +1,6 @@
+{
+ "culture": "pl",
+ "texts": {
+
+ }
+}
\ No newline at end of file
diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/Localization/Domain/pl.json b/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/Localization/Domain/pl.json
new file mode 100644
index 0000000000..2ea227cbf3
--- /dev/null
+++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/Localization/Domain/pl.json
@@ -0,0 +1,6 @@
+{
+ "culture": "pl",
+ "texts": {
+
+ }
+}
\ No newline at end of file
diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Localization/Resources/FeatureManagement/pl.json b/modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Localization/Resources/FeatureManagement/pl.json
new file mode 100644
index 0000000000..d714a0d499
--- /dev/null
+++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Localization/Resources/FeatureManagement/pl.json
@@ -0,0 +1,6 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Features": "Funkcje"
+ }
+}
\ No newline at end of file
diff --git a/modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/Localization/ApplicationContracts/pl.json b/modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/Localization/ApplicationContracts/pl.json
new file mode 100644
index 0000000000..4ebaa0c660
--- /dev/null
+++ b/modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/Localization/ApplicationContracts/pl.json
@@ -0,0 +1,14 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Volo.Abp.Identity:010001": "Nie możesz usunąć swojego własnego konta!",
+ "Permission:IdentityManagement": "Zarządzanie tożsamością",
+ "Permission:RoleManagement": "Zarządanie rolami",
+ "Permission:Create": "Utwórz",
+ "Permission:Edit": "Edytuj",
+ "Permission:Delete": "Usuń",
+ "Permission:ChangePermissions": "Zmień uprawnienia",
+ "Permission:UserManagement": "Zarządzanie użytkownikami",
+ "Permission:UserLookup": "Wyszukiwanie użytkownika"
+ }
+}
\ No newline at end of file
diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/Localization/Domain/pl.json b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/Localization/Domain/pl.json
new file mode 100644
index 0000000000..7a1011ef96
--- /dev/null
+++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/Localization/Domain/pl.json
@@ -0,0 +1,33 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Identity.DefaultError": "Wystąpił niespodziewany błąd.",
+ "Identity.ConcurrencyFailure": "Optymistyczny błąd współbierzności, obiekt został zmodyfikowany.",
+ "Identity.DuplicateEmail": "Email '{0}' już istnieje.",
+ "Identity.DuplicateRoleName": "Rola '{0}' już istnieje.",
+ "Identity.DuplicateUserName": "Nazwa użytkownika '{0}' już istnieje.",
+ "Identity.InvalidEmail": "Email '{0}' jest niepoprawny.",
+ "Identity.InvalidPasswordHasherCompatibilityMode": "Dostawca PasswordHasherCompatibilityMode jest niepoprawny.",
+ "Identity.InvalidPasswordHasherIterationCount": "Wartość iteracji musi być większa od zera.",
+ "Identity.InvalidRoleName": "Rola '{0}' jest niepoprawna.",
+ "Identity.InvalidToken": "Niepoprawny token.",
+ "Identity.InvalidUserName": "Nazwa użytkownika '{0}' jest niepoprawna, może zawierać tylko litery i cyfry.",
+ "Identity.LoginAlreadyAssociated": "Użytkownik o tym loginie już istnieje.",
+ "Identity.PasswordMismatch": "Niepoprawne hasło.",
+ "Identity.PasswordRequiresDigit": "Hasło musi zawierać przynajmniej jedną cyfrę ('0'-'9').",
+ "Identity.PasswordRequiresLower": "Hasło musi zawierać przynajmniej jedną małą literę ('a'-'z').",
+ "Identity.PasswordRequiresNonAlphanumeric": "Hasło musi zawierać przynajmniej jeden znak alfanumeryczny.",
+ "Identity.PasswordRequiresUpper": "Hasło musi zawierać przynajmniej jedną wielką literę ('A'-'Z').",
+ "Identity.PasswordTooShort": "Hasło musi zawierać przynajmnie {0} znaków.",
+ "Identity.RoleNotFound": "Rola {0} nie istnieje.",
+ "Identity.UserAlreadyHasPassword": "Użytkownik ma już ustawione hasło.",
+ "Identity.UserAlreadyInRole": "Użytkownik jest już przypisany do roli '{0}'.",
+ "Identity.UserLockedOut": "Użytkownik jest zablokowany.",
+ "Identity.UserLockoutNotEnabled": "Blokada nie jest włączona dla tego użytkownika.",
+ "Identity.UserNameNotFound": "Użytkownik {0} nie istnieje.",
+ "Identity.UserNotInRole": "Użytkownik nie posiada roli '{0}'.",
+ "Identity.PasswordConfirmationFailed": "Podane hasła różnią się od siebie.",
+ "Identity.StaticRoleRenamingErrorMessage": "Statyczna rola nie może mieć zmienionej nazwy.",
+ "Identity.StaticRoleDeletionErrorMessage": "Statyczna rola nie może zostać usunięta."
+ }
+}
\ No newline at end of file
diff --git a/modules/identity/src/Volo.Abp.Identity.Web/Localization/Resources/AbpIdentity/pl.json b/modules/identity/src/Volo.Abp.Identity.Web/Localization/Resources/AbpIdentity/pl.json
new file mode 100644
index 0000000000..922e20b042
--- /dev/null
+++ b/modules/identity/src/Volo.Abp.Identity.Web/Localization/Resources/AbpIdentity/pl.json
@@ -0,0 +1,39 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Menu:IdentityManagement": "Zarządzanie tożsamością",
+ "Users": "Użytkownicy",
+ "NewUser": "Nowy użytkownik",
+ "UserName": "Nazwa użytkownika",
+ "EmailAddress": "Adres email",
+ "PhoneNumber": "Numer telefonu",
+ "UserInformations": "Notyfikacje użytkownika",
+ "DisplayName:IsDefault": "Domyślny",
+ "DisplayName:IsStatic": "Statyczny",
+ "DisplayName:IsPublic": "Publiczny",
+ "Roles": "Role",
+ "Password": "Hasło",
+ "PersonalInfo": "Mój profil",
+ "PersonalSettings": "Ustawienia personalne",
+ "UserDeletionConfirmationMessage": "Użytkownik '{0}' zostanie usunięty. Czy na pewno?",
+ "RoleDeletionConfirmationMessage": "Rola '{0}' zostanie usunięta. Czy na pewno?",
+ "DisplayName:RoleName": "Nazwa roli",
+ "DisplayName:UserName": "Nazwa użytkownika",
+ "DisplayName:Name": "Imię",
+ "DisplayName:Surname": "Nazwisko",
+ "DisplayName:Password": "Hasło",
+ "DisplayName:Email": "Adres email",
+ "DisplayName:PhoneNumber": "Numer telefonu",
+ "DisplayName:TwoFactorEnabled": "Dwustopniowa weryfikacja",
+ "DisplayName:LockoutEnabled": "Blokowanie konta po nieudanych próbach zalogowania",
+ "NewRole": "Nowa rola",
+ "RoleName": "Nazwa roli",
+ "CreationTime": "Data utworzenia",
+ "Permissions": "Uprawnienia",
+ "DisplayName:CurrentPassword": "Aktualne hasło",
+ "DisplayName:NewPassword": "Nowe hasło",
+ "DisplayName:NewPasswordConfirm": "Powtierdź nowe hasło",
+ "PasswordChangedMessage": "Twoje hasło zostało zmienione pomyślnie.",
+ "PersonalSettingsSavedMessage": "Twoje personalne ustawienia zostały zapisane pomyślnie."
+ }
+}
\ No newline at end of file
diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Localization/Resources/AbpPermissionManagement/pl.json b/modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Localization/Resources/AbpPermissionManagement/pl.json
new file mode 100644
index 0000000000..e1043feea7
--- /dev/null
+++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Localization/Resources/AbpPermissionManagement/pl.json
@@ -0,0 +1,10 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Permissions": "Uprawnienia",
+ "OnlyProviderPermissons": "Tylko ten dostawca",
+ "All": "Wszystkie",
+ "SelectAllInAllTabs": "Udziel wszystkich uprawnień",
+ "SelectAllInThisTab": "Zaznacz wszystkie"
+ }
+}
\ No newline at end of file
diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Localization/Resources/AbpSettingManagement/pl.json b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Localization/Resources/AbpSettingManagement/pl.json
new file mode 100644
index 0000000000..4aa474d82b
--- /dev/null
+++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Localization/Resources/AbpSettingManagement/pl.json
@@ -0,0 +1,6 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Settings": "Ustawienia"
+ }
+}
\ No newline at end of file
diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Application.Contracts/Volo/Abp/TenantManagement/Localization/ApplicationContracts/pl.json b/modules/tenant-management/src/Volo.Abp.TenantManagement.Application.Contracts/Volo/Abp/TenantManagement/Localization/ApplicationContracts/pl.json
new file mode 100644
index 0000000000..500b784dfd
--- /dev/null
+++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Application.Contracts/Volo/Abp/TenantManagement/Localization/ApplicationContracts/pl.json
@@ -0,0 +1,11 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Permission:TenantManagement": "Zarządzanie tenantami",
+ "Permission:Create": "Utwórz",
+ "Permission:Edit": "Edytuj",
+ "Permission:Delete": "Usuń",
+ "Permission:ManageConnectionStrings": "Zarządzaj connection string'ami",
+ "Permission:ManageFeatures": "Zarządzaj fukcjami"
+ }
+}
\ No newline at end of file
diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Localization/Resources/AbpTenantManagement/Web/pl.json b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Localization/Resources/AbpTenantManagement/Web/pl.json
new file mode 100644
index 0000000000..537d235293
--- /dev/null
+++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Localization/Resources/AbpTenantManagement/Web/pl.json
@@ -0,0 +1,14 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Menu:TenantManagement": "Zarządzanie tenantami",
+ "Tenants": "Tenanty",
+ "NewTenant": "Nowy tenant",
+ "TenantName": "Nazwa tenantu",
+ "DisplayName:TenantName": "Nazwa tenantu",
+ "TenantDeletionConfirmationMessage": "Tenant '{0}' zostanie usunięty. Czy na pewno?",
+ "ConnectionStrings": "Connection Strings",
+ "DisplayName:DefaultConnectionString": "Domyślny Connection String",
+ "DisplayName:UseSharedDatabase": "Użyj współdzielonej bazy danych"
+ }
+}
\ No newline at end of file
diff --git a/samples/BookStore/src/Acme.BookStore.Domain.Shared/Localization/BookStore/pl.json b/samples/BookStore/src/Acme.BookStore.Domain.Shared/Localization/BookStore/pl.json
new file mode 100644
index 0000000000..a018dc2126
--- /dev/null
+++ b/samples/BookStore/src/Acme.BookStore.Domain.Shared/Localization/BookStore/pl.json
@@ -0,0 +1,20 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Menu:Home": "Home",
+ "Welcome": "Witaj",
+ "LongWelcomeMessage": "Witaj w aplikacji. To jest inicjalny projekt bazujący na ABP framework. Po więcej informacji odwiedź stronę abp.io.",
+ "Menu:BookStore": "Sklep z ksiąkami",
+ "Menu:Books": "Ksiąki",
+ "Name": "Nazwa",
+ "Type": "Typ",
+ "PublishDate": "Data publikacji",
+ "Price": "Cena",
+ "CreationTime": "Data utworzenia",
+ "NewBook": "Nowa ksiąka",
+ "Books": "Ksiąki",
+ "Update": "Aktualizuj",
+ "BookDeletionConfirmationMessage": "Czy jesteś pewien, że chcesz usunąć {0}?",
+ "SuccessfullyDeleted": "Usunięto pomyślnie."
+ }
+}
\ No newline at end of file
diff --git a/samples/DashboardDemo/src/DashboardDemo.Domain/Localization/DashboardDemo/pl.json b/samples/DashboardDemo/src/DashboardDemo.Domain/Localization/DashboardDemo/pl.json
new file mode 100644
index 0000000000..f1a26b3f9f
--- /dev/null
+++ b/samples/DashboardDemo/src/DashboardDemo.Domain/Localization/DashboardDemo/pl.json
@@ -0,0 +1,10 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Menu:Home": "Home",
+ "Welcome": "Witaj",
+ "RolesInApplication": "Role w aplikacji",
+ "UserCount": "Ilość użytkowników",
+ "LongWelcomeMessage": "Witaj w aplikacji. To jest inicjalny projekt bazujący na ABP framework. Po więcej informacji odwiedź stronę abp.io."
+ }
+}
\ No newline at end of file
diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application.Contracts/ProductManagement/Localization/ApplicationContracts/pl.json b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application.Contracts/ProductManagement/Localization/ApplicationContracts/pl.json
new file mode 100644
index 0000000000..9181e35186
--- /dev/null
+++ b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application.Contracts/ProductManagement/Localization/ApplicationContracts/pl.json
@@ -0,0 +1,10 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Permission:ProductManagement": "Zarządzanie produktami",
+ "Permission:Products": "Produkty",
+ "Permission:Edit": "Edytuj",
+ "Permission:Delete": "Usuń",
+ "Permission:Create": "Utwórz"
+ }
+}
\ No newline at end of file
diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Domain/ProductManagement/Localization/Domain/pl.json b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Domain/ProductManagement/Localization/Domain/pl.json
new file mode 100644
index 0000000000..2ea227cbf3
--- /dev/null
+++ b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Domain/ProductManagement/Localization/Domain/pl.json
@@ -0,0 +1,6 @@
+{
+ "culture": "pl",
+ "texts": {
+
+ }
+}
\ No newline at end of file
diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/pl.json b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/pl.json
new file mode 100644
index 0000000000..5828dd8942
--- /dev/null
+++ b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/pl.json
@@ -0,0 +1,16 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Menu:ProductManagement": "Zarządzanie produktami",
+ "Menu:Products": "Produkty",
+ "ProductManagement": "Zarządzanie produktami",
+ "CreateANewProduct": "Utwórz nowy produkt",
+ "Products": "Produkty",
+ "StockCount": "Ilość na magazynie",
+ "Code": "Kod",
+ "Name": "Nazwa",
+ "Price": "Cena",
+ "ImageName": "Nazwa obrazka",
+ "ProductDeletionWarningMessage": "Czy jesteś pewien, że chcesz usunąć ten produkt?"
+ }
+}
\ No newline at end of file
diff --git a/templates/mvc-module/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/pl.json b/templates/mvc-module/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/pl.json
new file mode 100644
index 0000000000..3b93a2b580
--- /dev/null
+++ b/templates/mvc-module/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/pl.json
@@ -0,0 +1,6 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Permission:MyProjectName": "MyProjectName"
+ }
+}
\ No newline at end of file
diff --git a/templates/mvc-module/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/pl.json b/templates/mvc-module/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/pl.json
new file mode 100644
index 0000000000..2ea227cbf3
--- /dev/null
+++ b/templates/mvc-module/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/pl.json
@@ -0,0 +1,6 @@
+{
+ "culture": "pl",
+ "texts": {
+
+ }
+}
\ No newline at end of file
diff --git a/templates/mvc-module/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/pl.json b/templates/mvc-module/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/pl.json
new file mode 100644
index 0000000000..2ea227cbf3
--- /dev/null
+++ b/templates/mvc-module/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/pl.json
@@ -0,0 +1,6 @@
+{
+ "culture": "pl",
+ "texts": {
+
+ }
+}
\ No newline at end of file
diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/pl.json b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/pl.json
new file mode 100644
index 0000000000..815bbcc83f
--- /dev/null
+++ b/templates/mvc/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/pl.json
@@ -0,0 +1,8 @@
+{
+ "culture": "pl",
+ "texts": {
+ "Menu:Home": "Home",
+ "Welcome": "Witaj",
+ "LongWelcomeMessage": "Witaj w aplikacji. To jest inicjalny projekt bazujący na ABP framework. Po więcej informacji odwiedź stronę abp.io."
+ }
+}
\ No newline at end of file