"Footer_NugetDownloadCount":"{0} Downloads on NuGet",
"AbpDescription":"ABP is an open source application framework focused on AspNet Core based web application development. Don't repeat yourself, focus on your own business code.",
"Layout_AbpFramework_MetaTitle":"ABP Framework - Open Source Web Application Framework",
"Footer_GithubStarCount":"{0} Csillag a GitHubon",
"Footer_GithubStarCount":"{0} csillagok a GitHubon",
"Footer_NugetDownloadCount":"{0} Letöltések a NuGeten",
"AbpDescription":"Az ABP egy nyílt forráskódú alkalmazás keretrendszer, amely az AspNet Core alapú webalkalmazások fejlesztésére összpontosít. Ne ismételje magát, összpontosítson saját üzleti kódjára.",
"Layout_AbpFramework_MetaTitle":"ABP Framework – Nyílt forráskódú webalkalmazás-keretrendszer",
"Volo.AbpIo.Domain:030010":"Deneme lisansını satın almak için önce deneme lisansınızı etkinleştirmeniz gerekir!",
"Volo.AbpIo.Domain:030011":"Satın alınan bir deneme lisansını silemezsiniz!",
"Volo.AbpIo.Domain:070000":"Kuruluş adı yalnızca latin harfleri, sayıları, noktaları ve kısa çizgileri içerebilir!",
"Volo.AbpIo.Domain:070001":"Şirket adı yalnızca latin harfleri, sayıları, noktaları, boşlukları ve kısa çizgileri içerebilir!",
"LatestReleaseLogs":"Son Sürüm Logları",
"RoadMap":"Yol Haritası",
"FAQ":"SSS",
"SourceCode":"Kaynak Kodu",
"SeeAllPosts":"Tüm Gönderileri Gör",
"Contribute":"Katkıda Bulun",
"LiveDemo":"Canlı Demo",
"GetLicense":"Lisans Al",
"OpenSource":"Açık Kaynak",
"WebApplication":"Web Uygulaması",
"MeetTheABP":"ABP'yi Tanıyın",
"CompleteWebDevelopment":"Eksiksiz Bir Web Geliştirme",
"Platform":"Platform",
"ABPDescription":"ABP Framework, en iyi yazılım geliştirme uygulamalarını ve kurallarını takip ederek modern web uygulamaları oluşturmak için eksiksiz bir altyapıdır.",
"StrongInfrastructure":"Güçlü Altyapı",
"CompleteArchitecture":"Eksiksiz Mimari",
"DeveloperFocused":"Geliştirici Odaklı",
"ShareYourExperiences":"ABP Çerçevesi ile ilgili deneyimlerinizi paylaşın",
"LatestPosts":"Son Gönderiler",
"Views":"Görüntülenme",
"LearnLatestNewsAboutABPFramework":"Yeni sürümler, ücretsiz kaynaklar, gönderiler ve daha fazlası gibi ABP'de olup bitenler hakkında bilgi alın.",
"DeveloperTools":"Geliştirici Araçları",
"StartupTemplates":"Başlangıç Şablonları",
"ApplicationModules":"Uygulama Modülleri",
"UI":"Kullanıcı Arayüzü",
"Themes":"Temalar",
"Premium":"Premium",
"PrivacyPolicy":"Gizlilik Politikası",
"TermsAndConditions":"Şartlar ve Koşullar",
"WouldLikeToReceiveMarketingMaterials":"Ürün fırsatları ve özel teklifler gibi pazarlama materyalleri almak istiyorum.",
"CommunityPrivacyPolicyConfirmation":"Şartları, Koşulları ve <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">Gizlilik Politikasını</a> kabul ediyorum.",
"WouldLikeToReceiveNotification":"abp.io web sitelerinden en son haberleri almak istiyorum.",
"CommercialNewsletterConfirmationMessage":"<a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/TermsConditions\">Şartlar ve Koşulları</a> ve <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">Gizlilik Politikasını</a> kabul ediyorum.",
"FreeDDDEBook":"Ücretsiz DDD E-Kitabı",
"AdditionalServices":"Ek Hizmetler",
"Learn":"Öğren",
"AccountOverview":"Hesap Özeti",
"MyOrganizations":"Kuruluşlarım",
"MySupportQuestions":"Destek Sorularım",
"MyProfile":"Profilim",
"Logout":"Çıkış Yap",
"Home":"Ev",
"Posts":"Gönderiler",
"JoinTheABPCommunity":"ABP Topluluğuna Katılın",
"SubmitYourPost":"Gönderinizi Gönderin",
"Modules":"Modüller",
"Tools":"Araçlar",
"Pricing":"Fiyatlandırma",
"ChangeLogs":"Değişiklik Logları",
"SubscribeToNewsletter":"Bültenimize Abone Olun",
"SubscribeToNewsletterDescription":"Yeni sürümler, ücretsiz kaynaklar, gönderiler ve daha fazlası gibi ABP'de olup bitenler hakkında bilgi alın.",
"EmailAddress":"E-posta Adresi",
"Subscribe":"Abone Ol",
"WelcomeToABP":"ABP'ye Hoşgeldiniz",
"EULA":"SKLA",
"ABPCommercialIntroductionMessage":"Önceden oluşturulmuş uygulama modülleri, gelişmiş başlangıç şablonları, hızlı uygulama geliştirme araçları, profesyonel kullanıcı arayüzü temaları ve premium destek.",
"MasteringTheABPFrameworkExplanation":"ABP Çerçevesinin yaratıcısı tarafından yazılan bu kitap, çerçeveyi ve modern web uygulaması geliştirme tekniklerini tam olarak anlamanıza yardımcı olacaktır.",
"Speakers":"Konuşmacılar",
"PreviousEvents":"Önceki Etkinlikler",
"WatchTheEvent":"Etkinliği İzle",
"RegisterNow":"Şimdi Kaydol",
"ThereIsNoEvent":"Etkinlik yok",
"Events":"Etkinlikler",
"Volo.AbpIo.Domain:080000":"\"{name}\" adlı bir satın alma öğesi zaten var",
"AbpDescription":"ABP, AspNet Core tabanlı web uygulaması geliştirmeye odaklanan açık kaynaklı bir uygulama çerçevesidir. Kendinizi tekrar etmeyin, kendi iş kodunuza odaklanın.",
"Layout_AbpFramework_MetaTitle":"ABP Framework - Açık Kaynak Web Uygulama Çerçevesi",
"CommunityTalks_CountdownDays":"Gün",
"CommunityTalks_CountdownHours":"Saat",
"CommunityTalks_CountdownMinutes":"Dk",
"CommunityTalks_CountdownSeconds":"Sn",
"SeePreviousEvents":"Önceki Etkinlikleri Gör",
"CookieConsent_Accept":"Kabul Et",
"CookieConsent_Explanation_1":"Web sitemizde size en iyi deneyimi sunmak için çerezleri kullanıyoruz.",
"CookieConsent_Explanation_2":"Göz atmaya devam ederseniz, <a href=\"@Url.Page(\"/Privacy\")\">Gizlilik politikamızı ve çerez politikamızı kabul etmiş olursunuz.</a>.",
"Error_Page_400_Title":"İstenen sayfa sunulurken bir sorun oluştu.",
"Error_Page_400_Description_1":"Genellikle bu, isteğiniz işlenirken beklenmedik bir hata oluştuğu anlamına gelir.",
"Error_Page_400_Description_2":"Sorun devam ederse, <a href=\"mailto:info@abp.io\">info@abp.io</a> adresinden bizimle iletişime geçin, size yardımcı olalım.",
"GoToHomepage":"Anasayfaya git",
"Error_Page_404_Title":"Sayfa bulunamadı!",
"Error_Page_404_Description_1":"Aradığınız web sayfası bu değil.",
"Error_Page_500_Title":"Görünüşe göre bir şeyler ters gitti!",
"Error_Page_500_Description_1":"Bu hataları otomatik olarak takip ediyoruz, ancak sorun devam ederse <br /> bizimle iletişime geçmekten çekinmeyin. Bu arada, yenilemeyi deneyin.",
"AbpTitle":"ABP Framework - Açık Kaynak Web Uygulama Çerçevesi",
"AbpDescription":"ABP, AspNet Core tabanlı web uygulaması geliştirmeye odaklanan açık kaynaklı bir uygulama çerçevesidir. Kendinizi tekrar etmeyin, kendi iş kodunuza odaklanın."
"Landing_Page_CustomerStory_1":"ABP Commercial allowed SC Ventures to deliver a bank-grade multi-tenant silo-database SaaS platform in 9 months to support the accounts receivable / accounts payable supply chain financing of significant value invoices from multiple integrated anchors. The modularity of ABP made it possible for the team to deliver in record time, pass all VAPT, and deploy the containerized microservices stack via full CI/CD and pipelines into production.",
"Landing_Page_CustomerStory_2":"We are seeing the value of using ABP Commercial to reduce the overhead of custom development projects. And the team is able to unify the code pattern in different project streams. We see more potential in the framework for us to build new features faster than before. We trust we will be constantly seeing the value of leveraging ABP Commercial.",
"Landing_Page_CustomerStory_3":"We love ABP. We don't have to write everything from scratch. We start from out-of-the-box features and just focus on what we really need to write. Also, ABP is well-architected and the code is high quality with fewer bugs. If we would have to write everything we needed on our own, we might have to spend years. Once more things we like is that the new version, or issue fixing, or improvement come out very soon\n every other week. We don't wait too long.",
"HowManyDevelopers":"ABP Commercial'da kaç geliştirici çalışabilir?",
"HowManyDevelopersExplanation":"ABP Ticari lisansları geliştirici başınadır. Farklı lisans türlerinin farklı geliştirici sınırları vardır. Ancak, ihtiyacınız olduğunda herhangi bir lisans türüne daha fazla geliştirici ekleyebilirsiniz. Lisans türleri, geliştirici sınırları ve ek geliştirici maliyetleri için <a href=\"{0}\">fiyatlar</a> sayfasına bakın.",
"ChangingLicenseType":"Lisans türümü daha sonra yükseltebilir miyim?",
"ChangingLicenseTypeExplanation":"Aktif lisans süreniz içerisinde aradaki farkı ödeyerek bir üst lisansa geçebilirsiniz. Daha yüksek bir lisans planına yükselttiğinizde, yeni planın avantajlarından yararlanırsınız, ancak lisans yükseltmesi, lisansın sona erme tarihini değiştirmez. Ayrıca, mevcut lisansınıza yeni geliştirici lisansları da ekleyebilirsiniz, bkz. \"ABP Ticari üzerinde kaç geliştirici çalışabilir?\"",
"ChangingLicenseTypeExplanation":"Aktif lisans süreniz içerisinde aradaki farkı ödeyerek bir üst lisansa geçebilirsiniz. Daha yüksek bir lisans planına yükselttiğinizde, yeni planın avantajlarından yararlanırsınız, ancak lisans yükseltmesi, lisansın sona erme tarihini değiştirmez. Ayrıca, mevcut lisansınıza yeni geliştirici koltukları da ekleyebilirsiniz, bkz. \"ABP Ticari üzerinde kaç geliştirici çalışabilir?\"",
"LicenseExtendUpgradeDiff":"Lisans uzatma ve yükseltme arasındaki fark nedir?",
"LicenseExtendUpgradeDiffExplanation":"<strong>Uzatma:</strong> Lisansınızı uzatarak/yenileyerek, premium destek almaya ve modüller ve temalar için major veya minor güncellemeler almaya devam edeceksiniz. Ayrıca, yeni projeler oluşturmaya devam edebileceksiniz. Ve geliştirmenizi hızlandıran ABP Suite'i kullanmaya devam edebileceksiniz.<hr/><strong>Yükseltme:</strong> Lisansınızı yükselterek, ek avantajlar elde etmenizi sağlayacak daha yüksek bir lisans planına terfi edeceksiniz. . Lisans planları arasındaki farkları kontrol etmek için <a href=\"/pricing\">lisans karşılaştırma tablosuna</a> bakın.<strong>Öte yandan, yükseltme yaptığınızda lisans geçerlilik bitiş tarihiniz değişmez!</strong >Lisans bitiş tarihinizi uzatmak için lisansınızı uzatmanız gerekir.",
"LicenseRenewalCost":"1 yıl sonra ehliyet yenileme ücreti ne kadardır?",
@ -385,6 +385,366 @@
"RemoveCurrentUserFromOrganizationWarningMessage":"Organizasyondan kendinizi kaldırıyorsunuz. Artık bu organizasyonu yönetemeyeceksiniz, onaylıyor musunuz? ",
"RenewExistingOrganizationOrCreateNewOneMessage":"Aşağıdaki \"Şimdi Uzat\" buton(lar)una tıklayarak organizasyon(lar)ınızın lisansını yenileyebilir ve böylece lisans geçerlilik süresini 1 yıl uzatabilirsiniz. Ödemeye devam ederseniz, yeni bir organizasyonunuz olacak. Yeni bir organizasyonla devam etmek istiyor musunuz? ",
"ExtendNow":"Şimdi Uzat",
"ContinueWithNewOrganization":"Yeni bir organizasyon ile devam et"
"ContinueWithNewOrganization":"Yeni bir organizasyon ile devam et",
"AbpCommercialMetaDescription":"ABP Commercial, açık kaynaklı ABP çerçevesinin üzerine inşa edilmiş önceden oluşturulmuş uygulama modülleri, hızlı geliştirme araçları, kullanıcı arayüzü temaları ve hizmetlerinden oluşan bir settir.",
"WhatHappensWhenLicenseEnds":"Lisans sürem sona erdiğinde ne olacak?",
"WhatHappensWhenLicenseEndsExplanation1":"ABP Ticari lisansı <a href=\"{0}\" target=\"_blank\">kalıcı bir lisanstır</a>. Lisansınızın süresi dolduktan sonra projenizi geliştirmeye devam edebilirsiniz. Ve lisansınızı yenilemek zorunda değilsiniz. Lisansınız kutudan bir yıllık güncelleme ve destek planı ile birlikte gelir. Yeni özellikler, performans geliştirmeleri, hata düzeltmeleri, destek almaya devam etmek ve ABP Suite'i kullanmaya devam etmek için lisansınızı yenilemeniz gerekir. Lisansınızın süresi dolduğunda aşağıdaki avantajlardan yararlanamazsınız:",
"WhatHappensWhenLicenseEndsExplanation2":"ABP Ticari'yi kullanarak yeni çözümler oluşturamazsınız, ancak mevcut uygulamalarınızı sonsuza kadar geliştirmeye devam edebilirsiniz.",
"WhatHappensWhenLicenseEndsExplanation3":"MINOR sürümünüzdeki modüller ve temalar için güncellemeleri alabileceksiniz (RC veya Önizleme sürümleri hariç). Örneğin: bir modülün v3.2.0 sürümünü kullanıyorsanız, bu modülün v3.2.x (v3.2.1, v3.2.5... vb.) sürümleri için güncellemeleri almaya devam edebilirsiniz. Ancak bir sonraki büyük veya küçük sürüm için güncelleme alamazsınız (v3.3.0, v3.3.3, 4.x.x... gibi). Örneğin, lisansınızın süresi dolduğunda, en son sürüm v4.4.3 idi ve daha sonra hem 4.4.4 sürümünü hem de 4.5.0 sürümünü yayınladı, v4.4.X'e erişebilirsiniz, ancak v4.5.X'e erişemezsiniz.",
"WhatHappensWhenLicenseEndsExplanation4":"Lisansınız sona erdikten sonra ABP Ticari platformuna eklenen yeni modülleri ve temaları yükleyemezsiniz.",
"WhatHappensWhenLicenseEndsExplanation7":"Bu avantajlardan yararlanmaya devam etmek istiyorsanız lisansınızı uzatabilirsiniz (yenileyebilirsiniz). Lisansınızın süresi dolduktan sonra <strong>1 ay</strong> içinde lisansınızı uzatırsanız, aşağıdaki indirimler uygulanacaktır: Takım Lisansı {0} % indirim, İşletme Lisansı %{1} indirim, Kurumsal Lisans %{2} indirim.",
"WhatHappensWhenLicenseEndsExplanation8":"Oluşturduğunuz ABP projeleri sunucularımızda saklanmamaktadır. Bu nedenle indirdiğiniz kaynak kodunu saklamak sizin sorumluluğunuzdadır. Lisansınızın süresi dolduğunda, oluşturulan ABP proje kaynak kodunuzu almanın bir yolu yoktur.",
"TrialPlanExplanation":"ABP Ticari takım lisansı için 14 günlük deneme süresi var. Daha fazla bilgi için <a href={0} target='_blank'>burayı</a> ziyaret edin. Ayrıca, Takım lisansları için 30 günlük para iade garantisi veriyoruz. Sadece ilk 30 gün içinde geri ödeme talebinde bulunabilirsiniz. İşletme ve Kurumsal lisansları için 30 gün içinde %60 geri ödeme sağlıyoruz. Bunun nedeni, İşletme ve Kurumsal lisanslarının tüm modüllerin ve temaların tam kaynak kodunu içermesidir.",
"ContactUsQuestions":"Herhangi bir sorunuz varsa bizimle iletişime geçin",
"ActivationRequirement":"Denemenizi başlatmanıza son bir adım kaldı.<br>Bilgilerinizi kontrol ettikten sonra lisansınızı etkinleştireceğiz. Lisansınız etkinleştirildiğinde, <b>{0}</b> adresine bir e-posta göndereceğiz. Merak etmeyin bu süreç uzun sürmeyecek!",
"PurchaseNow":"Şimdi satın al",
"DowngradeLicensePlan":"Gelecekte daha düşük bir lisans planına geçebilir miyim?",
"DowngradeLicensePlanExplanation":"Mevcut lisans planınızı düşüremezsiniz. Ancak yeni bir daha düşük lisans planı satın alabilir ve yeni lisans üzerinde geliştirmenize devam edebilirsiniz. Daha düşük bir lisans satın aldıktan sonra, ABP CLI komutu ile yeni lisans planınıza giriş yapmanız yeterlidir: ` abp login <username> -o <organization> `.",
"LicenseTransfer":"Lisans bir geliştiriciden diğerine aktarılabilir mi?",
"LicenseTransferExplanation":"Evet! Bir lisans satın aldığınızda, lisans sahibi olursunuz, dolayısıyla kuruluş yönetim sayfasına erişiminiz olur. Bir kuruluşun sahip ve geliştirici rolleri vardır. Sahipler geliştirici lisanslarını yönetebilir ve geliştiriciler atayabilir. Atanan her geliştirici, ABP CLI komutu sisteme girecek ve geliştirme ve destek izinlerine sahip olacaktır.",
"UserOwnerDescription":"Kuruluşun 'Sahibi' bu hesabın yöneticisidir. Lisansları satın alarak ve geliştiricileri tahsis ederek organizasyonu yönetir. Bir 'Sahip' ABP Ticari projelerine kod yazamaz, ABP örnek projelerini indiremez ve destek web sitesinde soru soramaz. Tüm bunları yapmak istiyorsanız, kendinizi de geliştirici olarak eklemeniz gerekir.",
"UserDeveloperDescription":"'Geliştiriciler' ABP Ticari projelerinde kod yazabilir, ABP örnek projelerini indirebilir ve destek web sitesinde sorular sorabilir. Öte yandan, 'Geliştiriciler' bu organizasyonu yönetemezler.",
"PurchaseTrialOrganizationOrCreateNewOneMessage":"Deneme lisansınız var. Deneme lisansınızı satın almak için Şimdi Satın Al düğmesine tıklayın. Ödeme işlemine devam ederseniz, yeni bir kuruluşunuz olacak. Yeni bir organizasyon ile devam etmek istiyor musunuz?",
"CreateNewOrganization":"Yeni bir organizasyon oluştur",
"RenewLicenseEarly":"Lisansımı erken yenilersem, tüm yılı alacak mıyım?",
"RenewLicenseEarylExplanation":"Lisansınızı lisans bitiş tarihinizden önce yenilediğinizde, lisans bitiş tarihinize 1 yıl eklenecektir. Örneğin, lisansınızın süresi {0}-06-06 tarihinde doluyorsa ve lisansınızı {0}-01-01 tarihinde yenilediyseniz, yeni lisans bitiş tarihiniz {1}-06-06 olacaktır.",
"OpenSourceWebApplication":"Açık Kaynak Web Uygulaması",
"CompleteWebDevelopment":"Tam Web Geliştirme",
"ABPFrameworkDescription":"ABP Framework, yazılım geliştirme ve sözleşmelerin en iyi uygulamalarını takip ederek modern web uygulamaları oluşturmak için eksiksiz bir altyapıdır.",
"CommunityDescription":"ABP Çerçevesi ile ilgili deneyimlerinizi paylaşın!",
"CoolestCompaniesUseABPCommercial":"En havalı şirketler zaten <span class=\"fw-6\">ABP Commercial</span> kullanıyor.",
"UserInterface":"Kullanıcı Arayüzü",
"APIGateway":"API Ağ Geçidi",
"Microservice":"Mikro Hizmet",
"Database":"Veritabanı",
"Architecture":"Mimari",
"MicroserviceArchitectureExplanation":"Bu, en son teknolojilerle ölçeklenebilir bir mikro hizmet çözümü oluşturmak için birden çok uygulama, API ağ geçidi, mikro hizmet ve veritabanlarından oluşan eksiksiz bir çözüm mimarisidir.",
"BusinessLogic":"İş Mantığı",
"DataAccessLayer":"Veri Erişim Katmanı",
"Monolith":"Monolit",
"ModularArchitectureExplanation":"Bu başlangıç şablonu, temiz ve sürdürülebilir bir kod tabanı oluşturmak için katmanlı, modüler ve DDD tabanlı bir çözüm mimarisi sağlar.",
"SeeDetails":"Ayrıntıları Gör",
"SeeDocumentation":"Belgelere göz atın",
"Bs5Compatible":"Bootstrap 5 uyumlu profesyonel tema, yönetici web siteniz için mükemmel.",
"LeptonXTheme":"LeptonX Tema",
"LeptonXDark":"LeptonX Koyu",
"LeptonXLight":"LeptonX Açık",
"LeptonXSemiDark":"LeptonX Yarı Koyu",
"BuiltOnBs5Library":"Bootstrap 5 kütüphanesi üzerine inşa edilmiştir.",
"FullyCompatibleWithBs5":"Bootstrap 5 HTML yapısı ve CSS sınıfları ile %100 uyumlu",
"ResponsiveAndMobileCompatible":"Responsive, mobil uyumlu, RTL desteği",
"ProvidesStylesForDatatables":"Datatables için stil sağlar",
"LicenseDiscountWarning":"BU İNDİRİM SAYFASI VARSAYILAN İNDİRİM KODU VE VOLOSOFT GELİŞTİRİCİLERİ İÇİN KULLANILMAKTADIR. AŞAĞIDAKİ SATIN ALMA LİNKLERİ ÇALIŞMAZ.",
"DiscountedLicenseExplanation":"Bu lisans fiyatları küçük girişimler, bireysel geliştiriciler, öğrenciler, kar amacı gütmeyen kuruluşlar ve projeler içindir!",
"CreateAndRunApplicationUsingStartupTemplate":"ABP Ticari başlangıç şablonunu kullanarak yeni bir web uygulamasının nasıl oluşturulacağını ve çalıştırılacağını öğrenin.",
"CommunityDescription2":"<span class=\"fw-6\">community.abp.io</span>, insanların ABP ile ilgili makaleleri paylaşabileceği bir yerdir. Makaleler, öğreticiler, kod örnekleri, vaka çalışmaları arayın ve sizinle aynı kulvarda olan insanlarla tanışın.",
"UseABPSuiteExplanation":"Modüllerin ve temaların kaynak kodunu indirmek için ABP Suite'i kullanın.",
"ManageModulesWithSuite":"ABP modüllerinizi Suite ile de yönetebilirsiniz.",
"LearnHowToInstallSuite":"ABP Suite'in nasıl kurulacağını ve kullanılacağını öğrenin.",
"LayeredSolutionStructureExplanation":"Çözüm, iş mantığınızı altyapıdan ve entegrasyonlardan izole etmek ve kodun sürdürülebilirliğini ve yeniden kullanılabilirliğini en üst düzeye çıkarmak için Etki Alanı Güdümlü Tasarım ilkelerine ve modellerine dayalı olarak katmanlandırılmıştır. ABP Framework, uygulamanız için DDD'yi gerçekten uygulamak üzere soyutlamalar, temel sınıflar ve kılavuzlar sağlamaktadır.",
"MultipleUIOptions":"Çoklu UI Seçenekleri",
"MultipleUIOptionsExplanation":"Kullanıcı Arayüzü oluşturmanın farklı yollarını seviyoruz. Bu başlangıç çözümü, iş uygulamanız için üç farklı UI çerçeve seçeneği sunuyor.",
"MultipleDatabaseOptionsExplanation":"İki veritabanı sağlayıcısı seçeneğiniz var (her ikisini de tek bir uygulamada kullanmanın yanı sıra). Herhangi bir ilişkisel veritabanıyla çalışmak için Entity Framework Core'u kullanın ve daha iyi bir performans için düşük seviyeli sorgular yazmanız gerektiğinde isteğe bağlı olarak Dapper'ı kullanın. Belge tabanlı bir NoSQL veritabanı kullanmanız gerekiyorsa MongoDB başka bir seçenektir. Bu sağlayıcılar iyi entegre edilmiş, soyutlanmış ve önceden yapılandırılmış olsa da, .NET ile kullanabileceğiniz herhangi bir veritabanı sistemiyle etkileşime girebilirsiniz. ",
"ModularArchitectureExplanation2":"Modülerlik, ABP.IO platformunda birinci sınıf bir vatandaştır. Uygulamalardaki tüm işlevler iyi izole edilmiş opsiyonel modüllere ayrılmıştır. Başlangıç çözümü zaten temel <a href=\"@Url.Page(\"/Modules\")\" class=\"text-primary\">ABP Ticari modülleri</a> önceden yüklenmiş olarak gelir. Kendi uygulamanız için modüler bir sistem oluşturmak üzere kendi modüllerinizi de oluşturabilirsiniz.",
"MultiTenancyForSaasBusiness":"Saas İşletmeleri için Çoklu Kiralama",
"MultiTenancyForSaasBusinessExplanation":"ABP Commercial, SaaS (Hizmet Olarak Yazılım) sistemlerinizi oluşturmak için eksiksiz, uçtan uca çoklu kiracılık sistemi sağlar. Anında veritabanı oluşturma ve taşıma sistemi ile kiracıların kendi veritabanlarını paylaşmalarına veya sahip olmalarına olanak tanır.",
"MicroserviceStartupSolution":"Mikro Hizmet Başlangıç Çözümü",
"MicroserviceArchitectureExplanation2":"Önceden oluşturulmuş temel çözümden ve damıtılmış deneyimden yararlanmak için bir sonraki mikro hizmet sisteminiz için alabilirsiniz.",
"PreIntegratedTools":"Popüler araçlara önceden entegre edilmiş",
"PreIntegratedToolsExplanation":"Çözüm halihazırda endüstri standardı araçlara ve teknolojilere entegre edilmiş durumda, ancak siz bunları her zaman değiştirebilir ve favori araçlarınıza entegre edebilirsiniz.",
"SingleSignOnAuthenticationServerExplanation":"Çözüm, API erişim yönetimi özelliklerine sahip tek oturum açma sunucusu olarak diğer uygulamalar tarafından kullanılan bir kimlik doğrulama sunucusu uygulamasına sahiptir. IdentityServer tabanlıdır.",
"WebAppsWithGateways":"2 API Ağ Geçidi ile 2 Web Uygulaması",
"WebAppsWithGatewaysExplanation":"Çözüm, her biri özel bir API ağ geçidine sahip iki web uygulaması içeriyor (BFF - Backend For Frontend modeli).",
"BackOfficeApplication":"Back Office Uygulaması",
"BackOfficeApplicationExplanation":"Birden fazla UI çerçeve seçeneği ile sisteminizin gerçek web uygulaması. Her türlü iş uygulamasını oluşturabilirsiniz.",
"LandingWebsite":"Açılış Web Sitesi",
"LandingWebsiteExplanation":"Şirketinizi tanıtmak, ürünlerinizi satmak gibi çeşitli amaçlar için kullanılabilecek genel bir açılış/genel web sitesi.",
"MasteringAbpFrameworkEBookDescription":"ABP Ticari lisansınıza dahildir",
"FullName":"Tam Ad",
"LicenseTypeNotCorrect":"Lisans tipi doğru değil.",
"Trainings":"Eğitimler",
"ChooseTrainingPlaceholder":"Eğitim seçin ...",
"DoYouNeedTrainings":"Bu eğitimlerden birine ihtiyacınız var mı?",
"DoYouNeedTraining":"{0} eğitimine ihtiyacınız var mı?",
"GetInTouchUs":"Bize Ulaşın",
"ForMoreInformationClickHere":"Daha fazla bilgi için <a href='{0}'>buraya tıklayın.</a>",
"IsGetOnboardingTraining":"İşe alım ve web uygulaması geliştirme eğitimi almak ister misiniz?",
"OnboardingWebApplicationDevelopmentTrainingMessage":"Eğitim takviminizi planlamak için lütfen organizasyonu oluşturduktan sonra {0} ile iletişime geçin",
"CustomPurchaseMessage":"Bir sonraki adım için, bizimle iletişime geçmek üzere {0}'a tıklayın.",
"Note":"Not",
"AdditionalNote":"Ek Not",
"OnboardingTrainingFaqTitle":"ABP onboarding eğitiminiz var mı?",
"OnboardingTrainingFaqExplanation":" Evet, ABP projenizi hızlı bir şekilde başlatmanıza yardımcı olacak ABP Eğitim Hizmetlerimiz var. Bir ABP çekirdek ekip üyesinden ABP hakkında bilgi edinecek ve ABP projenize başlamak için gereken becerileri edineceksiniz. İlk katılım eğitiminde, geliştirme ortamınızı nasıl kuracağınızı, gerekli araçları nasıl yükleyeceğinizi ve tamamen işlevsel bir CRUD sayfasını nasıl oluşturacağınızı açıklayacağız. Eğitim canlı olacak ve Zoom uygulaması kullanılacaktır, ancak diğer çevrimiçi toplantı platformlarını kullanmaya da açığız. Eğitim dili İngilizce olacaktır. ABP ile ilgili sorularınızı oturumlar sırasında da sorabilirsiniz. Her iki taraf için de uygun bir zaman ve tarih planlanacaktır. Daha fazla bilgi almak için <a href=\"mailto:info@abp.io\">info@abp.io</a> adresinden bizimle iletişime geçebilirsiniz.",
"AddBasket":"Sepete Ekle",
"SendTrainingRequest":"Eğitim Talebi Gönder",
"OnlyEnglishVersionOfThisDocumentIsTheRecentAndValid":"* Bu belgenin İngilizce versiyonu en güncel olanıdır ve herhangi bir anlaşmazlıkta İngilizce versiyonu geçerli olacaktır.",
"Pricing_Page_Title":"Planlar ve Fiyatlandırma",
"Pricing_Page_Description":"İşletmenizin bugün ihtiyaç duyduğu özellikleri ve işlevselliği seçin. Bir ABP Ticari lisansı satın alın ve sınırsız proje oluşturun.",
"Pricing_Page_HurryUp":"Acele edin!",
"Pricing_Page_BuyLicense":"16 Ocak'a kadar <strong>2021 fiyatlarıyla</strong> lisans satın alın!",
"Pricing_Page_ValidForExistingCustomers":"Mevcut müşteriler ve lisans yenilemeleri için de geçerlidir.",
"Pricing_Page_Hint1":"Lisans fiyatına belirli sayıda geliştirici koltuğu dahildir. Daha fazla geliştiriciniz varsa, her zaman ek koltuk satın alabilirsiniz.",
"Pricing_Page_Hint2":"Şimdi veya gelecekte daha fazla geliştirici koltuğu satın alabilirsiniz. Lisanlar koltuk bazlıdır, bu nedenle bir koltuğu bir geliştiriciden diğerine aktarabilirsiniz.",
"Pricing_Page_Hint3":"Lisansınız ile sınırsız sayıda farklı ürün geliştirebilirsiniz.",
"Pricing_Page_Hint4":"ABP Suite, üretkenliğinizi artırmak için geliştirmenize yardımcı olacak bir araçtır. CRUD sayfaları oluşturmayı ve yeni projeler oluşturmayı destekler.",
"Pricing_Page_Hint5":"Önceden oluşturulmuş tüm modülleri uygulamalarınızda kullanabilirsiniz.",
"Pricing_Page_Hint6":"Önceden oluşturulmuş tüm temaları uygulamalarınızda kullanabilirsiniz.",
"Pricing_Page_Hint7":"Başlangıç şablonu, projenize hızlı bir başlangıç yapmanızı sağlayan bir Visual Studio çözümüdür. Tüm temel modüller eklenir ve sizin için önceden yapılandırılır.",
"Pricing_Page_Hint8":"Mastering ABP Framework e-kitabı, .NET çözümlerinin en iyi uygulamalarla nasıl hayata geçirileceğini anlatıyor. Amazon.com'da satılmaktadır ve kitabı lisansınız dahilinde ücretsiz olarak indirebilirsiniz.",
"Pricing_Page_Hint9":"Herhangi bir modülün kaynak kodunu indirebilirsiniz. Köklü değişiklikler yapmak için kaynak kodunu çözümünüze eklemek veya güvenlik nedeniyle kendinize saklamak isteyebilirsiniz.",
"Pricing_Page_Hint10":"Lisanslar ömür boyu geçerlidir. Bu, uygulamanızı sonsuza kadar geliştirmeye devam edebileceğiniz anlamına gelir. En son sürüme erişim ve destek alma lisans süresi içinde (yenilemediğiniz sürece 1 yıl) verilir.",
"Pricing_Page_Hint11":"Dağıtım konusunda kısıtlama yok! Bulut hizmetleri veya şirket içi dahil olmak üzere istediğiniz kadar sunucuya dağıtabilirsiniz.",
"Pricing_Page_Hint12":"Aktif lisans süreniz içinde modülleri, temaları ve araçları en son sürüme güncelleyebilirsiniz. Lisansınızın süresi dolduktan sonra, hata düzeltmeleri, yeni özellikler ve geliştirmelerle ilgili güncellemeleri almaya devam etmek için lisansınızı yenilemeniz gerekir.",
"Pricing_Page_Hint13":"Premium desteği bir yıl boyunca alabilirsiniz (uzatmak için lisansınızı yenileyebilirsiniz).",
"Pricing_Page_Hint14":"Ekip ve İşletme lisanslarının olay/soru sayısı limiti vardır. Ek geliştirici lisansları satın alırsanız, olay limitiniz geliştirici başına {0} (Ekip Lisansı için) veya {1} (İşletme Lisansı için) artar.",
"Pricing_Page_Hint15":"Sadece Kurumsal Lisans özel destek içerir. Özel bilet seçeneği ile doğrudan ABP Ekibine e-posta gönderebilir veya support.abp.io adresinden soru sorabilirsiniz. Özel biletler herkese açık değildir.",
"Pricing_Page_Hint16":"Tüm ABP temalarının kaynak kodunu indirebilirsiniz. Köklü değişiklikler yapmak için kaynak kodunu çözümünüze eklemek isteyebilir veya güvenlik nedeniyle kendiniz için saklayabilirsiniz.",
"Pricing_Page_Testimonial_1":"ABP Commercial, SC Ventures'ın 9 ay içinde banka sınıfı çok kiracılı bir silo-veritabanı SaaS platformu sunmasını ve birden fazla entegre çapadan gelen önemli değerdeki faturaların alacak / borç hesapları tedarik zinciri finansmanını desteklemesini sağladı. ABP'nin modülerliği, ekibin rekor sürede teslimat yapmasını, tüm VAPT'leri geçmesini ve konteynerleştirilmiş mikro hizmet yığınını tam CI/CD ve boru hatları aracılığıyla üretime dağıtmasını mümkün kıldı.",
"Pricing_Page_Testimonial_2":"Özel geliştirme projelerinin ek yükünü azaltmak için ABP Commercial kullanmanın değerini görüyoruz. Ekip, farklı proje akışlarında kod modelini birleştirebiliyor. Yeni özellikleri eskisinden daha hızlı oluşturabilmemiz için çerçevede daha fazla potansiyel görüyoruz. ABP Commercial'dan yararlanmanın değerini sürekli olarak göreceğimize inanıyoruz.",
"Pricing_Page_Testimonial_3":"ABP'yi seviyoruz. Her şeyi sıfırdan yazmak zorunda kalmıyoruz. Kullanıma hazır özelliklerden başlıyoruz ve sadece gerçekten yazmamız gerekenlere odaklanıyoruz. Ayrıca, ABP iyi tasarlanmış ve kod daha az hata ile yüksek kalitede. İhtiyaç duyduğumuz her şeyi kendi başımıza yazmak zorunda kalsaydık, yıllarımızı harcamak zorunda kalabilirdik. Hoşumuza giden bir diğer şey de yeni sürümün, sorun düzeltmenin ya da iyileştirmenin iki haftada bir çıkması. Çok uzun süre beklemiyoruz.",
"Pricing_Page_Testimonial_4":"ABP Commercial harika bir ürün, tavsiye ederim. Müşterilerimiz için ticari ürünleri tek bir yapılandırılabilir platformda pazara sunuyor. Çerçeve ve araçların herhangi bir ekibe sağladığı hızlı başlangıç her kuruşa değer. ABP Commercial ihtiyaçlarımız için en uygun üründü.",
"Pricing_Page_Testimonial_5":"ABP Framework sadece bir framework değil, aynı zamanda bir proje geliştirme/yönetme rehberi, çünkü DDD, GenericRepository, DI, Microservice ve Modularity eğitimleri veriyor. Framework'ün kendisini kullanmayacak olsanız bile, iyi ve profesyonelce hazırlanmış docs.abp.io ile kendinizi geliştirebilirsiniz (OpenIddict, Redis, Quartz vb.). Birçok şey önceden hazır olduğu için proje geliştirme süresini önemli ölçüde kısaltıyor (Giriş sayfası, istisna işleme, veri filtreleme, tohumlama, denetim günlüğü, yerelleştirme, otomatik API denetleyicisi vb.) Uygulamamızdan bir örnek olarak, stok kontrolü için Local Event Bus kullandım. Böylece stok işleyicisi yazarak sipariş hareketlerini yönetebiliyorum. CreationTime, CreatorId için zaman kaybetmemek harika. Bunlar otomatik olarak dolduruluyor.",
"AbpBookDownloadArea_ClaimYourEBook":"<span class='gradient-framework'>Mastering ABP Framework</span> E-Kitabınızı talep edin",
"AddMemberModal_Warning_1":"Eklemeye çalıştığınız <strong>kullanıcı adı</strong> sistemde yoksa, lütfen ekip üyenizden <a href='{0}/Account/Register'>{0}</a> adresine kaydolmasını ve hesabının kullanıcı adını sizinle paylaşmasını isteyin.",
"MyOrganizations_Detail_PrivateNugetSourceWarning":"Bu, ABP çözümünüzdeki NuGet.Config'inize otomatik olarak bir besleme olarak eklenir. Özel anahtarınızı yetkisiz kullanıcılarla paylaşmayın!",
"MyOrganizations_Detail_PurchaseDeveloperSeats":"Geliştirici Koltuğu Satın Alın",
"Invoices":"Faturalar",
"RequestInvoice":"Fatura Talep Et",
"OrderNumber":"Sipariş Numarası",
"Date":"Tarih",
"Products":"Ürünler",
"TotalPrice":"Toplam Fiyat",
"ThereIsNoInvoice":"Fatura yok",
"MyOrganizations_Detail_PaymentProviderInfo":"Lisansınızı <i>{0}</i> ağ geçidi üzerinden satın aldıysanız, PDF faturasını e-posta adresinize gönderir, bkz. <a href=\"{1}\" target=\"_blank\"> {0} faturalandırma.</a>",
"MyOrganizations_Detail_PayUInfo":"If you have purchased through the <i>PayU</i> gateway, click the \"Request Invoice\" button and fill in the billing information.",
"MyOrganizations_Detail_ConclusionInfo":"Fatura talebiniz {0} iş günü içerisinde sonuçlandırılacaktır.",
"PaymentSucceed_OrganizationDescription":"Bir organizasyon geliştiriciler ve sahiplerden oluşur. Geliştiriciler, ABP projesinde kod yazan ve <a href=\"{0}\" target=\"_blank\">{1}</a> web sitesinden yararlanacak olan kullanıcılardır. Sahipler ise geliştirici koltuklarını tahsis eden ve lisanslamayı yöneten kullanıcılardır.",
"PaymentSucceed_ViewOrganization":"Organizasyonu görüntülemek için buraya tıklayın",
"Purchase_LicenseExtraDeveloperPurchaseMessage":"<span class=\"fw-6\">{0} lisansı</span> {1} geliştirici(ler) içerir. Şimdi veya daha sonra ek geliştiriciler ekleyebilirsiniz.",
"StartupTemplates_Page_Description":"ABP Commercial, her düzeyde karmaşıklığa sahip çözümler oluşturmanıza olanak tanır. Önceden oluşturulmuş iki ana başlangıç çözümü sunar. Gereksinimlerinize yakın olanı seçebilir ve bunun üzerine kendi özel çözümünüzü oluşturabilirsiniz.",
"MicroserviceStartupSolutionForDotnet":".NET için Mikro Hizmet Başlatma Çözümü",
"MonolithSolutionForDotnet":".NET için Monolith (modüler) Çözüm",
"TrialLicenseFeatures":"Tüm ABP ticari özelliklerinden yararlanabileceksiniz",
"TrialPeriodDays":"{0} günlük Takım Lisansınız olacak",
"TrialForumSupportIncident":"{0} forum destek olayınız olacak",
"Contact_Page_Title":"ABP Geliştirme Ekibi ile İletişime Geçin",
"Contact_Page_Description":"Herhangi bir yardıma ihtiyacınız olursa veya düşüncelerinizi ve görüşlerinizi paylaşırsanız ABP Geliştirme ekibi ile iletişime geçin! ABP Destek Ekibi yardıma hazır.",
"Demo_Page_Title":"Demo Oluştur",
"Demo_Page_Description":"ABP Ticari başlangıç şablonu kullanılarak oluşturulan örnek bir uygulamayı görmek için ücretsiz bir demo oluşturun. Ortak uygulama gereksinimleri için kendinizi tekrar etmeyin.",
"Discounted_Page_Description":"İşletmenizin bugün ihtiyaç duyduğu özellikleri ve işlevselliği seçin. Bir ABP Ticari lisansı satın alın ve sınırsız proje oluşturun",
"Faq_Page_Title":"Sıkça Sorulan Sorular (SSS)",
"Faq_Page_Description":"Herhangi bir sorunuz var mı? Sıkça sorulan soruları arayın veya iletişim formunu kullanarak bize bir soru sorun.",
"Faq_Page_SwiftCode":"SWIFT Kodu",
"Faq_Page_BankName":"Banka Adı",
"Faq_Page_AccountName":"Hesap Adı",
"Faq_Page_AccountNumber":"Hesap Numarası",
"Faq_Page_Currency":"Para Birimi",
"Faq_Page_VatNumber":"Vergi Numarası",
"Faq_Page_OtherCurrenciesInfo":"Diğer para birimleri için <a href='{0}'>tüm hesaplar</a> bölümüne bakınız",
"ProjectCreatedSuccess_Page_Description":"ABP projeniz başarıyla oluşturuldu!",
"Suite_Page_Title":"ABP Suite - CRUD Sayfaları Oluşturun",
"Suite_Page_Description":"ABP Commercial, geliştirici verimliliğini artırmak için hızlı uygulama geliştirme araçları sağlar. ABP Suite, CRUD sayfalarını kolayca oluşturmanızı sağlar.",
"Themes_Page_Title":"Modern ve İşlevsel Kullanıcı Arayüzü Temaları",
"Themes_Page_Description":"ABP Commercial birden fazla profesyonel, modern kullanıcı arayüzü teması sunar. Kullanıcı arayüzünün neye benzediğini hızlıca görmek için ücretsiz bir demo oluşturun.",
"Tools_Page_Title":"Hızlı Uygulama Geliştirme Araçları",
"Tools_Page_Description":"ABP Commercial, geliştirici verimliliğini artırmak için hızlı uygulama geliştirme araçları sağlar. ABP Suite, CRUD sayfalarını kolayca oluşturmanızı sağlar.",
"LicenseRemainingDays":"<span> {0} </span> gün boyunca",
"ExtendPaymentInfoSection_Description":"Lisansınızı uzatarak/yenileyerek <a href=\"{0}\" target=\"_blank\">premium destek</a> almaya devam edeceksiniz. You will also be able to get major or minor updates for modules and themes. You will be able to continue creating new projects. Ve gelişiminizi hızlandıran <a href=\"{1}\" target=\"_blank\">ABP Suite</a>'i kullanmaya devam edebileceksiniz.",
"LicenseRenewalPrice":"Lisans yenileme fiyatı",
"LicensePrice":"Lisans fiyatı",
"TrialLicensePaymentInfoSection_Description":"<strong>Lisans satın alma:</strong> Bir lisans satın alarak <a href=\"{0}\" target=\"_blank\" rel=\"noopener\">premium destek</a> almaya devam edeceksiniz. Ayrıca modüller ve temalar için büyük veya küçük güncellemeler alabileceksiniz. Yeni projeler oluşturmaya devam edebileceksiniz. Ve gelişiminizi hızlandıran <a href=\"{1}\" target=\"_blank\" rel=\"noopener\">ABP Suite</a>'i kullanmaya devam edebileceksiniz. Lisans türleri arasındaki farkları kontrol etmek için <a href=\"{2}\" target=\"_blank\" rel=\"noopener\">lisans karşılaştırma tablosu</a>na bakın.",
"SelectTargetLicense":"Hedef Lisansı Seçin",
"UpgradePaymentInfoSection_ExtendMyLicenseForOneYear":"Evet, lisansımın geçerlilik süresini 1 yıl uzatın.",
"UpgradePaymentInfoSection_WantToExtendLicense":"Lisansınızı {0} yıl daha uzatmak istiyor musunuz?",
"UpgradePaymentInfoSection_UpgradingWillNotExtendLicense":"Yükseltme işlemi lisansınızın son kullanma tarihini uzatmayacaktır!",
"UpgradePaymentInfoSection_LicenseUpgradeDescription":"Lisansınızı yükselterek, ek avantajlar elde etmenizi sağlayacak daha yüksek bir lisans türüne terfi edeceksiniz. Lisans türleri arasındaki farkları kontrol etmek için <a href=\"/Pricing\" target=\"_blank\">lisans karşılaştırma tablosuna</a> bakın.",
"Landing_Page_CompleteWebDevelopmentPlatform":"Tam Web Geliştirme Platformu",
"Landing_Page_TryFreeDemo":"Ücretsiz Demo Dene",
"Landing_Page_StartingPointForWebApplications":"ASP.NET Core tabanlı web uygulamaları için başlangıç noktası! En iyi web geliştirme için ABP Framework'ü temel alır.",
"Landing_Page_AbpProvidesSoftwareInfrastructure":"ABP Framework, en iyi uygulamalarla mükemmel web uygulamaları geliştirmek için bir yazılım altyapısı sağlar.",
"Landing_Page_MultiTenancyDescription":"SaaS uygulamaları artık çok kolay! Veritabanından kullanıcı arayüzüne kadar entegre çoklu kiracılık.",
"Landing_Page_DDDIntroduction":"DDD kalıpları ve ilkeleri temel alınarak tasarlanmış ve geliştirilmiştir. Uygulamanız için katmanlı bir model sağlar.",
"Landing_Page_CrossCuttingConcernsInfo":"Yetkilendirme, doğrulama, istisna işleme, önbelleğe alma, denetim kaydı, işlem yönetimi ve daha fazlası için eksiksiz altyapı.",
"Landing_Page_PreBuiltApplicationModules":"En yaygın web uygulaması gereksinimlerini içeren Önceden Oluşturulmuş Uygulama Modülleri.",
"Landing_Page_CustomerStory_1":"ABP Commercial, SC Ventures'ın 9 ay içinde banka sınıfı çok kiracılı bir silo-veritabanı SaaS platformu sunmasını ve birden fazla entegre çapadan gelen önemli değerdeki faturaların alacak / borç hesapları tedarik zinciri finansmanını desteklemesini sağladı. ABP'nin modülerliği, ekibin rekor sürede teslimat yapmasını, tüm VAPT'leri geçmesini ve konteynerleştirilmiş mikro hizmet yığınını tam CI/CD ve boru hatları aracılığıyla üretime dağıtmasını mümkün kıldı.",
"Landing_Page_CustomerStory_2":"Özel geliştirme projelerinin ek yükünü azaltmak için ABP Commercial kullanmanın değerini görüyoruz. Ekip, farklı proje akışlarında kod modelini birleştirebiliyor. Yeni özellikleri eskisinden daha hızlı oluşturabilmemiz için çerçevede daha fazla potansiyel görüyoruz. ABP Commercial'dan yararlanmanın değerini sürekli olarak göreceğimize inanıyoruz.",
"Landing_Page_CustomerStory_3":"ABP'yi seviyoruz. Her şeyi sıfırdan yazmak zorunda kalmıyoruz. Kullanıma hazır özelliklerden başlıyoruz ve sadece gerçekten yazmamız gerekenlere odaklanıyoruz. Ayrıca, ABP iyi tasarlanmış ve kod daha az hata ile yüksek kalitede. İhtiyacımız olan her şeyi kendi başımıza yazmak zorunda kalsaydık, yıllarımızı harcamak zorunda kalabilirdik. Hoşumuza giden bir diğer şey de yeni sürümün, sorun düzeltmenin ya da iyileştirmenin çok kısa bir süre içinde\nher iki haftada bir çıkması. Çok uzun süre beklemiyoruz.",
"Landing_Page_CustomerStory_4":"ABP Commercial harika bir ürün, tavsiye ederim. Müşterilerimiz için ticari ürünleri tek bir yapılandırılabilir platformda pazara sunuyor. Çerçeve ve araçların herhangi bir ekibe sağladığı hızlı başlangıç her kuruşa değer. ABP Commercial ihtiyaçlarımız için en uygun üründü.",
"Landing_Page_AdditionalServices":"Özel veya toplu lisans, işe alım, canlı eğitim ve destek, özel proje geliştirme, mevcut projeleri taşıma ve daha fazlası...",
"Landing_Page_AccountModuleDescription_1":"Bu modül bir uygulama için kimlik doğrulama sistemini uygular;",
"Landing_Page_AccountModuleDescription_2":"Kullanıcı adı ve şifre ile bir <strong>giriş</strong> sayfası sağlar",
"Landing_Page_AccountModuleDescription_3":"Yeni bir hesap oluşturmak için bir <strong>kayıt</strong> sayfası sağlar.",
"Landing_Page_AccountModuleDescription_4":"Bir <strong>şifre sıfırlama</strong> bağlantısını e-posta olarak göndermek için bir <strong>şifremi unuttum</strong> sayfası sağlar.",
"Landing_Page_AccountModuleDescription_5":"UI ile <strong>e-posta onayı</strong> işlevselliği sağlar.",
"Landing_Page_AccountModuleDescription_6":"<strong>İki faktörlü</strong> kimlik doğrulama uygular (SMS ve e-posta).",
"Landing_Page_AccountModuleDescription_7":"<strong>Kullanıcı kilitleme</strong> uygular (belirli bir zaman aralığında geçersiz kimlik bilgileri nedeniyle belirli sayıda başarısız oturum açıldığında hesabı belirlenen süre boyunca kilitler).",
"Landing_Page_AccountModuleDescription_8":"<strong>Identity Server</strong> kimlik doğrulama sunucusu kullanıcı arayüzünü ve işlevselliğini uygular.",
"Landing_Page_AccountModuleDescription_9":"Allows to <strong>switch between tenants</strong> in a multi-tenant environment.",
"Landing_Page_AccountModuleDescription_10":"Uygulamanın <strong>UI dilini</strong> değiştirmeye izin verir.",
"Landing_Page_AuditLoggingModuleDescription_1":"Bu modül, denetim altyapısı için denetim günlüğü raporlama kullanıcı arayüzü sağlar. Denetim günlüğü girdilerini ve varlık değişikliği günlüklerini aramaya, filtrelemeye ve göstermeye izin verir.",
"Landing_Page_AuditLoggingModuleDescription_2":"Bir denetim günlüğü girdisi, her bir müşteri talebi hakkında kritik verilerden oluşur:",
"Landing_Page_AuditLoggingModuleDescription_3":"URL, Tarayıcı, IP adresi, istemci adı",
"Landing_Page_DocsModuleDescription_1":"Bu modül teknik dokümantasyon web siteleri oluşturmak için kullanılır;",
"Landing_Page_DocsModuleDescription_2":"Yerleşik <strong>GitHub entegrasyonu</strong>: GitHub'da doğrudan belge yazın ve yönetin.",
"Landing_Page_DocsModuleDescription_3":"<strong>Sürüm oluşturma</strong> desteği, GitHub sürümlerine doğrudan entegre edilmiştir.",
"Landing_Page_DocsModuleDescription_4":"<strong>Çoklu dili</strong> destekler (varsayılan dile geri dönüş desteği ile).",
"Landing_Page_DocsModuleDescription_5":"<strong>Markdown</strong> ve HTML formatlarını destekler.",
"Landing_Page_DocsModuleDescription_6":"Bir <strong>navigasyon</strong> ve bir <strong>ana hat</strong> bölümü sağlar.",
"Landing_Page_DocsModuleDescription_7":"Tek bir uygulamada <strong>birden çok proje</strong> belgesinin barındırılmasına izin verir.",
"Landing_Page_DocsModuleDescription_8":"GitHub'daki dosyaya bağlantı verir, böylece herkes <strong>Düzenle</strong> bağlantısına tıklayarak kolayca katkıda bulunabilir.",
"Landing_Page_DocsModuleDescription_9":"GitHub kaynağına ek olarak, dokümantasyon kaynağı olarak bir klasörün kullanılmasına izin verir.",
"Landing_Page_FileManagementModuleDescription_1":"Dosyaları hiyerarşik bir klasör yapısı içinde yükleyin, indirin ve düzenleyin.",
"Landing_Page_FileManagementModuleDescription_2":"Bu modül, dosyaları hiyerarşik bir klasör yapısında yüklemek, indirmek ve düzenlemek için kullanılır. Ayrıca çoklu kiracılığa uyumludur ve kiracılarınız için toplam boyut sınırını belirleyebilirsiniz.",
"Landing_Page_FileManagementModuleDescription_3":"Bu modül <a href=\"https://docs.abp.io/en/abp/latest/Blob-Storing\">BLOB Depolama</a> sistemine dayanmaktadır, bu nedenle dosya içeriklerini depolamak için farklı depolama sağlayıcıları kullanabilir.",
"Landing_Page_IdentityModuleDescription_1":"Bu modül bir uygulamanın Kullanıcı ve Rol sistemini uygular;",
"Landing_Page_IdentityModuleDescription_2":"<a href=\"https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity\">Microsoft'un ASP.NET Core Identity</a> kütüphanesi üzerine inşa edilmiştir.",
"Landing_Page_IdentityModuleDescription_3":"Sistemdeki <strong>rolleri</strong> ve <strong>kullanıcıları</strong> yönetin. Bir kullanıcının <strong>birden çok role</strong> sahip olmasına izin verilir.",
"Landing_Page_IdentityModuleDescription_4":"Rol ve kullanıcı düzeylerinde <strong>izinleri</strong> ayarlayın.",
"Landing_Page_IdentityModuleDescription_5":"Kullanıcı başına <strong>iki faktörlü kimlik doğrulamayı</strong> ve kullanıcı <strong>kilitlemeyi</strong> etkinleştirin/devre dışı bırakın.",
"Landing_Page_IdentityModuleDescription_6":"Temel <strong>kullanıcı profili</strong>ni ve <strong>parolayı</strong> yönetin.",
"Landing_Page_IdentityModuleDescription_7":"Sistemdeki <strong>talep türlerini</strong> yönetin, rollere ve kullanıcılara talepler ayarlayın.",
"Landing_Page_IdentityModuleDescription_8":"<strong>Parola karmaşıklığı</strong>, kullanıcı oturum açma, hesap ve kilitlemeyi yönetmek için ayar sayfası.",
"Landing_Page_PaymentModuleDescription_1":"Farklı ödeme ağ geçitleri için entegrasyon sağlar.",
"Landing_Page_PaymentModuleDescription_2":"Bu modül ödeme ağ geçitleri için entegrasyon sağlar, böylece müşterilerinizden kolayca ödeme alabilirsiniz.",
"Landing_Page_PaymentModuleDescription_3":"Bu modül aşağıdaki ödeme ağ geçitlerini destekler",
"Welcome_Page_UseSameCredentialForCommercialWebsites":"Hem <a href=\"https://commercial.abp.io\" class=\"text-primary\">commercial.abp.io</a> hem de <a href=\"https://support.abp.io\" class=\"text-primary\">support.abp.io</a> için aynı kimlik bilgilerini kullanın.",
"WatchCrudPagesVideo":"\"ABP Suite ile CRUD Sayfaları Oluşturma\" Videosunu İzleyin!",
"WatchGeneratingFromDatabaseVideo":"\"ABP Suite: Mevcut Veritabanı Tablolarından CRUD Sayfaları Oluşturma\" Videosunu izleyin!",
"WatchTakeCloserLookVideo":"\"Kod üretimine daha yakından bakın: ABP Suite\" videosunu izleyin!",
"ConfirmedEmailAddressRequiredToStartTrial":"Deneme lisansı başlatmak için onaylanmış bir e -posta adresiniz olmalı.",
"CreatePostTitleInfo":"Gönderi listesinde gösterilecek gönderinin başlığı.",
"CreatePostSummaryInfo":"Gönderi listesinde gösterilecek gönderinin kısa bir özeti.",
"CreatePostCoverInfo":"Etkili bir makale oluşturmak için bir kapak fotoğrafı ekleyin. En iyi görünüm için 16:9 en boy oranlı resimler yükleyin. Maksimum dosya boyutu: 1MB.",
"ThisExtensionIsNotAllowed":"Bu uzantıya izin verilmiyor.",
"Discord_Page_Description_1":"ABP Topluluğu ilk günden beri büyüyor. Resmi bir ABP Discord sunucusu oluşturarak bunu bir sonraki adıma taşımak istedik, böylece ABP Topluluğu anlık mesajlaşmanın harikalarını kullanarak birbirleriyle etkileşime geçebilir.",
"Discord_Page_Description_2":"ABP Topluluğu Discord Sunucusu, ABP Framework kullanarak yarattıklarınızı sergileyebileceğiniz, işinize yarayan ipuçlarını paylaşabileceğiniz, ABP Framework ile ilgili en son haberleri ve duyuruları takip edebileceğiniz, fikir alışverişinde bulunmak ve eğlenmek için topluluk üyeleriyle sohbet edebileceğiniz bir yerdir!",
"Discord_Page_Description_3":"Bu ABP Topluluk Discord Sunucusu, ABP Çekirdek Ekibinin sunucuda izlenmesi için mevcut olduğu resmi sunucudur.",
"Events_Page_MetaDescription":"ABP Ekibi tarafından düzenlenen canlı programlar, topluluk içeriği, demolar, Soru-Cevap ve ABP'de neler olup bittiğine dair tartışmalarla dolu rahat oturumlardır.",
"Events_Page_WritingFromUser":"ABP Topluluğunda {0} adlı kişiden gelen yazıları okuyun.",
"Post_Create_Page_MetaTitle":"Yeni Gönderi",
"Post_Create_Page_MetaDescription":"ABP çerçevesi hakkındaki deneyimlerinizi paylaşmak ve ABP Topluluğuna katkıda bulunmak için gönderinizi oluşturun.",
"Post_Index_Page_MetaDescription":"ABP Topluluğu'nun amacı, ABP çerçevesini kullanan geliştiriciler için bir katkı ortamı yaratmaktır.",
"Layout_Title":"{0} | ABP Topluluğu",
"Layout_MetaDescription":"ABP Topluluğu, insanların ABP çerçevesi hakkında paylaşımlarda bulunabileceği ve projeleri takip edebileceği bir ortamdır.",
"Index_Page_CommunityIntroduction":"Burası ABP Çerçevesi, .NET ve yazılım geliştirme için bir merkezdir. Makaleleri okuyabilir, eğitim videolarını izleyebilir, ABP'nin gelişim süreci ve ABP ile ilgili etkinlikler hakkında bilgi alabilir, diğer geliştiricilere yardımcı olabilir ve uzmanlığınızı ABP topluluğu ile paylaşabilirsiniz."
"EverythingYouNeedToKnow":"Bilmeniz gereken her şey",
"PreOrderNow":"Şimdi Ön sipariş verin",
"UITheming":"Arayüz Teması",
"UIThemingExplanation":"Yeniden kullanılabilir UI temaları ve düzenleri oluşturun veya önceden oluşturulmuş UI temalarından birini kullanın.",
"DataFilteringExplanation2":"Soft-delete ve çoklu kiracılık gibi modelleri kolayca uygulamak için veritabanından sorgulama yaparken otomatik olarak filtreleme yapın.",
"AbpUpdateCommandExplanation":"Çözümünüzdeki ABP ile ilgili tüm NuGet ve NPM paketlerini otomatik olarak günceller.",
"NeedHelp":"Yardıma ihtiyacınız var mı?",
"GiveYourProjectAName":"Projenize bir isim verin",
"MasteringAbpFramework_Book_Key_Features_Description_1":"ABP Çerçevesini kullanarak sağlam, sürdürülebilir, modüler ve ölçeklenebilir yazılım çözümleri oluşturun.",
"MasteringAbpFramework_Book_Key_Features_Description_2":"Web uygulamalarınızda SOLID ilkelerini ve etki alanı odaklı tasarımı nasıl uygulayacağınızı öğrenin.",
"MasteringAbpFramework_Book_Key_Features_Description_3":"ABP Çerçevesinin tekrar eden görevleri otomatikleştirerek geliştirme döngünüzü nasıl hızlandırdığını keşfedin.",
"MasteringAbpFramework_Book_Description_Details_1":"ABP Çerçevesi, yazılım geliştirme en iyi uygulamalarını ve kurallarını izleyerek modern web uygulamaları oluşturmak \n için eksiksiz bir altyapıdır. ABP'nin üst düzey çerçevesi ve ekosistemi ile Kendinizi Tekrar Etmeyin (DRY) ilkesini uygulayabilir ve iş kodunuza odaklanabilirsiniz.",
"MasteringAbpFramework_Book_Description_Details_2":"ABP Çerçevesinin yaratıcısı tarafından yazılan bu kitap,çerçevesini ve modern web uygulaması geliştirme\n tekniklerini tam olarak anlamanıza yardımcı olacaktır. Temel kavramların adım adım açıklamaları ve\n pratik örneklerle, modern bir web çözümünün gereksinimlerini ve ABP Çerçevesinin kendi çözümlerinizi\n geliştirmeyi nasıl keyifli hale getirdiğini anlayacaksınız. Kurumsal web uygulaması geliştirmenin ortak gereksinimlerini\n keşfedecek ve ABP tarafından sağlanan altyapıyı keşfedeceksiniz. Kitap boyunca, sürdürülebilir ve\n modüler web çözümleri oluşturmak için en iyi yazılım geliştirme uygulamalarını öğreneceksiniz.",
"MasteringAbpFramework_Book_Description_Details_3":"Bu kitabın sonunda, geliştirilmesi, bakımı ve test edilmesi kolay eksiksiz bir web çözümü\n oluşturabileceksiniz.",
"MasteringAbpFramework_Book_What_You_Will_Learn_1":"Geliştirme ortamını kurun ve ABP Çerçevesi ile çalışmaya başlayın.",
"MasteringAbpFramework_Book_What_You_Will_Learn_2":"Veri erişim katmanınızı geliştirmek için Entity Framework Core ve MongoDB ile çalışın.",
"MasteringAbpFramework_Book_What_You_Will_Learn_3":"Birbiriyle kesişen endişeleri ve ABP'nin tekrarlayan görevleri nasıl otomatikleştirdiğini anlayın.",
"MasteringAbpFramework_Book_What_You_Will_Learn_4":"ABP Çerçevesi ile etki alanı odaklı tasarımın uygulanmasını öğrenin.",
"MasteringAbpFramework_Book_What_You_Will_Learn_5":"ASP.NET Core MVC (Razor Pages) ve Blazor ile UI sayfaları ve bileşenleri oluşturun.",
"MasteringAbpFramework_Book_What_You_Will_Learn_6":"Modüler web uygulamaları oluşturmak için çoklu kiracılık ile çalışın.",
"MasteringAbpFramework_Book_What_You_Will_Learn_7":"Modülerliği anlayın ve yeniden kullanılabilir uygulama modülleri oluşturun.",
"MasteringAbpFramework_Book_What_You_Will_Learn_8":"ABP Çerçevesini kullanarak birim, entegrasyon ve UI testleri yazın.",
"MasteringAbpFramework_Book_WhoIsThisBookFor":"Bu kitap kimler için?",
"MasteringAbpFramework_Book_WhoIsThisBookFor_Description":"Bu kitap, Microsoft teknolojilerini ve ABP Çerçevesini kullanarak sürdürülebilir web tabanlı çözümler\n oluşturmak için yazılım mimarilerini ve en iyi uygulamaları öğrenmek isteyen web geliştiricileri içindir.\n Bu kitaba başlamak için temel C# ve ASP.NET Core bilgisi gereklidir.",
"ComputersAndTechnology":"Bilgisayar ve Teknoloji",
"ThisBookIsInDraftStageAndIsNotCompletedYet":"Bu kitap taslak aşamasındadır ve henüz tamamlanmamıştır."
@ -41,6 +41,7 @@ Here, a list of the options you can configure:
* `IsEnabledForAnonymousUsers` (default: `true`): If you want to write audit logs only for the authenticated users, set this to `false`. If you save audit logs for anonymous users, you will see `null` for `UserId` values for these users.
* `AlwaysLogOnException` (default: `true`): If you set to true, it always saves the audit log on an exception/error case without checking other options (except `IsEnabled`, which completely disables the audit logging).
* `IsEnabledForGetRequests` (default: `false`): HTTP GET requests should not make any change in the database normally and audit log system doesn't save audit log objects for GET request. Set this to `true` to enable it also for the GET requests.
* `DisableLogActionInfo` (default: `false`):If you set to true, Will no longer log `AuditLogActionInfo`.
* `ApplicationName`: If multiple applications saving audit logs into a single database, set this property to your application name, so you can distinguish the logs of different applications.
* `IgnoredTypes`: A list of `Type`s to be ignored for audit logging. If this is an entity type, changes for this type of entities will not be saved. This list is also used while serializing the action parameters.
* `EntityHistorySelectors`: A list of selectors those are used to determine if an entity type is selected for saving the entity change. See the section below for details.
2) Create a **new application** with the `--preview` option:
@ -199,7 +199,7 @@ The following improvements have been made on [eShopOnAbp project](https://github
* Performance Improvements have been made in the **Settings Module** and tabs on the *Settings* page are lazy loading now.
* Some improvements have been made in the CMS Kit Module. You can see the improvements from [here](https://github.com/abpframework/abp/issues/11965).
If you want to see more details, you can check [the release on GitHub](https://github.com/abpframework/abp/releases/tag/6.0.0-rc.1), which contains a list of all the issues and pull requests closed in this version.
If you want to see more details, you can check [the release on GitHub](https://github.com/abpframework/abp/releases/tag/6.0.0-rc.5), which contains a list of all the issues and pull requests closed in this version.
[ABP Framework](https://abp.io/) and [ABP Commercial](https://commercial.abp.io/) 6.0 versions have been released today.
## What's New With 6.0?
Since all the new features are already explained in details with the [6.0 RC Announcement Post](https://blog.abp.io/abp/ABP.IO-Platform-6.0-RC-Has-Been-Published), I will not repeat all the details again. See the [RC Blog Post](https://blog.abp.io/abp/ABP.IO-Platform-6.0-RC-Has-Been-Published) for all the features and enhancements.
## Getting Started with 6.0
### Creating New Solutions
You can create a new solution with the ABP Framework version 6.0 by either using the `abp new` command or using the **direct download** tab on the [get started page](https://abp.io/get-started).
> See the [getting started document](https://docs.abp.io/en/abp/latest/Getting-Started) for more.
### How to Upgrade an Existing Solution
#### Install/Update the ABP CLI
First of all, install the ABP CLI or upgrade to the latest version.
If you haven't installed it yet:
```bash
dotnet tool install -g Volo.Abp.Cli
```
To update an existing installation:
```bash
dotnet tool update -g Volo.Abp.Cli
```
#### Upgrading Existing Solutions with the ABP Update Command
[ABP CLI](https://docs.abp.io/en/abp/latest/CLI) provides a handy command to update all the ABP related NuGet and NPM packages in your solution with a single command:
```bash
abp update
```
Run this command in the root folder of your solution.
## Migration Guides
Check the following migration guides for the applications with version 5.3 that are upgrading to version 6.0.
* [ABP Framework 5.3 to 6.0 Migration Guide](https://docs.abp.io/en/abp/6.0/Migration-Guides/Abp-6_0)
* [ABP Commercial 5.3 to 6.0 Migration Guide](https://docs.abp.io/en/commercial/6.0/migration-guides/v6_0)
## Community News
### New ABP Community Posts
Here are some of the recent posts added to the [ABP Community](https://community.abp.io/):
* [Halil Ibrahim Kalkan](https://twitter.com/hibrahimkalkan) has created two new community articles:
* [Consuming gRPC Services from Blazor WebAssembly Application Using gRPC-Web](https://community.abp.io/posts/consuming-grpc-services-from-blazor-webassembly-application-using-grpcweb-dqjry3rv)
* [Using gRPC with the ABP Framework](https://community.abp.io/posts/using-grpc-with-the-abp-framework-2dgaxzw3)
* [Malik Masis](https://twitter.com/malikmasis) also has created two new community articles:
* [Consuming HTTP APIs from a .NET Client Using ABP's Client Proxy System](https://community.abp.io/posts/consuming-http-apis-from-a-.net-client-using-abps-client-proxy-system-xriqarrm)
* [Using MassTransit via eShopOnAbp](https://community.abp.io/posts/using-masstransit-via-eshoponabp-8amok6h8)
* [Xeevis](https://community.abp.io/members/Xeevis) has created her/his first community article, that shows [Prerendering in Blazor WASM applications](https://community.abp.io/posts/prerendering-blazor-wasm-application-with-abp-6.x-2v8590g3).
* [Don Boutwell](https://community.abp.io/members/dboutwell) has created two new community articles:
* [Logging to Datadog from ABP framework](https://community.abp.io/posts/logging-to-datadog-from-abp-framework-fm4ozds4)
* [Configuring Multiple DbContexts in an ABP Framework Project](https://community.abp.io/posts/configuring-multiple-dbcontexts-in-an-abp-framework-project-uoz5is3o)
* [Kirti Kulkarni](https://twitter.com/kirtimkulkarni) has created a new community article: [Deploying ABP angular application to Azure and App Insights integration](https://community.abp.io/posts/deploying-abp-angular-application-to-azure-and-app-insights-integration-4jrhtp01)
Thanks to the ABP Community for all the contents they have published. You can also [post your ABP related (text or video) contents](https://community.abp.io/articles/submit) to the ABP Community.
## About the Next Version
The next feature version will be 7.0. It is planned to release the 7.0 RC (Release Candidate) on November 15 and the final version on December 13, 2022. You can follow the [release planning here](https://github.com/abpframework/abp/milestones).
Please [submit an issue](https://github.com/abpframework/abp/issues/new) if you have any problems with this version.
> **Note:** If your application is greater than version 4.3.3, please follow [this article](../2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/How-To-Add-Custom-Property-To-The-User-Entity.md).
> **Note:** If your application is greater than version 4.3.3, please follow [this article](https://community.abp.io/posts/how-to-add-custom-properties-to-the-user-entity-rixchoha).
## Introduction
In this step-by-step article, I will explain how you can customize the user entity class, which is available in every web application you create using the ABP framework, according to your needs. When you read this article, you will learn how to override the services of built-in modules, extend the entities, extend data transfer objects and customize the user interface in the applications you develop using the ABP framework.
> **Note:** This article is not about customizing the `Login` page. If you have such a need, please follow [this article](../2020-05-09-Customize-the-Login-Page-for-MVC-Razor-Page-Applications/POST.md).
> **Note:** This article is not about customizing the `Login` page. If you have such a need, please follow [this article](https://community.abp.io/posts/how-to-customize-the-login-page-for-mvc-razor-page-applications-9a40f3cd).
You can see the screenshots below which we will reach at the end of the article.
> **Note:** If your application is less than version 4.4.x, please follow [this article](../2020-10-08-How-To-Add-Custom-Property-To-The-User-Entity/How-To-Add-Custom-Property-To-The-User-Entity.md).
> **Note:** If your application is less than version 4.4.x, please follow [this article](https://community.abp.io/posts/how-to-add-custom-property-to-the-user-entity-6ggxiddr).
## Introduction
In this step-by-step article, I will explain how you can customize the user entity class, which is available in every web application you create using the ABP framework, according to your needs. When you read this article, you will learn how to override the services of built-in modules, extend the entities, extend data transfer objects and customize the user interface in the applications you develop using the ABP framework.
> **Note:** This article is not about customizing the `Login` page. If you have such a need, please follow [this article](../2020-05-09-Customize-the-Login-Page-for-MVC-Razor-Page-Applications/POST.md).
> **Note:** This article is not about customizing the `Login` page. If you have such a need, please follow [this article](https://community.abp.io/posts/how-to-customize-the-login-page-for-mvc-razor-page-applications-9a40f3cd).
You can see the screenshots below which we will reach at the end of the article.
@ -8,7 +8,7 @@ In this article, I will show you how to create a gRPC service and consume it fro
## Creating the Application
> I will use the ABP version 6.0 for this article. I am using the 6.0.0-rc.4 version since the stable version hasn't been published at the time I am writing this article. If it is released while you're reading this, do not specify the `--version` and `--preview` parameters in the following commands.
> I will use ABP version 6.0 for this article. I am using the 6.0.0-rc.4 version since the stable version hasn't been published at the time I am writing this article. If it is released while you're reading this, do not specify the `--version` and `--preview` parameters in the following commands.
Install the [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) if you haven't installed it yet:
@ -16,7 +16,7 @@ Install the [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) if you haven't inst
@ -40,7 +40,7 @@ Run the `ProductManagement.DbMigrator` project (a console application) to create
## Defining the Service Contract
We are starting by defining the service contract and DTO classes those will be shared between the server and the client applications.
We are starting by defining the service contract and DTO classes that will be shared between the server and the client applications.
Create a `Products` folder in the `ProductManagement.Application.Contracts` project and add a new interface named `IProductAppService`:
@ -67,7 +67,7 @@ Your IDE will complain about the `[ServiceContract]` attribute, but it is necess
Or you can use your IDE to find and add that NuGet package, it is up to you.
I've also used `ProductDto` class, but not defined yet. Create a new class in the same folder with the `IProductAppService` file:
I've also used the `ProductDto` class, but haven't defined it yet. Create a new class in the same folder with the `IProductAppService` file:
````csharp
using System;
@ -86,13 +86,13 @@ public class ProductDto
}
````
`[DataContract]` and `[DataMember]` properties are needed for serialization. In gRPC, property serialization orders are important, because property names are not transferred to the target application, to keep the serialized data small.
The `[DataContract]` and `[DataMember]` properties are needed for serialization. In gRPC, property serialization orders are important, because property names are not transferred to the target application, to keep the serialized data small.
After adding these classes, `ProductManagement.Application.Contracts` project should look like in the following figure:
After adding these classes, the `ProductManagement.Application.Contracts` project should look as in the following figure:

Contracts part is over. We actually didn't have any dependency to gRPC at that point. Our service and DTOs are pretty plain classes, except a few standard attributes, which are already defined in the .NET Core framework. Now, we can implement the `IProductAppService`.
The contracts part is over. We actually didn't have any dependency to gRPC at that point. Our service and DTOs are pretty plain classes, except a few standard attributes, which are already defined in the .NET Core framework. Now, we can implement the `IProductAppService`.
## Implementing the Service
@ -118,11 +118,11 @@ public class ProductAppService : ProductManagementAppService, IProductAppService
}
````
This is a pretty standard, plain [application service ](https://docs.abp.io/en/abp/latest/Application-Services)class. All the ABP application service features (validation, audit logging, unit of work, etc.) are available. You can inject [repositories](https://docs.abp.io/en/abp/latest/Repositories) and perform database queries. To keep this article simple, I am returning a hard-coded data from here.
This is a pretty standard, plain [application service ](https://docs.abp.io/en/abp/latest/Application-Services)class. All the ABP application service features (validation, audit logging, unit of work, etc.) are available. You can inject [repositories](https://docs.abp.io/en/abp/latest/Repositories) and perform database queries. To keep this article simple, I am returning hard-coded data from here.
> `ProductManagementAppService` is a base class coming in the ABP startup template. While you don't have to inherit from it, it provides useful base properties and methods you typically need in an application service.
Application service part is over. Again, we didn't write any gRPC specific code. Don't worry, we will write in the next section.
The application service part is over. Again, we didn't write any gRPC specific code. Don't worry, we will write in the next section.
## Configuring the gRPC Server
@ -153,7 +153,7 @@ We've configured the `IProductAppService` to handle gRPC requests to that servic

gRPC handles request with the HTTP/2 protocol and should listen an endpoint other than the default HTTP endpoint used by the application. We can easily configure the Kestrel server to listen two endpoints, one for our HTTP APIs, the other one for gRPC services. Add the following configuration inside the `appsettings.json` file of the `ProductManagement.HttpApi.Host` project:
gRPC handles requests with the HTTP/2 protocol and should listen an endpoint other than the default HTTP endpoint used by the application. We can easily configure the Kestrel server to listen two endpoints, one for our HTTP APIs, the other one for gRPC services. Add the following configuration inside the `appsettings.json` file of the `ProductManagement.HttpApi.Host` project:
````json
"Kestrel": {
@ -170,6 +170,8 @@ gRPC handles request with the HTTP/2 protocol and should listen an endpoint othe
}
````
Note that `https://localhost:44388` may be different for your case, since ABP CLI assignes a random port while you're creating a new solution. You can check your port by running the `ProductManagement.HttpApi.Host` project and looking at the address bar on your browser.
The server-side configuration is done. It is ready to receive gRPC requests. Now, we can change the client to consume the gRPC service we've created.
## Implementing the Client Side
@ -223,7 +225,7 @@ First run the `ProductManagement.HttpApi.Host` application. It should show a Swa
If you see that page, it means your server-side is up and running. Now, you can run the `ProductManagement.HttpApi.Client.ConsoleTestApp` console application to call the gRPC service defined on the server.
Test console application should produce an output like shown below:
The test console application should produce an output as shown below:

@ -239,4 +241,4 @@ gRPC on .NET has different approaches, features, configurations and more details
* You can find the completed source code here: https://github.com/abpframework/abp-samples/tree/master/GrpcDemo2
* You can also see all the changes I've done in this article here: https://github.com/abpframework/abp-samples/pull/200/files
* You can also see all the changes I've done in this article here: https://github.com/abpframework/abp-samples/pull/200/files
# Consuming gRPC Services from Blazor WebAssembly Application Using gRPC-Web
> **WARNING: I've demonstrated [Using gRPC with the ABP Framework](https://community.abp.io/posts/using-grpc-with-the-abp-framework-2dgaxzw3) in my latest post. If you haven't seen it, you should read it before this article, since this is a continuation of that article.**
In this second part, I will show how to consume the gRPC service from the Blazor WebAssembly application, using the gRPC-Web technology.
This will be a short article, based on Microsoft's [gRPC-Web in ASP.NET Core gRPC apps](https://learn.microsoft.com/en-us/aspnet/core/grpc/grpcweb) and [Code-first gRPC services and clients with .NET](https://learn.microsoft.com/en-us/aspnet/core/grpc/code-first) documents. For more information, I suggest to check these documents. Let's get started...
## Configuring the Server Side
First of all, the server-side should support gRPC-Web. Follow the steps below to enable it:
### Add Grpc.AspNetCore.Web Package
Add [Grpc.AspNetCore.Web](https://www.nuget.org/packages/Grpc.AspNetCore.Web) NuGet package to the `ProductManagement.HttpApi.Host` project.
### Add GrpcWeb Middleware
Add the following line just before the `app.UseConfiguredEndpoints(...)` line to add the GrpcWeb middleware to your ASP.NET Core request pipeline:
ABP's startup template already configures Cors when you create a new solution. However, we need to allow some extra headers in our Cors configuration.
Add the following line just after the `.WithAbpExposedHeaders()` line in the `OnApplicationInitialization` method of the `ProductManagementHttpApiHostModule` class:
Finally, call `RequireCors` extension method just after the `MapGrpcService` calls:
````csharp
app.UseConfiguredEndpoints(endpoints =>
{
endpoints
.MapGrpcService<IProductAppService>()
.RequireCors("__DefaultCorsPolicy"); // Configure Cors for the product service
});
````
`__DefaultCorsPolicy` may seem a magic string here. Let me explain it: ABP startup template configures the default Cors policy with the `context.Services.AddCors(...)` method (you can see it in the source code). If we define a named policy, we should use the same name here. However, when we don't specify, ASP.NET Core uses `__DefaultCorsPolicy` as the policy name by default. If you don't want to use the magic string, you can resolve the `IOptions<CorsOptions>` service and get the `DefaultPolicyName` from the `CorsOption` object.
Anyway, that's all on the server-side. We can work on he client now.
## Configuring the Client Side
`ProductManagement.Blazor` is the Blazor WebAssembly application in the solution I'd created in the [first article](https://community.abp.io/posts/using-grpc-with-the-abp-framework-2dgaxzw3). We will configure that project to be able to consume the server-side gRPC services from our Blazor application.
### Add Client-side Nuget Packages
Add [Grpc.Net.Client](https://www.nuget.org/packages/Grpc.Net.Client), [Grpc.Net.Client.Web](https://www.nuget.org/packages/Grpc.Net.Client.Web) and [protobuf-net.Grpc](https://www.nuget.org/packages/protobuf-net.Grpc) NuGet packages to the `ProductManagement.Blazor` project. We are ready to consume the gRPC services.
### Consume the Product Service
Change the `Pages/Index.razor.cs` file's content with the following code block:
* We've created a gRPC channel for the server-side endpoint (surely, you get the address from a configuration) with channel options by specifying that we will use the `GrpcWebHandler`.
* We've created a service proxy object using the `CreateGrpcService` extension method that is defined by the [protobuf-net.Grpc](https://www.nuget.org/packages/protobuf-net.Grpc) NuGet package.
* We've used the service proxy object, `productAppService`, to consume remote endpoint just like a local service.
That's all. If we want to show the products on the page, we can add the following markup into the `Pages/Index.razor` view:
````xml
<h2>A list of products:</h2>
<ulclass="list-group">
@foreach(var product in Products)
{
<liclass="list-group-item">
@product.Name <br/>
<small>@product.Id.ToString()</small>
</li>
}
</ul>
````
Run the applications (first run the `ProductManagement.HttpApi.Host` project, then run the `ProductManagement.Blazor` project in the solution) to see it in action:

## Conclusion
In the first part of this article, I'd demonstrated how to implement a gRPC service and consume it in a client application, using the [code-first approach](https://docs.microsoft.com/en-us/aspnet/core/grpc/code-first). In this article, I've demonstrated how to consume the same gRPC service from a Blazor WebAssembly application, using the [gRPC-Web](https://learn.microsoft.com/en-us/aspnet/core/grpc/grpcweb) technology. As you see in these two articles, using gRPC with the ABP Framework is straightforward.
## The Source Code
- You can find the completed source code here: https://github.com/abpframework/abp-samples/tree/master/GrpcDemo2
- You can also see all the changes I've done in this article here: https://github.com/abpframework/abp-samples/pull/201/files
thrownewAbpException($"{file.GetVirtualOrPhysicalPathOrNull()} dictionary has a culture name '{dictionary.CultureName}' which is already defined!");
thrownewAbpException($"{file.GetVirtualOrPhysicalPathOrNull()} dictionary has a culture name '{dictionary.CultureName}' which is already defined! Localization resource: {_resource.ResourceName}");
@foreach (var propertyInfo in ObjectExtensionManager.Instance.GetProperties<AccountProfilePersonalInfoManagementGroupViewComponent.PersonalInfoModel>())
{
var isAllowed = propertyInfo.Configuration.GetOrDefault(IdentityModuleExtensionConsts.ConfigurationNames.AllowUserToEdit);
if (isAllowed == null || !isAllowed.Equals(true))
{
continue;
}
if (!propertyInfo.Name.EndsWith("_Text"))
{
if (propertyInfo.Type.IsEnum || !propertyInfo.Lookup.Url.IsNullOrEmpty())