Sfoglia il codice sorgente

Merge pull request #1512 from causefx/v2-develop

V2 develop
causefx 5 anni fa
parent
commit
5d5d057693

+ 2 - 1
api/classes/organizr.class.php

@@ -58,7 +58,7 @@ class Organizr
 	
 	// ===================================
 	// Organizr Version
-	public $version = '2.1.60';
+	public $version = '2.1.74';
 	// ===================================
 	// Quick php Version check
 	public $minimumPHP = '7.2';
@@ -221,6 +221,7 @@ class Organizr
 				if ($this->qualifyRequest($group) && $unlocked) {
 					header("X-Organizr-User: $currentUser");
 					header("X-Organizr-Email: $currentEmail");
+					header("X-Organizr-Group: $currentGroup");
 					$this->setAPIResponse('success', $userInfo . ' User is Authorized', 200);
 				} else {
 					if (!$redirect) {

+ 2 - 1
api/functions/normal-functions.php

@@ -477,7 +477,8 @@ trait NormalFunctions
 				$domain = $_SERVER['HTTP_HOST'];
 			}
 		}
-		$url = $protocol . $domain . str_replace("\\", "/", dirname($_SERVER['REQUEST_URI']));
+		$path = (str_replace("\\", "/", dirname($_SERVER['REQUEST_URI'])) !== '.') ?? '';
+		$url = $protocol . $domain . $path;
 		if (strpos($url, '/api') !== false) {
 			$url = explode('/api', $url);
 			return $url[0] . '/';

+ 1 - 1
api/homepage/lidarr.php

@@ -163,7 +163,7 @@ trait LidarrHomepageItem
 		foreach ($list as $key => $value) {
 			try {
 				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], 'lidarr');
-				$results = $downloader->getSystemStatus();
+				$results = $downloader->getRootFolder();
 				$downloadList = json_decode($results, true);
 				if (is_array($downloadList) || is_object($downloadList)) {
 					$queue = (array_key_exists('error', $downloadList)) ? $downloadList['error']['msg'] : $downloadList;

+ 1 - 1
api/homepage/radarr.php

@@ -215,7 +215,7 @@ trait RadarrHomepageItem
 		foreach ($list as $key => $value) {
 			try {
 				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], 'radarr');
-				$results = $downloader->getSystemStatus();
+				$results = $downloader->getRootFolder();
 				$downloadList = json_decode($results, true);
 				if (is_array($downloadList) || is_object($downloadList)) {
 					$queue = (array_key_exists('error', $downloadList)) ? $downloadList['error']['msg'] : $downloadList;

+ 34 - 34
api/homepage/rtorrent.php

@@ -160,10 +160,9 @@ trait RTorrentHomepageItem
 		}
 		try {
 			$digest = (empty($this->config['rTorrentURLOverride'])) ? $this->qualifyURL($this->config['rTorrentURL'], true) : $this->qualifyURL($this->checkOverrideURL($this->config['rTorrentURL'], $this->config['rTorrentURLOverride']), true);
-			$passwordInclude = ($this->config['rTorrentUsername'] !== '' && $this->config['rTorrentPassword'] !== '') ? $this->config['rTorrentUsername'] . ':' . $this->decrypt($this->config['rTorrentPassword']) . "@" : '';
 			$extraPath = (strpos($this->config['rTorrentURL'], '.php') !== false) ? '' : '/RPC2';
 			$extraPath = (empty($this->config['rTorrentURLOverride'])) ? $extraPath : '';
-			$url = $digest['scheme'] . '://' . $passwordInclude . $digest['host'] . $digest['port'] . $digest['path'] . $extraPath;
+			$url = $digest['scheme'] . '://' . $digest['host'] . $digest['port'] . $digest['path'] . $extraPath;
 			$options = ($this->localURL($url, $this->config['rTorrentDisableCertCheck'])) ? array('verify' => false) : array();
 			if ($this->config['rTorrentUsername'] !== '' && $this->decrypt($this->config['rTorrentPassword']) !== '') {
 				$credentials = array('auth' => new Requests_Auth_Digest(array($this->config['rTorrentUsername'], $this->decrypt($this->config['rTorrentPassword']))));
@@ -267,11 +266,10 @@ trait RTorrentHomepageItem
 			}
 			$torrents = array();
 			$digest = (empty($this->config['rTorrentURLOverride'])) ? $this->qualifyURL($this->config['rTorrentURL'], true) : $this->qualifyURL($this->checkOverrideURL($this->config['rTorrentURL'], $this->config['rTorrentURLOverride']), true);
-			$passwordInclude = ($this->config['rTorrentUsername'] !== '' && $this->config['rTorrentPassword'] !== '') ? $this->config['rTorrentUsername'] . ':' . $this->decrypt($this->config['rTorrentPassword']) . "@" : '';
 			$extraPath = (strpos($this->config['rTorrentURL'], '.php') !== false) ? '' : '/RPC2';
 			$extraPath = (empty($this->config['rTorrentURLOverride'])) ? $extraPath : '';
-			$url = $digest['scheme'] . '://' . $passwordInclude . $digest['host'] . $digest['port'] . $digest['path'] . $extraPath;
-			$options = (localURL($url, $this->config['rTorrentDisableCertCheck'])) ? array('verify' => false) : array();
+			$url = $digest['scheme'] . '://' . $digest['host'] . $digest['port'] . $digest['path'] . $extraPath;
+			$options = ($this->localURL($url, $this->config['rTorrentDisableCertCheck'])) ? array('verify' => false) : array();
 			if ($this->config['rTorrentUsername'] !== '' && $this->decrypt($this->config['rTorrentPassword']) !== '') {
 				$credentials = array('auth' => new Requests_Auth_Digest(array($this->config['rTorrentUsername'], $this->decrypt($this->config['rTorrentPassword']))));
 				$options = array_merge($options, $credentials);
@@ -308,35 +306,37 @@ trait RTorrentHomepageItem
 			$response = Requests::post($url, array(), $data, $options);
 			if ($response->success) {
 				$torrentList = xmlrpc_decode(str_replace('i8>', 'string>', $response->body));
-				foreach ($torrentList as $key => $value) {
-					$tempStatus = $this->rTorrentStatus($value[13], $value[10], $value[6]);
-					if ($tempStatus == 'Seeding' && $this->config['rTorrentHideSeeding']) {
-						//do nothing
-					} elseif ($tempStatus == 'Finished' && $this->config['rTorrentHideCompleted']) {
-						//do nothing
-					} else {
-						$torrents[$key] = array(
-							'name' => $value[0],
-							'base' => $value[1],
-							'upTotal' => $value[2],
-							'size' => $value[3],
-							'downTotal' => $value[4],
-							'downloaded' => $value[5],
-							'connectionState' => $value[6],
-							'leech' => $value[7],
-							'seed' => $value[8],
-							'date' => $value[9],
-							'state' => ($value[10]) ? 'on' : 'off',
-							'group' => $value[11],
-							'hash' => $value[12],
-							'complete' => ($value[13]) ? 'yes' : 'no',
-							'ratio' => $value[14],
-							'label' => $value[20],
-							'status' => $tempStatus,
-							'temp' => $value[16] . ' - ' . $value[17] . ' - ' . $value[18],
-							'custom' => $value[19] . ' - ' . $value[20] . ' - ' . $value[21],
-							'custom2' => $value[22] . ' - ' . $value[23] . ' - ' . $value[24],
-						);
+				if (is_array($torrentList)) {
+					foreach ($torrentList as $key => $value) {
+						$tempStatus = $this->rTorrentStatus($value[13], $value[10], $value[6]);
+						if ($tempStatus == 'Seeding' && $this->config['rTorrentHideSeeding']) {
+							//do nothing
+						} elseif ($tempStatus == 'Finished' && $this->config['rTorrentHideCompleted']) {
+							//do nothing
+						} else {
+							$torrents[$key] = array(
+								'name' => $value[0],
+								'base' => $value[1],
+								'upTotal' => $value[2],
+								'size' => $value[3],
+								'downTotal' => $value[4],
+								'downloaded' => $value[5],
+								'connectionState' => $value[6],
+								'leech' => $value[7],
+								'seed' => $value[8],
+								'date' => $value[9],
+								'state' => ($value[10]) ? 'on' : 'off',
+								'group' => $value[11],
+								'hash' => $value[12],
+								'complete' => ($value[13]) ? 'yes' : 'no',
+								'ratio' => $value[14],
+								'label' => $value[20],
+								'status' => $tempStatus,
+								'temp' => $value[16] . ' - ' . $value[17] . ' - ' . $value[18],
+								'custom' => $value[19] . ' - ' . $value[20] . ' - ' . $value[21],
+								'custom2' => $value[22] . ' - ' . $value[23] . ' - ' . $value[24],
+							);
+						}
 					}
 				}
 				if (count($torrents) !== 0) {

+ 1 - 1
api/homepage/sonarr.php

@@ -197,7 +197,7 @@ trait SonarrHomepageItem
 		foreach ($list as $key => $value) {
 			try {
 				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], 'sonarr');
-				$results = $downloader->getSystemStatus();
+				$results = $downloader->getRootFolder();
 				$downloadList = json_decode($results, true);
 				if (is_array($downloadList) || is_object($downloadList)) {
 					$queue = (array_key_exists('error', $downloadList)) ? $downloadList['error']['msg'] : $downloadList;

+ 1 - 1
api/homepage/unifi.php

@@ -7,7 +7,7 @@ trait UnifiHomepageItem
 		return array(
 			'name' => 'Unifi',
 			'enabled' => true,
-			'image' => 'plugins/images/tabs/ubnt.png',
+			'image' => 'plugins/images/tabs/UniFi.png',
 			'category' => 'Monitor',
 			'settings' => array(
 				'Enable' => array(

+ 11 - 6
api/plugins/healthChecks.php

@@ -53,12 +53,17 @@ class HealthChecks extends Organizr
 		$options = array('verify' => false, 'verifyname' => false, 'follow_redirects' => true, 'redirects' => 1);
 		$headers = array('Token' => $this->config['organizrAPI']);
 		$url = $this->qualifyURL($url);
-		$response = Requests::get($url, $headers, $options);
-		if ($response->success) {
-			$success = true;
-		}
-		if ($response->status_code == 200) {
-			$success = true;
+		try {
+			$response = Requests::get($url, $headers, $options);
+			if ($response->success) {
+				$success = true;
+			}
+			if ($response->status_code == 200) {
+				$success = true;
+			}
+		} catch (Requests_Exception $e) {
+			$this->writeLog('error', 'HealthChecks Plugin - Error: ' . $e->getMessage(), 'SYSTEM');
+			return false;
 		}
 		return $success;
 	}

+ 4 - 2
api/vendor/kryptonit3/sonarr/src/Sonarr.php

@@ -649,14 +649,15 @@ class Sonarr
     {
 	    try {
 		    $versionCheck = $this->getSystemStatus();
-		    $versionCheck = json_decode($versionCheck)['version'];
+		    $versionCheck = json_decode($versionCheck, true);
+		    $versionCheck = (is_array($versionCheck) && array_key_exists('version', $versionCheck)) ? $versionCheck['version'] : '1.0';
 		    $compare = new Comparator;
 		    switch ($this->type){
 			    case 'sonarr':
 				    $versionCheck = '';
 				    break;
 			    case 'radarr':
-			    	$versionCheck =  ($compare->lessThan('2.9.9', $versionCheck)) ? '' : 'v3/';
+			    	$versionCheck =  ($compare->lessThan('2.9.9', $versionCheck)) ? 'v3/' : '';
 			    	break;
 			    case 'lidarr':
 				    $versionCheck = 'v1/';
@@ -714,6 +715,7 @@ class Sonarr
 		
 		    exit();
 	    }
+	    return $response->getBody()->getContents();
     }
 
     /**

+ 618 - 0
js/langpack/tr[Turkish].json

@@ -0,0 +1,618 @@
+{
+    "token": {
+        "Navigation": "Navigasyon",
+        "Date": "Tarih",
+        "Type": "Tür",
+        "IP Address": "IP Adresi",
+        "Username": "Kullanıcı Adı",
+        "Message": "Mesaj",
+        "My Profile": "Profilim",
+        "Account Settings": "Hesap Ayarları",
+        "Login/Register": "Giriş/Kayıt",
+        "Logout": "Çıkış",
+        "Inbox": "Gelen Kutusu",
+        "Go Back": "Geri Git",
+        "Reset": "Sıfırla",
+        "Email": "Eposta",
+        "Enter your Email and instructions will be sent to you!": "Eposta adresinizi girin ve talimatlar size gönderilsin!",
+        "Register": "Kayıt Ol",
+        "Registration Password": "Kaydolma Parolası",
+        "Recover Password": "Kurtarma Parolası",
+        "Password": "Şifre",
+        "Sign Up": "Hesap Oluştur",
+        "Don't have an account?": "Hesabınız yok mu?",
+        "Forgot pwd?": "Şifreyi mi unuttunuz?",
+        "Remember Me": "Beni Hatırla",
+        "Login": "Giriş",
+        "Installed": "Kurulu",
+        "Install Update": "Güncellemeyi Kur",
+        "Organizr Versions": "Organizr Sürümleri",
+        "About": "Hakkında",
+        "Organizr Logs": "Organizr Logları",
+        "Main Settings": "Genel Ayarlar",
+        "Updates": "Güncellemeler",
+        "Logs": "Loglar",
+        "Main": "Genel",
+        "Plugins": "Eklentiler",
+        "Manage Users": "Kullanıcıları Yönet",
+        "Customize Organizr": "Organizr'ı Özelleştir",
+        "Edit Categories": "Kategorileri Düzenle",
+        "Edit Tabs": "Sekmeleri Düzenle",
+        "Tabs": "Sekmeler",
+        "System Settings": "Sistem Ayarları",
+        "User Management": "Kullanıcı Yönetimi",
+        "Customize": "Özelleştir",
+        "Tab Editor": "Sekme Düzenleyicisi",
+        "Settings": "Ayarlar",
+        "Organizr Settings": "Organizr Ayarları",
+        "Categories": "Kategoriler",
+        "Login Logs": "Giriş Logları",
+        "Login Log": "Giriş Logu",
+        "Organizr Log": "Organizr Logu",
+        "FIXED": "SABİT",
+        "NEW": "YENİ",
+        "NOTE": "NOT",
+        "Update Available": "Güncelleme Mevcut",
+        "is available, goto": "mevcut, git",
+        "Update Tab": "Sekmeyi Güncelle",
+        "Database Name:": "Veritabanı Adı:",
+        "Database Name": "Veritabanı Adı",
+        "Database Location:": "Veritabanı Yeri:",
+        "Database Location": "Veritabanı Yeri:",
+        "Hover to show": "Göster",
+        "API Key:": "API Anahtarı:",
+        "API Key": "API Anahtarı",
+        "Registration Password:": "Kayıt Parolası:",
+        "Hash Key:": "Hash Anahtarı:",
+        "Hash Key": "Hash Anahtarı",
+        "Password:": "Şifre:",
+        "Attention": "Dikkat",
+        "The Hash Key will be used to decrypt all passwords etc... on the server.": "Hash Anahtarı sunucudaki hassas verileri şifrelemek için kullanılacaktır.",
+        "The API Key will be used for all calls to organizr for the UI. [Auto-Generated]": "API Anahtarı Organizr ara yüzüne yapılacak istekler için kullanılacaktır. [Otomatik Oluşturulur]",
+        "Notice": "Bildirim",
+        "Business": "İş",
+        "Personal": "Kişisel",
+        "Choose License": "Lisans Tipi Seçin",
+        "Install Type": "Kurulum Türü",
+        "Verify": "Doğrula",
+        "Database": "Veritabanı",
+        "Security": "Güvenlik",
+        "Admin Info": "Yönetici Bilgisi",
+        "Parent Directory:": "Ana Dizin:",
+        "Admin Creation": "Yönetici Oluşturma",
+        "The Database will contain sensitive information.  Please place in directory outside of root Web Directory.": "Veritabanı hassas veri içerir. Lütfen kök web dizini dışına yerleştirin.",
+        "MANAGE": "YÖNET",
+        "CATEGORY": "KATEGORİ",
+        "ADDED": "EKLENDİ",
+        "NAME & EMAIL": "İSİM & EPOSTA",
+        "MANAGE USERS": "KULLANICILARI YÖNET",
+        "Add User": "Kullanıcı Ekle",
+        "Manage Groups": "Grupları Yönet",
+        "Choose Language": "Dil Seç",
+        "Welcome": "Hoşgeldiniz",
+        "License": "Lisans",
+        "Webserver Version": "Web Sunucu Sürümü",
+        "PHP Version": "PHP Sürümü",
+        "Organizr Branch": "Organizr Kolu",
+        "Organizr Version": "Organizr Sürümü",
+        "Information": "Bilgi",
+        "Below you will find all the links for everything that has to do with Organizr": "Aşağıda Organizr ile ilgili tüm bağlantıları bulabilirsiniz.",
+        "Loading...": "Yüleniyor...",
+        "Donate": "Bağış Yap",
+        "Edit Group": "Grubu Düzenle",
+        "For icons, use the following format:": "Simgeler için bu formatı kullan:",
+        "For images, use the following format:": "Resimler için bu formatı kullan:",
+        "You may use an image or icon in this field": "Bu alanda simge veya resim kullanabilirsiniz",
+        "Image Legend": "Resim Lejant",
+        "Category Image": "Kategori Resmi",
+        "Category Name": "Kategori Adı",
+        "Edit Category": "Kategori Düzenle",
+        "Add Category": "Kategori Ekle",
+        "Add New Category": "Yeni Kategori Ekle",
+        "DELETE": "SİL",
+        "EDIT": "DÜZENLE",
+        "DEFAULT": "VARSAYILAN",
+        "TABS": "SEKMELER",
+        "NAME": "İSİM",
+        "Category Editor": "Kategori Düzenleyicisi",
+        "Tab Image": "Sekme Resmi",
+        "Tab URL": "Sekme URL",
+        "Tab Name": "Sekme Adı",
+        "Edit Tab": "Sekme Düzenle",
+        "Add Tab": "Sekme Ekle",
+        "Add New Tab": "Yeni Sekme Ekle",
+        "SPLASH": "SERPME ALANI",
+        "ACTIVE": "ETKİN",
+        "TYPE": "TÜR",
+        "GROUP": "GRUP",
+        "Delete": "Sil",
+        "No": "Hayır",
+        "Yes": "Evet",
+        "Deleted Category": "Kategori Sil",
+        "Add New User": "Yeni Kullanıcı Ekle",
+        "EMAIL": "EPOSTA",
+        "Deleted User": "Kullanıcı Sil",
+        "Category Order Saved": "Kategori Sıralaması Kaydedildi",
+        "Group Image": "Grup Resmi",
+        "Group Name": "Grup Adı",
+        "Add Group": "Grup Ekle",
+        "Add New Group": "Yeni Grup Ekle",
+        "USERS": "KULLANICILAR",
+        "GROUP NAME": "GRUP ADI",
+        "MANAGE GROUPS": "GRUPLARI YÖNET",
+        "Changed Language To": "Dili Değiştir",
+        "Groups": "Gruplar",
+        "Users": "Kullanıcılar",
+        "Appearance": "Görünüm",
+        "Customize Appearance": "Görünümü Özelleştir",
+        "Request Me!": "Beni İste!",
+        "Would you like to Request it?": "Talep etmek istiyor musunuz?",
+        "No Results for:": "Uygun sonuç yok:",
+        "Nothing in queue": "Sırada bir şey yok",
+        "Nothing in history": "Geçmişte bir şey yok",
+        "Nothing in hitsory": "Geçmişte bir şey yok",
+        "Load More": "Daha Yükle",
+        "Request": "Talep",
+        "No Results": "Sonuç Yok",
+        "Airs Today TV": "Airs Today TV",
+        "Popular TV": "Popüler TV",
+        "Top TV": "Top TV",
+        "Upcoming Movies": "Gelecek Filmler",
+        "Popular Movies": "Popüler Filmler",
+        "Top Movies": "Top Filmler",
+        "In Theatres": "Sinemalarda",
+        "Suggestions": "Öneriler",
+        "TV": "TV",
+        "Movie": "Film",
+        "Denied": "Reddedildi",
+        "Unapproved": "Onaylanmadı",
+        "Approved": "Onaylandı",
+        "Unavailable": "Müsait Değil",
+        "Available": "Müsait",
+        "Recently Added": "Yeni Eklenen",
+        "Active": "Etkin",
+        "Requested By:": "Tarafından Talep Edildi:",
+        "Request Options": "Talep Seçenekleri",
+        "Deny": "Reddet",
+        "OK": "TAMAM",
+        "Seconds": "Saniye",
+        "Verify Password": "Şifreyi Doğrula",
+        "Account Information": "Hesap Bilgileri",
+        "Inactive Plugins": "Devre Dışı Eklentiler",
+        "Active Plugins": "Etkin Eklentiler",
+        "Inactive": "Devre Dışı",
+        "Everything Active": "Her Şey Etkin",
+        "Nothing Active": "Hiçbir Şey Etkin Değil",
+        "Choose Plex Machine": "Plex Cihazı Seç",
+        "Test Speed to Server": "Sunucuya Bağlanma Hızını Test Et",
+        "Test Server Speed": "Sunucu Hızını Test Et",
+        "Subject": "Konu",
+        "To:": "Kime:",
+        "Email Users": "Kullanıcılara Posta Gönder",
+        "E-Mail Center": "E-Posta Merkezi",
+        "You have been invited. Please goto ": "Davet edildiniz. Lütfen takip edin ",
+        "Use Invite Code": "Davet Kodu Kullan",
+        "VALID": "GEÇERLİ",
+        "IP ADDRESS": "IP ADRESİ",
+        "USED BY": "KULLANAN",
+        "DATE USED": "KULLANILDIĞI TARİH",
+        "DATE SENT": "GÖNDERİLDİĞİ TARİH",
+        "INVITE CODE": "DAVET KODU",
+        "USERNAME": "KULLANICI ADI",
+        "Manage Invites": "Davetleri Yönet",
+        "No Invites": "Davet Yok",
+        "Create/Send Invite": "Davet Oluştur/Gönder",
+        "Name or Username": "Adı ya da Kullanıcı Adı",
+        "New Invite": "Yeni Davet",
+        "Hover to show ": "Göster ",
+        "Parent Directory: ": "Ana Dizin: ",
+        "The Database will contain sensitive information. Please place in directory outside of root Web Directory.": "Veritabanı hassas bilgi içerir. Lütfen ana web dizini dışına yerleştirin.",
+        "I Want to Help": "Yardımcı Olmak İstiyorum",
+        "Head on over to POEditor and help us translate Organizr into your language": "Organizr'ı kendi dilinize çevirmek için POEditor'e gidin ve çeviriye yardımcı olun",
+        "Want to help translate?": "Çeviride yardımcı olmak ister misiniz?",
+        "Single Sign-On": "Tekil Giriş",
+        "Coming Soon...": "Yakında...",
+        "Homepage Order": "Ana Sayfa Sıralama",
+        "Homepage Items": "Ana Sayfa Nesneleri",
+        "Image Manager": "Resim Yöneticisi",
+        "Edit User": "Kullanıcıyı Düzenle",
+        "Password Again": "Şifre Tekrar",
+        "Template": "Şablon",
+        "Plex Machine": "Plex Cihazı",
+        "Get Plex Machine": "Plex Cihazı Al",
+        "Grab It": "Al",
+        "Plex Password": "Plex Şifre",
+        "Plex Username": "Plex Kullanıcı Adı",
+        "Enter Plex Details": "Plex Bilgilerini Gir",
+        "Get Plex Token": "Plex Token Al",
+        "Upload Image": "Resim Yükle",
+        "View Images": "Resimleri Gör",
+        "Reload": "Yeniden Yükle",
+        "Unlock": "Kilit Aç",
+        "Browser Information": "Tarayıcı Bilgisi",
+        "Web Folder": "Web Dizini",
+        "Dependencies Missing": "Bağımlılıklar Eksik",
+        "Organizr Dependency Check": "Organizr Bağımlılık Kontrolü",
+        "Please make sure both Token and Machine are filled in": "Lütfen hem Token hem Cihaz alanlarının doldurulduğundan emin olun",
+        "Loading Requests...": "Talepler Yükleniyor...",
+        "Loading Recent...": "En Yeniler Yükleniyor...",
+        "Loading Now Playing...": "Şimdi Oynatılanlar Yükleniyor...",
+        "Loading Playlists...": "Çalma Listeleri Yükleniyor...",
+        "Loading Download Queue...": "İndirme Sırası Yükleniyor...",
+        "Organizr Mod Picks": "Organizr Mod Seçimi",
+        "Requests": "Talepler",
+        "Become Sponsor": "Sponsor Ol",
+        "Splash Page": "Serpme Alanı Sayfası",
+        "Lock Screen": "Kilit Ekranı",
+        "If you signed in with a Emby Acct... Please use the following link to change your password there:": "Eğer bir Emby hesabı ile giriş yaptıysanız şifrenizi orada değiştirmek için bağlantıyı takip edin:",
+        "Password Notice": "Şifre Bildirimi",
+        "If you signed in with a Plex Acct... Please use the following link to change your password there:": "Eğer bir Plex hesabı ile giriş yaptıysanız şifrenizi orada değiştirmek için bağlantıyı takip edin:",
+        "Active Tokens": "Etkin Tokenlar",
+        "Deactivate": "Devre Dışı Bırak",
+        "Activate": "Etkinleştir",
+        "Current": "Mevcut",
+        "Save": "Kaydet",
+        "STATUS": "DURUM",
+        "PLUGIN": "ETKLENTİ",
+        "Plugin Marketplace": "Eklenti Mağazası",
+        "Marketplace": "Mazağa",
+        "Chat": "Sohbet",
+        "Current Directory: ": "Mevcut Dizin: ",
+        "Suggested Directory: ": "Önerilen Dizin: ",
+        "The Registration Password will lockout the registration field with this password. {User-Generated]": "Kayıt parolası kayıt alanını kilitlemek için kullanılır. {Kullanıcı-Oluşturur}",
+        "The Hash Key will be used to decrypt all passwords etc... on the server. {User-Generated]": "Hash Anahtarı sunucudaki hassas verileri şifrelemek için kullanılacaktır. {Kullanıcı-Oluşturur}",
+        "If using Plex or Emby - It is suggested that you use the username and email of the Admin account.": "Plex veya Emby kullanıyorsanız, yönetici hesabının kullanıcı adı ve eposta adresini kullanmanız önerilir.",
+        "Business has Media items hidden [Plex, Emby etc...]": "İş lisansı [Plex, Emby vb. gibi] medya uygulamalarını gizler",
+        "Personal has everything unlocked - no restrictions": "Kişisel lisans her şeyi açık tutar - gizleme olmaz",
+        "Continue To Website": "Web Sitesine Devam Et",
+        "Patreon": "Patreon",
+        "Cryptos": "Cryptos",
+        "Square Cash": "Square Cash",
+        "PayPal": "PayPal",
+        "Beerpay.io": "Beerpay.io",
+        "Sponsors": "Sponsorlar",
+        "THEME": "TEMA",
+        "Theme Marketplace": "Tema Mağazası",
+        "Test Tab": "Sekmeyi Test Et",
+        "Select or type Icon": "Simge seç veya yaz",
+        "Choose Icon": "Simge Seç",
+        "Choose Image": "Resim Seç",
+        "Ping URL": "Ping URL",
+        "Please set tab as [New Window] on next screen": "Lütfen bir sonraki ekranda sekmeyi [Yeni Pencere] olarak ayarlayın",
+        "Tab can be set as iFrame": "Sekme iFrame olarak ayarlanabilir",
+        "Premier": "Prömiyer",
+        "Missing": "Eksik",
+        "Unaired": "Yayınlanmamış",
+        "Downloaded": "İndirilmiş",
+        "All": "Tümü",
+        "Choose Media Status": "Medya Durumu Seç",
+        "Music": "Müzik",
+        "Choose Media Type": "Medya Türü Seç",
+        "PHP Version Check": "PHP Sürüm Kontrolü",
+        "Don\\'t have an account?": "Hesabın yok mu?",
+        "The value of #987654 is just a placeholder, you can change to any value you like.": "#987654 değeri sadece yer tutucu olup herhangi bir değerle değiştirebilirsiniz.",
+        "This is not the same as database authentication - i.e. Plex Authentication | Emby Authentication | FTP Authentication": "Bu veritabanı kimlik doğrulaması ile aynı değildir. Örneğin Plex, Emby, FTP Kimlik doğrulama",
+        "Status: [ ": "Durum: [",
+        "This module requires XMLRPC": "Bu modül XMLRPC gerektirir",
+        "Misc Options": "Çeşitli Seçenekler",
+        "Search My Media": "Medya Ara",
+        "Import Plex Users": "Plex Kullanıcılarını İçeri Aktar",
+        "Import": "İçeri Aktar",
+        "INSTALL": "KUR",
+        "INFO": "BİLGİ",
+        "Day": "Gün",
+        "Week": "Hafta",
+        "Month": "Ay",
+        "List": "Liste",
+        "Streams": "Yayınlar",
+        "javascript:void(0)": "javascript:void(0)",
+        "Request Show or Movie": "Şov veya Film Talep Et",
+        "Mark as Unavailable": "Müsait Değil Olarak İşaretle",
+        "Mark as Available": "Müsait Olarak İşaretle",
+        "Approve": "Onayla",
+        "Start": "Başlat",
+        "Everyone Refresh Seconds": "Herkes için Yenileme Süresi",
+        "Admin Refresh Seconds": "Yönetici için Yenileme Süresi",
+        "Minimum Authentication for Time Display": "Zaman Görünümü için Minimum Kimlik",
+        "Show Ping Time": "Pin Süresini Göster",
+        "Offline Sound": "Çevrimdışı Sesi",
+        "Online Sound": "Çevrimiçi Sesi",
+        "Minimum Authentication for Message and Sound": "Mesaj ve Ses için Minimum Kimlik",
+        "Minimum Authentication": "Minimum Kimlik",
+        "Nginx Auth Debug": "Nginx Auth Debug",
+        "Hide Registration": "Kayıt Formunu Gizle",
+        "Lockout Groups To": "Gruplara Kilitle",
+        "Lockout Groups From": "Gruplardan Kilitle",
+        "Inactivity Lock": "Hareketsizlik Kilidi",
+        "Inactivity Timer [Minutes]": "Hareketsizlik Süresi [Dakika]",
+        "Emby Token": "Emby Token",
+        "http(s)://hostname:port": "http(s)://alanadi:port",
+        "Emby URL": "Emby URL",
+        "cn=%s,dc=sub,dc=domain,dc=com": "cn=%s,dc=sub,dc=domain,dc=com",
+        "Host Base DN": "Alan Temel DN",
+        "http{s) | ftp(s) | ldap(s)://hostname:port": "http{s) | ftp(s) | ldap(s)://alanadi:port",
+        "Host Address": "Sunucu Adresi",
+        "Enable Plex oAuth": "Plex oAuth Etkinleştir",
+        "Retrieve": "Getir",
+        "Use Get Plex Machine Button": "Plex Cihazı Al Tuşunu Kullan",
+        "Use Get Token Button": "Token Al Tuşunu Kullan",
+        "Plex Token": "Plex Token",
+        "Authentication Backend": "Kimlik Doğrulama Yöntemi",
+        "Authentication Type": "Kimlik Doğrulama Türü",
+        "Generate": "Oluştur",
+        "Generate New API Key": "Yeni API Anahtarı Oluştur",
+        "Organizr API": "Organizr API",
+        "Force Install Branch": "Kolu Kurmaya Zorla",
+        "Branch": "Kol",
+        "SSO": "SSO",
+        "Enable": "Etkinleştir",
+        "Tautulli URL": "Tautulli URL",
+        "Ombi URL": "Ombi URL",
+        "Plex Note": "Plex Not",
+        "Admin username for Plex": "Plex için yönetici kullanıcı adı",
+        "Admin Username": "Yönetici Kullanıcı Adı",
+        "Click Main on the sub-menu above.": "Yukarıdaki alt menüde Temel'i tıklayın.",
+        "Important Information": "Önemli Bilgi",
+        "PING": "PING",
+        "Custom HTML/JavaScript": "Özel HTML/Javascript",
+        "CustomHTML-2": "OzelHTML-2",
+        "CustomHTML-1": "OzelHTML-1",
+        "Refresh Seconds": "Yenileme Süresi (Saniye)",
+        "Limit to User": "Kullanıcıya Limitli",
+        "Minimum Group to Request": "Talep için Minimum Grup",
+        "Token": "Token",
+        "URL": "URL",
+        "Ombi": "Ombi",
+        "Items Per Day": "Günlük Nesneler",
+        "Time Format": "Zaman Gösterim Şekli",
+        "Default View": "Varsayılan Görünüm",
+        "Start Day": "Başlangıç Günü",
+        "SickRage": "SickRage",
+        "CouchPotato": "CouchPotato",
+        "Test Connection": "Bağlantıyı Test Et",
+        "Please Save before Testing": "Lütfen Test Etmeden Önce Kaydedin",
+        "# of Days After": "# Gün Sonra",
+        "# of Days Before": "# Gün Önce",
+        "Radarr": "Radarr",
+        "Lidarr": "Lidarr",
+        "Show Unmonitored": "Takip Edilmeyenleri Göster",
+        "Sonarr": "Sonarr",
+        "Hide Completed": "Tamamlananları Gizle",
+        "Hide Seeding": "Yemlemeyi Gizle",
+        "Deluge": "Deluge",
+        "Order": "Sıralama",
+        "Status: [": "Durum: [",
+        "]": "]",
+        "rTorrent": "rTorrent",
+        "Reverse Sorting": "Ters Sıralama",
+        "qBittorrent": "qBittorrent",
+        "Transmission": "Aktarım",
+        "NZBGet": "NZBGet",
+        "SabNZBD": "SabNZBD",
+        "Image Cache Size": "Resim Önbellek Boyutu",
+        "Emby Tab WAN URL": "Emby Sekmesi WAN URL",
+        "Only use if you have Emby in a reverse proxy": "Sadece Emby reverse proxy üzerindeyse kullanın",
+        "Emby Tab Name": "Emby Sekme Adı",
+        "Item Limit": "Nesne Limiti",
+        "Minimum Authorization": "Minimum Kimlik",
+        "User Information": "Kullanıcı Bilgisi",
+        "Emby": "Emby",
+        "Plex Tab WAN URL": "Plex Sekmesi WAN URL",
+        "Only use if you have Plex in a reverse proxy": "Sadece Plex reverse proxy üzerindeyse kullanın",
+        "Plex Tab Name": "Plex Sekme Adı",
+        "Media Server": "Medya Sunucusu",
+        "Plex": "Plex",
+        "separate by comma's": "virgülle ayırın",
+        "iCal URL's": "iCal URL",
+        "Enable iCal": "iCal'i Etkinleştir",
+        "Calendar": "Takvim",
+        "Theme Javascript": "Javascript Tema",
+        "Custom Javascript": "Özel Javascript",
+        "Theme CSS [Can replace colors from above]": "Tema CSS [Yukarıdaki renkleri değiştirebilir]",
+        "Custom CSS [Can replace colors from above]": "Özel CSS [Yukarıdaki renkleri değiştirebilir]",
+        "Copy code and paste inside left box": "Kodu kopyalayıp soldaki kutu içerisine yapıştırın",
+        "Download and unzip file and place in": "Dosyayı indirip zipten çıkarın ve şuraya yerleştirin",
+        "Click [Generate your Favicons and HTML code]": "Tıkla [Kendi favicon ve HTML kodunuzu oluşturun]",
+        "Enter this path": "Bu adresi girin",
+        "At bottom of page on [Favicon Generator Options] under [Path] choose [I cannot or I do not want to place favicon files at the root of my web site.]": "Sayfanın altında [Favicon Oluşturma Seçenekleri] içerisinde [Adres] altında [Web sitemin ana dizinine favicon ekleyemem veya eklemek istemiyorum]u seçin.",
+        "Edit settings to your liking": "Ayarları dilediğiniz şekilde değiştirin",
+        "Choose your image to use": "Kullanılacak resmi seçin",
+        "Click [Select your Favicon picture]": "Tıkla [Favicon Resminizi Seçin]",
+        "Instructions": "Talimatlar",
+        "Fav Icon Code": "Favicon Kodu",
+        "Test Message": "Test Mesajı",
+        "Position": "Konum",
+        "Style": "Stil",
+        "Theme": "Tema",
+        "Button Text Color": "Tuş Yazı Rengi",
+        "Button Color": "Tuş rengi",
+        "Accent Text Color": "Şablon Yazı Rengi",
+        "Accent Color": "Şablon Rengi",
+        "Side Bar Text Color": "Yan Panel Yazı Rengi",
+        "Side Bar Color": "Yan Panel Rengi",
+        "Nav Bar Text Color": "Navigasyon Paneli Yazı Rengi",
+        "Nav Bar Color": "Navigasyon Paneli Rengi",
+        "Unsorted Tab Placement": "Sınıflandırılmamış Sekme Yerleşimi",
+        "Alternate Homepage Titles": "Ana Sayfa Başlıklarını Değiştir",
+        "Minimal Login Screen": "Minimal Giriş Ekranı",
+        "Login Wallpaper": "Giriş Arkaplanı",
+        "Use Logo instead of Title": "Başlık Yerine Logo Kullan",
+        "Title": "Başlık",
+        "Logo": "Logo",
+        "Import Users": "Kullanıcıları İçeri Aktar",
+        "Drop files here to upload": "Dosyaları yüklemek için buraya sürükleyin",
+        "SpeedTest Settings": "SpeedTest Ayarları",
+        "PHP Mailer Settings": "PHP Mailer Ayarları",
+        "Invites Settings": "Davet Ayarları",
+        "Chat Settings": "Sohbet Ayarları",
+        "Delete ": "Sil ",
+        "App Cluster": "Uygulama Kümesi",
+        "App ID": "Uygulama ID",
+        "API Secret": "API Şifre",
+        "Auth Key": "Auth Anahtarı",
+        "Use Pusher SSL": "Pusher SSL Kullan",
+        "Message Sound": "Mesaj Sesi",
+        "# of Previous Messages": "# Önceki Mesaj",
+        "Note": "Not",
+        "Libraries": "Kütüphaneler",
+        "Body": "Gövde",
+        "Name": "İsim",
+        "Template #4": "Şablon #4",
+        "Template #3": "Şablon #3",
+        "Template #2": "Şablon #2",
+        "Reminder Template": "Hatırlatıcı Şablonu",
+        "Invite User": "Kullanıcıyı Davet Et",
+        "Reset Password": "Şifreyi Sıfırla",
+        "New Registration": "Yeni Kayıt",
+        "Edit Template": "Şablonu Düzenle",
+        "Send Welcome E-Mail": "Hoşgeldin Maili Gönder",
+        "Full URL": "Tam URL",
+        "WAN Logo URL": "WAN Logo URL",
+        "https://domain.com/": "https://alanadi.com",
+        "Domain Link Override": "Alandı Bağlantı Üzerine Yaz",
+        "Send": "Gönder",
+        "Send Test": "Gönderim Testi",
+        "i.e. same as username": "yani kullanıcı adı ile aynı",
+        "Sender Email": "Gönderici Eposta",
+        "Sender Name": "Gönderici Adı",
+        "Verify Certificate": "Sertifikayı Doğrula",
+        "Authentication": "Kimlik Doğrulama",
+        "SMTP Port": "SMTP Port",
+        "SMTP Host": "SMTP Sunucu",
+        "Results For cmd:": "Komut sonucu:",
+        "Organizr Information:": "Organizr Bilgisi",
+        "DB Schema": "VT Şema",
+        "Misc SSO": "Çeşitli SSO",
+        "Tautulli SSO": "Tautulli SSO",
+        "Plex SSO": "Plex SSO",
+        "Ombi SSO": "Ombi SSO",
+        "Commands": "Komutlar",
+        "Input Command": "Komut Gir",
+        "Organizr Debug Area": "Organizr Denug Alanı",
+        "Google Ads": "Google Reklamları",
+        "DB Folder": "VT Dizini",
+        "API Folder": "API Dizini",
+        "Root Folder": "Kök Dizin",
+        "Organizr Paths": "Organizr Adresleri",
+        "Organizr News": "Organizr Haberleri",
+        "Close Error": "Hatayı Kapat",
+        "An Error Occured": "Bir Hata Oluştu",
+        "Debug Area": "Debug Alanı",
+        "Tab Local URL": "Sekme Yerel URL",
+        "PRELOAD": "ÖNYÜKLE",
+        "Use Ombi Alias Names": "Ombi Takma Adları Kullan",
+        "TV Show Default Request": "TV Şov Varsayılan Talep",
+        "Add to Combined Downloader": "Birleştirilmiş İndirmeye Ekle",
+        "http(s)://hostname:port/xmlrpc": "http(s)://sunucu:port/xmlrpc",
+        "rTorrent API URL Override": "rTorrent API URL Üzerine Yaz",
+        "Enable Notify Sounds": "Bildirim Seslerini Etkinleştir",
+        "Remember Me Length": "Beni Hatırla Süresi",
+        "Minimum Authentication for Debug Area": "Debug Alanı için Minimum Kimlik",
+        "Account DN": "Hesap DN",
+        "Bind Username": "Bin Kullanıcı Adı",
+        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "Hesap Eki - virgülle başla - ,ou=people,dc=domain,dc=tld",
+        "Account Suffix": "Hesap Eki",
+        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Hesap eki - yani Controller\\ from Controller\\Username for AD - uid= for OpenLDAP",
+        "Account Prefix": "Hesap Öneki",
+        "LDAP Backend Type": "LDAP Yöntemi",
+        "Strict Plex Friends": "Sınırlı Plex Arkadaşları",
+        "Unifi": "Unifi",
+        "Pi-hole": "Pi-hole",
+        "Check For Updates": "Güncellemeleri Kontrol Et",
+        "I will try and import new strings every Friday": "Her Cuma yeni metinleri içeri aktarmayı deneyeceğim",
+        "Custom definitions": "Özel tanımlar",
+        "Show on small screens": "Küçük ekranlarda göster",
+        "Show on medium screens": "Orta boy ekranlarda göster",
+        "Show on large screens": "Geniş ekranlarda göster",
+        "Size": "Boyut",
+        "Colour": "Renk",
+        "Chart": "Grafik",
+        "Data": "Veri",
+        "Info": "Bilgi",
+        "Netdata": "Netdata",
+        "Toggle Title": "Başlık Geçiş",
+        "Speedtest": "Speedtest",
+        "Unit of Measurement": "Ölçü Birimi",
+        "Enable Pollen": "Pollen'i Etkinleştir",
+        "Enable Air Quality": "Air Quality'i Etkinleştir",
+        "Enable Weather": "Hava Durumun Etkinleştir",
+        "Need Help With Coordinates?": "Koordinatlarla İlgili Yardım Mı Gerekiyor?",
+        "Longitude": "Boylam",
+        "Latitude": "Enlem",
+        "Weather-Air": "Hava",
+        "Compact view": "Kompakt görünüm",
+        "http://domain.com/monitorr/": "http://alanadi.com/monitorr/",
+        "Monitorr": "Monitorr",
+        "Top Platforms": "Zirve Platformlar",
+        "Top Users": "Zirve Kullanıcılar",
+        "http://<ip>:<port>": "http://<ip>:<port>",
+        "Tautulli": "Tautulli",
+        "Combine stat cards": "İstatistik kartlarını birleştir",
+        "http(s)://hostname:port/admin/": "http(s)://sunucu:port/admin/",
+        "Youtube API Key": "Youtube API Anahtarı",
+        "Misc": "Çeşitli",
+        "Multiple tags using CSV - tag1,tag2": "CSV kullanan çoklu etkiletler - etiket1, etiket2",
+        "Tags": "Etiketler",
+        "HealthChecks API URL": "HealthChecks API URL",
+        "HealthChecks": "HealthChecks",
+        "Get Unifi Site": "Get Unifi Site",
+        "Grab Unifi Site": "Grab Unifi Site",
+        "Site Name": "Site Adı",
+        "Unifi API URL": "Unifi API URL",
+        "Show Denied": "Reddedilenleri Göster",
+        "Show Unapproved": "Onaylanmayanları Göster",
+        "Show Approved": "Onaylananları Göster",
+        "Show Unavailable": "Müsait Olmayanları Göster",
+        "Show Available": "Müsait Olanları Göster",
+        "Disable Certificate Check": "Sertifika Kontrolünü Devre Dışı Bırak",
+        "Organizr appends the url with": "Organizr URL'ye ekleme yapar",
+        "unless the URL ends in": "URL şununla sonlanmıyorsa",
+        "ATTENTION": "DİKKAT",
+        "API Version": "API sürümü",
+        "JDownloader": "JDownloader",
+        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http(s)://sunucu:port - Jellyfin ise URL'nin /jellyfin olarak sonlandığından emin olun",
+        "Emby-Jellyfin": "Emby-Jellyfin",
+        "Tab Auto Action Minutes": "Sekme Otomatik İşlem Süresi (Dakika)",
+        "Tab Auto Action": "Sekme Otomatik İşlemi",
+        "To revert back to default, save with no value defined in the relevant field.": "Varsayılana dönmek için ilgili alana değer girmeden kaydedin.",
+        "e.g. UA-XXXXXXXXX-X": "örneğin UA-XXXXXXXXX-X",
+        "Google Analytics Tracking ID": "Google Analytics Takip ID",
+        "Show Debug Errors": "Debug Hatalarını Göster",
+        "Use Logo instead of Title on Login Page": "Giriş Sayfasında Başlık Yerine Logo Kullan",
+        "Login Logo": "Giriş Logosu",
+        "Meta Description": "Meta Açıklaması",
+        "HealthChecks Settings": "HealthChecks Ayarları",
+        "AdamSmith": "AdamSmith",
+        "Emby User to be used as template for new users": "Yeni kullanıcılar için şablon olarak kullanılacak Emby kullanıcısı",
+        "localhost:8086": "localhost:8086",
+        "Emby server adress": "Emby sunucu adresi",
+        "enter key from emby": "Emby'den anahtar girin",
+        "Emby API key": "Emby API anahtarı",
+        "Music Labels (comma separated)": "Müzik Etiketleri (virgülle ayrılmış)",
+        "Movies Labels (comma separated)": "Film Etiketleri (virgülle ayrılmış)",
+        "TV Labels (comma separated)": "TV Etiketleri (virgülle ayrılmış)",
+        "Template #1": "Şablon #1",
+        "Enable Debug Output on Email Test": "Test Epostasında Debug Çıktısını Etkinleştir",
+        "i.e. 10.0.0.0/24 or 10.0.0.20": "örneğin 10.0.0.0/24 or 10.0.0.20",
+        "Auth Proxy Whitelist": "Auth Proxy Beyaz Liste",
+        "i.e. X-Forwarded-User": "örneğin X-Forwarded-User",
+        "Auth Proxy Header Name": "Auth Proxy Header Adı",
+        "Auth Proxy": "Auth Proxy",
+        "Enable Local Address Forward": "Yerel Adres Yönlendirmeyi Etkinleştir",
+        "http://home.local": "http://home.local",
+        "Local Address": "Yerel Adres",
+        "only domain and tld - i.e. domain.com": "sadece alan adı ve ve tld - yani alanadi.com gibi",
+        "WAN Domain": "WAN Alanadı",
+        "i.e. 123.123.123.123": "örneğin 123.123.123.123",
+        "Override Local IP To": "Yerel IP Bitiş",
+        "Override Local IP From": "Yerel IP Başlangıç",
+        "Disable Image Dropdown": "Açılır Resim Listesini Devre Dışı Bırak",
+        "Disable Icon Dropdown": "Açılır Simge Listesini Devre Dışı Bırak",
+        "Enable Traefik Auth Redirect": "Traefik Auth Yönlendirmeyi Etkinleştir",
+        "iFrame Sandbox": "iFrame Sandbox",
+        "Login Lockout Seconds": "Giriş Kilitleme Süresi (Saniye)",
+        "Max Login Attempts": "Maksimum Giriş Denemesi",
+        "Test Login": "Test Girişi",
+        "Ignore External 2FA on Local Subnet": "Yerel Ağda Harici 2FA Zorunlu Tutma"
+    }
+}

+ 8 - 1
js/version.json

@@ -288,9 +288,16 @@
   },
   "2.1.60": {
     "date": "2020-11-06 19:40",
-    "title": "",
+    "title": "Make sure to read about 2.1.0 before updating",
     "new": "Radarr Unmonitored/Cinema Toggles|update class for arrs to check version of api",
     "fixed": "Fix User list error (#1487)|fix Weather Homepage Item Not Showing (#1498)|update healthchecks plugin to reflect cert temp change|fix chat plugin|Add IncludeItemTypes to emby recent items - fixes issue with having newly added tv channels|fix menu bug|user mgmt goto last page instead of first on error|iCal not showing up if solo enabled|Healthchecks cert failing|Weather css|OC backer with no image",
     "notes": "Added new tab icons|Added new languages and updated existing ones|Please join our discord if you have any issues|Please report bugs in GitHub issues page"
+  },
+  "2.1.74": {
+    "date": "2020-11-13 18:00",
+    "title": "Weekly update",
+    "new": "Add group to auth header",
+    "fixed": "fix Traefik Redirection adds an . at ending (#1484)|fix issue with special character in password rutorrent module (#1511)|Unifi homepage item image|Radarr Test button|Sonarr Test button|Lidarr Test button|Arrs homepage items|rtorrent array fix|Healthchecks plugin",
+    "notes": "Add Turkish language|Please join our discord if you have any issues|Please report bugs in GitHub issues page"
   }
 }