diff --git a/modules/sec_accessaudit/lang/tr.lang b/modules/sec_accessaudit/lang/tr.lang
new file mode 100644
index 0000000..56c1144
--- /dev/null
+++ b/modules/sec_accessaudit/lang/tr.lang
@@ -0,0 +1,44 @@
+ "Denetim",
+ "Date" => "Tarih",
+ "Type" => "Tür",
+ "User" => "Kullanıcı",
+ "Message" => "Mesaj",
+ 'Search string' => 'Arama dizesi',
+ 'Search' => 'Ara',
+ 'Search next' => 'Sonrakini ara',
+ "offset" => "kaydırma",
+ "Asterisk Logs" => "Asterisk Günlükleri",
+ "Date"=>"Tarih",
+ "Show"=>"Göster",
+ "Message"=>"Mesaj",
+ "Type"=>"Tür",
+ "Source"=>"Kaynak"
+);
+?>
\ No newline at end of file
diff --git a/modules/sec_advanced_settings/lang/tr.lang b/modules/sec_advanced_settings/lang/tr.lang
new file mode 100644
index 0000000..deddb1f
--- /dev/null
+++ b/modules/sec_advanced_settings/lang/tr.lang
@@ -0,0 +1,58 @@
+ "Gelişmiş Güvenlik Ayarları",
+ "Enable direct access (Non-embedded) to IssabelPBX" => "IssabelPBX'e doğrudan erişimi (gömülü olmayan) etkinleştir",
+ "Change Password" => "Şifre Değiştir",
+ "Enable access" => "Erişimi etkinleştir",
+ "Database and Web Administration IssabelPBX Password" => "Veritabanı ve Web Yönetimi IssabelPBX Şifresi",
+ "Password Confirmation" => "Şifre Onayı",
+ "Password and confirmation do not match!" => "Şifre ve onay eşleşmiyor!",
+ "The following fields are required" => "Aşağıdaki alanlar gereklidir",
+ "The following field contain errors" => "Aşağıdaki alanlar hata içeriyor",
+ "Information" => "Bilgi",
+ "Password has been updated." => "Şifre güncellendi.",
+ "Password has not been updated." => "Şifre güncellenmedi.",
+ "Access direct to IssabelPBX has been enabled." => "IssabelPBX'e doğrudan erişim etkinleştirildi.",
+ "Access direct to IssabelPBX has not been enabled." => "IssabelPBX'e doğrudan erişim etkinleştirilmedi.",
+ "Access direct to IssabelPBX has been disabled." => "IssabelPBX'e doğrudan erişim devre dışı bırakıldı.",
+ "Access direct to IssabelPBX has not been disabled." => "IssabelPBX'e doğrudan erişim devre dışı bırakılmadı.",
+ " But the following files have been modified: " => " Ancak aşağıdaki dosyalar değiştirildi: ",
+ "Password may only contain alphanumeric characters, spaces, or the following: .&-@=_!<>." => "Şifre yalnızca alfanümerik karakterler, boşluklar veya şunları içerebilir: .&-@=_!<>.",
+ "Advice" => "Tavsiye",
+ "Unauthorized" => "Yetkisiz",
+ "You are not authorized to access this page." => "Bu sayfaya erişim yetkiniz yok.",
+ "Enable direct access (Non-embedded) to IssabelPBX in \"Security >> Advanced Security Settings\" menu." => "\"Güvenlik >> Gelişmiş Güvenlik Ayarları\" menüsünde IssabelPBX'e doğrudan erişimi (gömülü olmayan) etkinleştirin",
+ 'Enable anonymous SIP calls' => 'Anonim SIP aramalarını etkinleştir',
+ 'Anonymous SIP calls are now enabled.' => 'Anonim SIP aramaları etkinleştirildi.',
+ 'Anonymous SIP calls are now disabled.' => 'Anonim SIP aramaları devre dışı bırakıldı.',
+ 'Anonymous SIP calls cannot be enabled.' => 'Anonim SIP aramaları etkinleştirilemiyor.',
+ 'Anonymous SIP calls cannot be disabled.' => 'Anonim SIP aramaları devre dışı bırakılamıyor.',
+ 'Dismiss'=>'Kapat',
+ 'is licensed under' => 'lisansı altında lisanslanmıştır'
+);
+?>
diff --git a/modules/sec_fb_admin/lang/tr.lang b/modules/sec_fb_admin/lang/tr.lang
new file mode 100644
index 0000000..4dcd44e
--- /dev/null
+++ b/modules/sec_fb_admin/lang/tr.lang
@@ -0,0 +1,46 @@
+ "Fail2Ban Hapishaneleri",
+ "Edit Jail" => "Hapishaneyi Düzenle",
+ "View Jail" => "Hapishaneyi Görüntüle",
+ "Name" => "Ad",
+ "Whitelist" => "Beyaz Liste",
+ "Enabled" => "Etkin",
+ "View" => "Görüntüle",
+ "Edit" => "Düzenle",
+ "Ban Time (hours)" => "Yasaklama Süresi (saat)",
+ "Count Failed Attempts" => "Başarısız Deneme Sayısı",
+ "Save correctly" => "Değişiklikler kaydedildi",
+ "Update correctly" => "Başarıyla güncellendi",
+ "Message" => "Mesaj",
+ "Error" => "Hata",
+ "The following fields contain errors" => "Aşağıdaki alanlar hata içeriyor",
+ "Validation Error" => "Doğrulama Hatası"
+);
+?>
diff --git a/modules/sec_fb_banned/lang/tr.lang b/modules/sec_fb_banned/lang/tr.lang
new file mode 100644
index 0000000..a547804
--- /dev/null
+++ b/modules/sec_fb_banned/lang/tr.lang
@@ -0,0 +1,39 @@
+ "Hapishane",
+ "IP" => "IP",
+ "Fail2Ban Banned IPs" => "Fail2Ban Yasaklı IP'ler",
+ "Unbanned correctly" => "Başarıyla yasağı kaldırıldı",
+ "Unban" => "Yasağı Kaldır",
+ "Error" => "Hata",
+ "Name" => "Ad",
+ "Country" => "Ülke",
+ "The following fields contain errors" => "Aşağıdaki alanlar hata içeriyor",
+ "Validation Error" => "Doğrulama Hatası"
+);
+?>
diff --git a/modules/sec_geoip_key/lang/tr.lang b/modules/sec_geoip_key/lang/tr.lang
new file mode 100644
index 0000000..0984482
--- /dev/null
+++ b/modules/sec_geoip_key/lang/tr.lang
@@ -0,0 +1,33 @@
+ "GeoIP ANAHTARI",
+ "key" => "maxmind.com'dan Lisans Anahtarı",
+ "maxmind signup" => "Ücretsiz bir lisans anahtarı için buradan kaydolabilirsiniz",
+ "updated" => "Anahtar güncellendi"
+);
+?>
diff --git a/modules/sec_geoip_map/lang/tr.lang b/modules/sec_geoip_map/lang/tr.lang
new file mode 100644
index 0000000..3e3b3c5
--- /dev/null
+++ b/modules/sec_geoip_map/lang/tr.lang
@@ -0,0 +1,33 @@
+"Gerçek Zamanlı Engellenen Saldırı",
+ "blockedLegend"=>"Fail2ban tarafından engellenen saldırganlar",
+ "{0}: Stopped attack from {1}" => "{0}: {1} adresinden gelen saldırı durduruldu",
+ "My Issabel"=>"Issabel'im"
+);
+?>
diff --git a/modules/sec_geoip_map/langmenu/en.lang b/modules/sec_geoip_map/langmenu/en.lang
new file mode 100644
index 0000000..8133557
--- /dev/null
+++ b/modules/sec_geoip_map/langmenu/en.lang
@@ -0,0 +1,5 @@
+ "GeoIP Map"
+);
+
diff --git a/modules/sec_geoip_map/langmenu/tr.lang b/modules/sec_geoip_map/langmenu/tr.lang
new file mode 100644
index 0000000..77d7a51
--- /dev/null
+++ b/modules/sec_geoip_map/langmenu/tr.lang
@@ -0,0 +1,5 @@
+ "GeoIP Haritası"
+);
+
diff --git a/modules/sec_letsencrypt/lang/tr.lang b/modules/sec_letsencrypt/lang/tr.lang
new file mode 100644
index 0000000..936ef0d
--- /dev/null
+++ b/modules/sec_letsencrypt/lang/tr.lang
@@ -0,0 +1,49 @@
+"Bu, mevcut hesap ve alan yapılandırmanızdır",
+ "Install New Certificate from Let's Encrypt"=>"Let's Encrypt'ten Yeni Sertifika Yükle",
+ "Domain"=>"Alan Adı",
+ "Email"=>"E-posta",
+ "Install"=>"Yükle",
+ "Renew"=>"Yenile",
+ "Usage"=>"Kullanım",
+ "Renew Certificate"=>"Sertifikayı Yenile",
+ "Staging Certificate(Use this for testing)"=>"Hazırlık Sertifikası (Test için kullanın)",
+ "1.- Create a Valid Domain by purchasing it with you preferred Vendor or get one from free DDNS service like No-Ip.org"=>"1.- Tercih ettiğiniz satıcıdan satın alarak veya No-Ip.org gibi ücretsiz DDNS hizmetinden bir tane alarak geçerli bir alan adı oluşturun",
+ "2.- Be sure that you domain is redirected to your PBX Service."=>"2.- Alan adınızın PBX Hizmetinize yönlendirildiğinden emin olun.",
+ "3.- Open the 443 and 80 ports in your firewall and redirect to your PBX."=>"3.- Güvenlik duvarınızda 443 ve 80 TCP portlarını açın ve PBX'inize yönlendirin.",
+ "4.- In the field DOMAIN enter your domain to obtain a valid certificate. You can add many domains comma separated"=>"4.- DOMAIN alanına geçerli bir sertifika almak için alan adınızı girin. Virgülle ayrılmış birden fazla alan adı ekleyebilirsiniz.",
+ "5.- In the field EMAIL enter your email to register your account."=>"5.- EMAIL alanına hesabınızı kaydetmek için e-postanızı girin.",
+ "6.- To renew your certificate press the Renew button."=>"6.- Sertifikanızı yenilemek için Yenile düğmesine basın.",
+ "7.- For test certificates enable the Staging checkbox."=>"7.- Test sertifikaları için Hazırlık onay kutusunu etkinleştirin.",
+ "8.- After the process finish, reload your window with the Domain name(make sure the DNS is set internally too)."=>"8.- İşlem tamamlandıktan sonra, pencerenizi alan adıyla yeniden yükleyin (DNS'in dahili olarak da ayarlandığından emin olun).",
+ "9.- You can enable the firewall rules again for ports 443 and 80."=>"9.- 443 ve 80 portları için güvenlik duvarı kurallarını tekrar etkinleştirebilirsiniz.",
+ " Enjoy. ;)"=>" Tadını çıkarın. ;) ",
+ "Visit https://letsencrypt.org to know more about free certification process their TOS and License Agreement, this is a basic GUI for the APACHE CERTBOT and is provided as is and without warranty.If you have any questions please provide it in the forum.Don't forget to Donate to the Let's Encrypt Project"=>"Ücretsiz sertifika süreci, TOS ve Lisans Sözleşmeleri hakkında daha fazla bilgi edinmek için https://letsencrypt.org adresini ziyaret edin. Bu, APACHE CERTBOT için temel bir GUI'dir ve olduğu gibi ve garantisiz olarak sağlanır. Herhangi bir sorunuz varsa, lütfen forumda sorun. Let's Encrypt Projesine bağış yapmayı unutmayın",
+);
+?>
diff --git a/modules/sec_portknock_if/lang/tr.lang b/modules/sec_portknock_if/lang/tr.lang
new file mode 100644
index 0000000..d4c998f
--- /dev/null
+++ b/modules/sec_portknock_if/lang/tr.lang
@@ -0,0 +1,54 @@
+ 'PortKnock Korumalı Arayüzler',
+ 'Interface' => 'Arayüz',
+ 'Protection' => 'Koruma',
+ 'Port to Knock' => 'Yoklama Yapılacak Port',
+ 'Authorizations' => 'Yetkilendirmeler',
+ 'Are you sure you wish to unprotect the interface?' => 'Arayüzün korumasını kaldırmak istediğinizden emin misiniz?',
+ 'Unprotect interface' => 'Arayüzün korumasını kaldır',
+ 'ERROR' => 'HATA',
+ 'Inactive' => 'Etkin Değil',
+ 'Active' => 'Etkin',
+ 'Enable Protection' => 'Korumayı Etkinleştir',
+ 'View authorizations' => 'Yetkilendirmeleri görüntüle',
+ 'Port' => 'Port',
+ 'Port must be in range 0-65535' => 'Port 0-65535 aralığında olmalıdır',
+ 'Invalid interface' => 'Geçersiz arayüz',
+ 'Assign Knocking Port' => 'Yoklama Portu Ata',
+ 'PortKnock Interface Authorizations' => 'PortKnock Arayüz Yetkilendirmeleri',
+ 'IP' => 'IP',
+ 'User' => 'Kullanıcı',
+ 'Ports' => 'Portlar',
+ 'Since' => 'Şundan Beri',
+ 'Are you sure you wish to revoke this authorization?' => 'Bu yetkilendirmeyi iptal etmek istediğinizden emin misiniz?',
+ 'Revoke authorization' => 'Yetkilendirmeyi iptal et',
+ 'Failed to restart portknock service' => 'Portknock servisi yeniden başlatılamadı',
+);
+?>
\ No newline at end of file
diff --git a/modules/sec_portknock_users/lang/tr.lang b/modules/sec_portknock_users/lang/tr.lang
new file mode 100644
index 0000000..f927ec1
--- /dev/null
+++ b/modules/sec_portknock_users/lang/tr.lang
@@ -0,0 +1,48 @@
+ 'HATA',
+ 'Message' => 'Mesaj',
+ 'Revocation successful' => 'İptal başarılı',
+ 'PortKnock Users' => 'PortKnock Kullanıcıları',
+ 'User' => 'Kullanıcı',
+ 'Authorized ports' => 'Yetkili portlar',
+ 'Revoke authorizations' => 'Yetkilendirmeleri iptal et',
+ 'Are you sure you wish to revoke the user authorizations?' => 'Kullanıcı yetkilendirmelerini iptal etmek istediğinizden emin misiniz?',
+ 'Authorize new user' => 'Yeni kullanıcı yetkilendir',
+ 'Add/Remove Ports' => 'Port Ekle/Kaldır',
+ 'Port' => 'Port',
+ 'Ports' => 'Portlar',
+ 'Type' => 'Tür',
+ 'Code' => 'Kod',
+ 'Protocol Number' => 'Protokol Numarası',
+ 'Add/remove ports for user' => 'Kullanıcı için port ekle/kaldır',
+ 'Protocol' => 'Protokol',
+ 'Details' => 'Detaylar'
+);
+?>
\ No newline at end of file
diff --git a/modules/sec_ports/lang/tr.lang b/modules/sec_ports/lang/tr.lang
new file mode 100644
index 0000000..2257d2f
--- /dev/null
+++ b/modules/sec_ports/lang/tr.lang
@@ -0,0 +1,66 @@
+ "Port- Hizmet",
+ "Ports" => "Portlar",
+ "Port" => "Port",
+ "Option" => "Seçenek",
+ "Name" => "Ad",
+ "Protocol" => "Protokol",
+ "Port(s)" => "Port(lar)",
+ "Delete" => "Sil",
+ "View" => "Görüntüle",
+ "Edit" => "Düzenle",
+ "New Port" => "Yeni Port",
+ "Comment" => "Yorum",
+ "Save correctly" => "Değişiklikler kaydedildi",
+ "Delete correctly" => "Silme başarılı",
+ "Update correctly" => "Başarıyla güncellendi",
+ "Details" => "Detaylar",
+ "Message" => "Mesaj",
+ "Error" => "Hata",
+ "Are you sure you wish to delete the port(s)." => "Port(ları) silmek istediğinizden emin misiniz?",
+ "Filter by" => "Şuna göre filtrele",
+ "Name" => "Ad",
+ "Define Ports" => "Portları Tanımla",
+ "Define Port" => "Port Tanımla",
+ "Edit Port" => "Portu Düzenle",
+ "View Port" => "Portu Görüntüle",
+ "Protocol Number" => "Protokol Numarası",
+ "Type" => "Tür",
+ "Code" => "Kod",
+ "This port had already been defined" => "Bu port zaten tanımlanmıştı",
+ "The name and the port can not be empty fields" => "Ad ve port boş alanlar olamaz",
+ "The name, type and code can not be empty fields" => "Ad, tür ve kod boş alanlar olamaz",
+ "The name and the protocol number can not be empty fields" => "Ad ve protokol numarası boş alanlar olamaz",
+ "The following fields contain errors" => "Aşağıdaki alanlar hata içeriyor",
+ "Validation Error" => "Doğrulama Hatası",
+ "Port used in a firewall rule" => "Port bir güvenlik duvarı kuralında kullanılıyor",
+ "You have to delete the rule related in order to delete this port" => "Bu portu silmek için ilgili kuralı silmeniz gerekiyor",
+ "Some rules could be deactivated due to these changes, please check the firewall rules" => "Bu değişiklikler nedeniyle bazı kurallar devre dışı bırakılabilir, lütfen güvenlik duvarı kurallarını kontrol edin"
+);
+?>
diff --git a/modules/sec_rules/lang/tr.lang b/modules/sec_rules/lang/tr.lang
new file mode 100644
index 0000000..f7f93b3
--- /dev/null
+++ b/modules/sec_rules/lang/tr.lang
@@ -0,0 +1,107 @@
+ "Kurallar",
+ "New" => "Yeni",
+ "Traffic" => "Trafik",
+ "Interface IN" => "Giriş Arayüzü",
+ "Interface OUT" => "Çıkış Arayüzü",
+ "IP Source" => "Kaynak Adresi",
+ "IP Destiny" => "Hedef Adresi",
+ "ALL" => "TÜMÜ",
+ "Protocol" => "Protokol",
+ "Target" => "Hedef",
+ "Action" => "Eylem",
+ "Port Source" => "Kaynak Portu",
+ "Port Destine" => "Hedef Portu",
+ "Type" => "Tür",
+ "ID" => "ID",
+ "New Rule" => "Yeni Kural",
+ "Delete" => "Sil",
+ "Are you sure you wish to delete the Rule?" => "Kuralı silmek istediğinizden emin misiniz?",
+ "Orden" => "Sıra",
+ "Filter Example" => "Filtre Örneği",
+ "Rule" => "Kural",
+ "Activate" => "Etkinleştir",
+ "Desactivate" => "Devre Dışı Bırak",
+ "Rule List" => "Kural Listesi",
+ "Source Port" => "Kaynak Portu",
+ "Destiny Port" => "Hedef Portu",
+ "Protocol ICMP Type" => "Protokol ICMP Türü",
+ "Number Protocol IP" => "IP Protokol Numarası",
+ "Order" => "Sıra",
+ "Order/Activated" => "Sıra/Etkinleştirildi",
+ "INPUT" => "GİRİŞ",
+ "OUTPUT" => "ÇIKIŞ",
+ "FORWARD" => "İLET",
+ "ACCEPT" => "KABUL ET",
+ "DROP" => "DÜŞÜR",
+ "REJECT" => "REDDET",
+ "ANY" => "HERHANGİ BİRİ",
+ "The bit masks must be values less than 33" => "Bit maskeleri 33'ten küçük değerler olmalıdır",
+ "Error" => "Hata",
+ "Validation Error" => "Doğrulama Hatası",
+ "The following fields contain errors" => "Aşağıdaki alanlar hata içeriyor",
+ "Edit Rule" => "Kuralı Düzenle",
+ "Wrong Mask" => "Yanlış Maske",
+ "Up" => "Yukarı",
+ "Down" => "Aşağı",
+ "Successful Change" => "Başarılı Değişiklik",
+ "Invalid Action" => "Geçersiz Eylem",
+ "Execute Rules" => "Kuralları Uygula",
+ "Successful Save" => "Başarılı Kayıt",
+ "Successful Update" => "Başarılı Güncelleme",
+ "Error during execution of rules" => "Kuralların yürütülmesi sırasında hata",
+ "Interface" => "Arayüz",
+ "IN" => "GİRİŞ",
+ "OUT" => "ÇIKIŞ",
+ "The rules have been executed in the system" => "Kurallar sistemde uygulandı",
+ "There have been changes and have not been executed in the system" => "Değişiklikler yapıldı ve sistemde uygulanmadı",
+ "Cancel" => "İptal",
+ "Wrong value for ip" => "IP için yanlış değer",
+ "Save Changes" => "Değişiklikleri Kaydet",
+ "FireWall Rules" => "Güvenlik Duvarı Kuralları",
+ "You have made changes to the definition of firewall rules, for this to take effect in the system press the next button" => "Güvenlik duvarı kurallarının tanımında değişiklikler yaptınız, bunun sistemde etkili olması için sonraki düğmeye basın",
+ "The firewall is totally desactivated. It is recommended to activate the firewall rules" => "Güvenlik duvarı tamamen devre dışı bırakıldı. Güvenlik duvarı kurallarının etkinleştirilmesi önerilir",
+ "Activate FireWall" => "Güvenlik Duvarını Etkinleştir",
+ "Desactivate FireWall" => "Güvenlik Duvarını Devre Dışı Bırak",
+ "The firewall has been activated" => "Güvenlik duvarı etkinleştirildi",
+ "The firewall has been desactivated" => "Güvenlik duvarı devre dışı bırakıldı",
+ "The firewall could not be desactivated" => "Güvenlik duvarı devre dışı bırakılamadı",
+ "STATE" => "DURUM",
+ "Established" => "Kuruldu",
+ "Related" => "İlişkili",
+ "You have to select at least one state" => "En az bir durum seçmelisiniz",
+ "Details" => "Detaylar",
+ "MESSAGE"=>"MESAJ",
+ "IP DETAILS"=>"IP DETAYLARI",
+ "PROTOCOL DETAILS"=>"PROTOKOL DETAYLARI",
+ "ACTION DETAIL"=>"EYLEM DETAYI",
+ "No rules were selected" => "Hiç kural seçilmedi",
+ "%d rules were deleted" => "%d kural silindi"
+);
+?>
diff --git a/modules/sec_weak_keys/lang/tr.lang b/modules/sec_weak_keys/lang/tr.lang
new file mode 100644
index 0000000..6c65e0f
--- /dev/null
+++ b/modules/sec_weak_keys/lang/tr.lang
@@ -0,0 +1,65 @@
+ "Zayıf Anahtarlar",
+ "Extension" => "Uzantı",
+ "Description" => "Açıklama",
+ "Reason" => "Neden",
+ "Same Key" => "Gizli anahtar ve uzantı numarası aynı",
+ "Short Key" => "Gizli anahtar çok kısa (5 haneden kısa)",
+ "Search" => "Ara",
+ "Show" => "Göster",
+ "Change Key" => "Anahtarı Değiştir",
+ "Old Key" => "Eski Anahtar",
+ "New Key" => "Yeni Anahtar",
+ "Save" => "Kaydet",
+ "Confirm New Key" => "Yeni Anahtarı Onayla",
+ "Required field" => "Gerekli alan",
+ "Key" => "Anahtar",
+ "Validation Error" => "Doğrulama Hatası",
+ "Error" => "Hata",
+ "The following fields contain errors" => "Aşağıdaki alanlar hata içeriyor",
+ "The key does not match with the actual key" => "Anahtar, mevcut anahtarla eşleşmiyor",
+ "The New Key does not match with the Confirmation Key" => "Yeni Anahtar, Onay Anahtarı ile eşleşmiyor",
+ "Message" => "Mesaj",
+ "Successful Key Update" => "Başarılı Anahtar Güncellemesi",
+ "Current Key" => "Mevcut Anahtar",
+ "The Current Key is invalid" => "Mevcut Anahtar geçersiz",
+ "Cancel" => "İptal",
+ "You are not authorized to enter to that extension" => "Bu uzantıya girmeye yetkiniz yok",
+ "Weak Secrets" => "Zayıf Gizli Anahtarlar",
+ "Current Secret" => "Mevcut Gizli Anahtar",
+ "New Secret" => "Yeni Gizli Anahtar",
+ "Confirm New Secret" => "Yeni Gizli Anahtarı Onayla",
+ "The Current Secret is invalid" => "Mevcut Gizli Anahtar geçersiz",
+ "The New Secret does not match with the Confirmation Secret" => "Yeni Gizli Anahtar, Onay Gizli Anahtarı ile eşleşmiyor",
+ "Successful Secret Update" => "Başarılı Gizli Anahtar Güncellemesi",
+ "Change Secret" => "Gizli Anahtarı Değiştir",
+ "Weak Key" => "Zayıf Anahtar",
+ "Status" => "Durum"
+);
+?>
\ No newline at end of file
diff --git a/modules/sec_whitelist/lang/tr.lang b/modules/sec_whitelist/lang/tr.lang
new file mode 100644
index 0000000..9f9182e
--- /dev/null
+++ b/modules/sec_whitelist/lang/tr.lang
@@ -0,0 +1,38 @@
+ "Değişiklikler kaydedildi",
+ "Delete correctly" => "Silme başarılı",
+ "IP Address" => "IP Adresi",
+ "Note" => "Not",
+ "White List" => "Beyaz Liste",
+ "Add IP Address" => "IP Adresi Ekle",
+ "The IP address or network format is not valid" => "IP adresi veya ağ formatı geçerli değil",
+ "This IP address had already been defined" => "Bu IP adresi zaten tanımlanmıştı",
+ "Are you sure you wish to delete the IP address?" => "IP adresini silmek istediğinizden emin misiniz?"
+);
+?>
diff --git a/modules/sec_whitelist/langmenu/en.lang b/modules/sec_whitelist/langmenu/en.lang
new file mode 100644
index 0000000..de0006d
--- /dev/null
+++ b/modules/sec_whitelist/langmenu/en.lang
@@ -0,0 +1,26 @@
+ "White List",
+);
+?>
diff --git a/modules/sec_whitelist/langmenu/tr.lang b/modules/sec_whitelist/langmenu/tr.lang
new file mode 100644
index 0000000..764d9cd
--- /dev/null
+++ b/modules/sec_whitelist/langmenu/tr.lang
@@ -0,0 +1,30 @@
+ "Beyaz Liste",
+);
+?>