Browse Source

Merge pull request #1503 from causefx/v2-develop

V2 develop
causefx 5 năm trước cách đây
mục cha
commit
75888a2028
44 tập tin đã thay đổi với 2870 bổ sung268 xóa
  1. 2 2
      api/classes/organizr.class.php
  2. 6 1
      api/config/default.php
  3. 2 2
      api/homepage/calendar.php
  4. 1 1
      api/homepage/emby.php
  5. 1 1
      api/homepage/healthchecks.php
  6. 3 3
      api/homepage/lidarr.php
  7. 69 14
      api/homepage/radarr.php
  8. 3 3
      api/homepage/sonarr.php
  9. 1 1
      api/homepage/weather.php
  10. 6 1
      api/pages/settings-user-manage-users.php
  11. 17 11
      api/plugins/chat.php
  12. 3 2
      api/plugins/healthChecks.php
  13. 2 1
      api/vendor/kryptonit3/sonarr/composer.json
  14. 63 11
      api/vendor/kryptonit3/sonarr/src/Sonarr.php
  15. 11 2
      css/organizr.css
  16. 0 0
      css/organizr.min.css
  17. 1 1
      css/themes/Organizr.css
  18. 6 1
      js/custom.js
  19. 0 0
      js/custom.min.js
  20. 41 27
      js/functions.js
  21. 99 1
      js/langpack/de-ch[German (Switzerland)].json
  22. 26 26
      js/langpack/de[German].json
  23. 99 1
      js/langpack/el[Greek].json
  24. 12 12
      js/langpack/es[Spanish].json
  25. 618 0
      js/langpack/et[Estonian].json
  26. 17 17
      js/langpack/fi[Finnish].json
  27. 1 1
      js/langpack/hu[Hungarian].json
  28. 134 36
      js/langpack/it[Italian].json
  29. 618 0
      js/langpack/ja[Japanese].json
  30. 618 0
      js/langpack/lv[Latvian].json
  31. 75 75
      js/langpack/nl[Dutch].json
  32. 1 1
      js/langpack/pl[Polish].json
  33. 99 1
      js/langpack/sk[Slovak].json
  34. 99 1
      js/langpack/sl[Slovenian].json
  35. 10 10
      js/langpack/sv[Swedish].json
  36. 99 1
      js/langpack/zh[Chinese].json
  37. 7 0
      js/version.json
  38. BIN
      plugins/images/tabs/UniFi.png
  39. BIN
      plugins/images/tabs/dozzle.png
  40. BIN
      plugins/images/tabs/gitea.png
  41. BIN
      plugins/images/tabs/homebridge.png
  42. BIN
      plugins/images/tabs/ubnt.png
  43. BIN
      plugins/images/tabs/unifi-protect.png
  44. BIN
      plugins/images/tabs/unraid.png

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

@@ -58,7 +58,7 @@ class Organizr
 	
 	// ===================================
 	// Organizr Version
-	public $version = '2.1.0';
+	public $version = '2.1.60';
 	// ===================================
 	// Quick php Version check
 	public $minimumPHP = '7.2';
@@ -3693,7 +3693,7 @@ class Organizr
 				case 'homepageOrdercalendar':
 					$class = 'bg-primary';
 					$image = 'plugins/images/tabs/calendar.png';
-					if (!$this->config['homepageSonarrEnabled'] && !$this->config['homepageRadarrEnabled'] && !$this->config['homepageSickrageEnabled'] && !$this->config['homepageCouchpotatoEnabled']) {
+					if (!$this->config['homepageCalendarEnabled'] && !$this->config['homepageSonarrEnabled'] && !$this->config['homepageRadarrEnabled'] && !$this->config['homepageSickrageEnabled'] && !$this->config['homepageCouchpotatoEnabled']) {
 						$class .= ' faded';
 					}
 					break;

+ 6 - 1
api/config/default.php

@@ -66,6 +66,10 @@ return array(
 	'lidarrSocksEnabled' => false,
 	'lidarrSocksAuth' => '999',
 	'radarrURL' => '',
+	'radarrUnmonitored' => false,
+	'radarrPhysicalRelease' => true,
+	'radarrDigitalRelease' => false,
+	'radarrCinemaRelease' => false,
 	'radarrToken' => '',
 	'radarrSocksEnabled' => false,
 	'radarrSocksAuth' => '999',
@@ -436,5 +440,6 @@ return array(
 	'githubMenuLink' => true,
 	'organizrSupportMenuLink' => true,
 	'organizrDocsMenuLink' => true,
-	'organizrSignoutMenuLink' => true
+	'organizrSignoutMenuLink' => true,
+	'breezometerToken' => 'd95ab607392d4fa5bf64bb26a5cb2a06'
 );

+ 2 - 2
api/homepage/calendar.php

@@ -5,7 +5,7 @@ trait CalendarHomepageItem
 	public function calendarSettingsArray()
 	{
 		return array(
-			'name' => 'Calendar',
+			'name' => 'iCal',
 			'enabled' => strpos('personal', $this->config['license']) !== false,
 			'image' => 'plugins/images/tabs/calendar.png',
 			'category' => 'HOMEPAGE',
@@ -126,7 +126,7 @@ trait CalendarHomepageItem
 			$this->homepageItemPermissions($this->lidarrHomepagePermissions('calendar')) ||
 			$this->homepageItemPermissions($this->sickrageHomepagePermissions('calendar')) ||
 			$this->homepageItemPermissions($this->couchPotatoHomepagePermissions('calendar')) ||
-			$this->homepageItemPermissions($this->calendarHomepagePermissions('calendar'))
+			$this->homepageItemPermissions($this->calendarHomepagePermissions('main'))
 		) {
 			return '
 				<div id="' . __FUNCTION__ . '">

+ 1 - 1
api/homepage/emby.php

@@ -338,7 +338,7 @@ trait EmbyHomepageItem
 						break;
 					}
 				}
-				$url = $url . '/Users/' . $userId . '/Items/Latest?EnableImages=true&Limit=' . $this->config['homepageRecentLimit'] . '&api_key=' . $this->config['embyToken'] . ($showPlayed ? '' : '&IsPlayed=false') . '&Fields=Overview,People,Genres,CriticRating,Studios,Taglines';
+				$url = $url . '/Users/' . $userId . '/Items/Latest?EnableImages=true&Limit=' . $this->config['homepageRecentLimit'] . '&api_key=' . $this->config['embyToken'] . ($showPlayed ? '' : '&IsPlayed=false') . '&Fields=Overview,People,Genres,CriticRating,Studios,Taglines&IncludeItemTypes=Series,Episode,MusicAlbum,Audio,Movie,Video';
 			} else {
 				$this->setAPIResponse('error', 'Emby Error Occurred', 500);
 				return false;

+ 1 - 1
api/homepage/healthchecks.php

@@ -115,7 +115,7 @@ trait HealthChecksHomepageItem
 			$url = $this->qualifyURL($this->config['healthChecksURL']) . '/' . $tags;
 			try {
 				$headers = array('X-Api-Key' => $token);
-				$options = ($this->localURL($url)) ? array('verify' => false) : array();
+				$options = ($this->localURL($url)) ? array('verify' => false) : array('verify' => $this->getCert());
 				$response = Requests::get($url, $headers, $options);
 				if ($response->success) {
 					$healthResults = json_decode($response->body, true);

+ 3 - 3
api/homepage/lidarr.php

@@ -162,7 +162,7 @@ trait LidarrHomepageItem
 		$list = $this->csvHomepageUrlToken($this->config['lidarrURL'], $this->config['lidarrToken']);
 		foreach ($list as $key => $value) {
 			try {
-				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], true);
+				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], 'lidarr');
 				$results = $downloader->getSystemStatus();
 				$downloadList = json_decode($results, true);
 				if (is_array($downloadList) || is_object($downloadList)) {
@@ -242,7 +242,7 @@ trait LidarrHomepageItem
 		$list = $this->csvHomepageUrlToken($this->config['lidarrURL'], $this->config['lidarrToken']);
 		foreach ($list as $key => $value) {
 			try {
-				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], true);
+				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], 'lidarr');
 				$results = $downloader->getQueue();
 				$downloadList = json_decode($results, true);
 				if (is_array($downloadList) || is_object($downloadList)) {
@@ -275,7 +275,7 @@ trait LidarrHomepageItem
 		$list = $this->csvHomepageUrlToken($this->config['lidarrURL'], $this->config['lidarrToken']);
 		foreach ($list as $key => $value) {
 			try {
-				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], true);
+				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], 'lidarr');
 				$results = $downloader->getCalendar($startDate, $endDate);
 				$result = json_decode($results, true);
 				if (is_array($result) || is_object($result)) {

+ 69 - 14
api/homepage/radarr.php

@@ -155,6 +155,30 @@ trait RadarrHomepageItem
 						'label' => 'Refresh Seconds',
 						'value' => $this->config['calendarRefresh'],
 						'options' => $this->timeOptions()
+					),
+					array(
+						'type' => 'switch',
+						'name' => 'radarrUnmonitored',
+						'label' => 'Show Unmonitored',
+						'value' => $this->config['radarrUnmonitored']
+					),
+					array(
+						'type' => 'switch',
+						'name' => 'radarrPhysicalRelease',
+						'label' => 'Show Physical Release',
+						'value' => $this->config['radarrPhysicalRelease']
+					),
+					array(
+						'type' => 'switch',
+						'name' => 'radarrDigitalRelease',
+						'label' => 'Show Digital Release',
+						'value' => $this->config['radarrDigitalRelease']
+					),
+					array(
+						'type' => 'switch',
+						'name' => 'radarrCinemaRelease',
+						'label' => 'Show Cinema Releases',
+						'value' => $this->config['radarrCinemaRelease']
 					)
 				),
 				'Test Connection' => array(
@@ -190,7 +214,7 @@ trait RadarrHomepageItem
 		$list = $this->csvHomepageUrlToken($this->config['radarrURL'], $this->config['radarrToken']);
 		foreach ($list as $key => $value) {
 			try {
-				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token']);
+				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], 'radarr');
 				$results = $downloader->getSystemStatus();
 				$downloadList = json_decode($results, true);
 				if (is_array($downloadList) || is_object($downloadList)) {
@@ -234,7 +258,7 @@ trait RadarrHomepageItem
 				],
 				'not_empty' => [
 					'radarrURL',
-					'lidarrToken'
+					'radarrToken'
 				]
 			],
 			'queue' => [
@@ -289,7 +313,7 @@ trait RadarrHomepageItem
 		$list = $this->csvHomepageUrlToken($this->config['radarrURL'], $this->config['radarrToken']);
 		foreach ($list as $key => $value) {
 			try {
-				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token']);
+				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], 'radarr');
 				$results = $downloader->getQueue();
 				$downloadList = json_decode($results, true);
 				if (is_array($downloadList) || is_object($downloadList)) {
@@ -322,8 +346,8 @@ trait RadarrHomepageItem
 		$list = $this->csvHomepageUrlToken($this->config['radarrURL'], $this->config['radarrToken']);
 		foreach ($list as $key => $value) {
 			try {
-				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token']);
-				$results = $downloader->getCalendar($startDate, $endDate);
+				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], 'radarr');
+				$results = $downloader->getCalendar($startDate, $endDate, $this->config['radarrUnmonitored']);
 				$result = json_decode($results, true);
 				if (is_array($result) || is_object($result)) {
 					$calendar = (array_key_exists('error', $result)) ? '' : $this->formatRadarrCalendar($results, $key, $value['url']);
@@ -349,17 +373,41 @@ trait RadarrHomepageItem
 		$gotCalendar = array();
 		$i = 0;
 		foreach ($array as $child) {
-			if (isset($child['physicalRelease'])) {
+			for ($j = 0; $j < 3; $j++) {
+				$type = [];
+				if ($j == 0 && $this->config['radarrPhysicalRelease'] && isset($child['physicalRelease'])) {
+					$releaseDate = $child['physicalRelease'];
+					array_push($type, "physical");
+					if (isset($child['digitalRelease']) && $child['physicalRelease'] == $child['digitalRelease']) {
+						array_push($type, "digital");
+						$j++;
+					}
+					if (isset($child['inCinemas']) && $child['physicalRelease'] == $child['inCinemas']) {
+						array_push($type, "cinema");
+						$j += 2;
+					}
+				} elseif ($j == 1 && $this->config['radarrDigitalRelease'] && isset($child['digitalRelease'])) {
+					$releaseDate = $child['digitalRelease'];
+					array_push($type, "digital");
+					if (isset($child['inCinemas']) && $child['digitalRelease'] == $child['inCinemas']) {
+						array_push($type, "cinema");
+						$j++;
+					}
+				} elseif ($j == 2 && $this->config['radarrCinemaRelease'] && isset($child['inCinemas'])) {
+					$releaseDate = $child['inCinemas'];
+					array_push($type, "cinema");
+				} else {
+					continue;
+				}
 				$i++;
 				$movieName = $child['title'];
 				$movieID = $child['tmdbId'];
 				if (!isset($movieID)) {
 					$movieID = "";
 				}
-				$physicalRelease = $child['physicalRelease'];
-				$physicalRelease = strtotime($physicalRelease);
-				$physicalRelease = date("Y-m-d", $physicalRelease);
-				if (new DateTime() < new DateTime($physicalRelease)) {
+				$releaseDate = strtotime($releaseDate);
+				$releaseDate = date("Y-m-d", $releaseDate);
+				if (new DateTime() < new DateTime($releaseDate)) {
 					$notReleased = "true";
 				} else {
 					$notReleased = "false";
@@ -402,10 +450,16 @@ trait RadarrHomepageItem
 					}
 				}
 				$alternativeTitles = "";
-				foreach ($child['alternativeTitles'] as $alternative) {
-					$alternativeTitles .= $alternative['title'] . ', ';
+				if (!empty($child['alternativeTitles'])) {
+					foreach ($child['alternativeTitles'] as $alternative) {
+						$alternativeTitles .= $alternative['title'] . ', ';
+					}
+				} elseif (!empty($child['alternateTitles'])) { //v3 API
+					foreach ($child['alternateTitles'] as $alternative) {
+						$alternativeTitles .= $alternative['title'] . ', ';
+					}
 				}
-				$alternativeTitles = empty($child['alternativeTitles']) ? "" : substr($alternativeTitles, 0, -2);
+				$alternativeTitles = empty($alternativeTitles) ? "" : substr($alternativeTitles, 0, -2);
 				$details = array(
 					"topTitle" => $movieName,
 					"bottomTitle" => $alternativeTitles,
@@ -426,11 +480,12 @@ trait RadarrHomepageItem
 				array_push($gotCalendar, array(
 					"id" => "Radarr-" . $number . "-" . $i,
 					"title" => $movieName,
-					"start" => $physicalRelease,
+					"start" => $releaseDate,
 					"className" => "inline-popups bg-calendar movieID--" . $movieID,
 					"imagetype" => "film " . $downloaded,
 					"imagetypeFilter" => "film",
 					"downloadFilter" => $downloaded,
+					"releaseType" => $type,
 					"bgColor" => str_replace('text', 'bg', $downloaded),
 					"details" => $details
 				));

+ 3 - 3
api/homepage/sonarr.php

@@ -196,7 +196,7 @@ trait SonarrHomepageItem
 		$list = $this->csvHomepageUrlToken($this->config['sonarrURL'], $this->config['sonarrToken']);
 		foreach ($list as $key => $value) {
 			try {
-				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token']);
+				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], 'sonarr');
 				$results = $downloader->getSystemStatus();
 				$downloadList = json_decode($results, true);
 				if (is_array($downloadList) || is_object($downloadList)) {
@@ -295,7 +295,7 @@ trait SonarrHomepageItem
 		$list = $this->csvHomepageUrlToken($this->config['sonarrURL'], $this->config['sonarrToken']);
 		foreach ($list as $key => $value) {
 			try {
-				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token']);
+				$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], 'sonarr');
 				$results = $downloader->getQueue();
 				$downloadList = json_decode($results, true);
 				if (is_array($downloadList) || is_object($downloadList)) {
@@ -328,7 +328,7 @@ trait SonarrHomepageItem
 		$list = $this->csvHomepageUrlToken($this->config['sonarrURL'], $this->config['sonarrToken']);
 		foreach ($list as $key => $value) {
 			try {
-				$sonarr = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token']);
+				$sonarr = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token'], 'sonarr');
 				$sonarr = $sonarr->getCalendar($startDate, $endDate, $this->config['sonarrUnmonitored']);
 				$result = json_decode($sonarr, true);
 				if (is_array($result) || is_object($result)) {

+ 1 - 1
api/homepage/weather.php

@@ -190,7 +190,7 @@ trait WeatherHomepageItem
 			'pollen' => false
 		);
 		$apiURL = $this->qualifyURL('https://api.breezometer.com/');
-		$info = '&lat=' . $this->config['homepageWeatherAndAirLatitude'] . '&lon=' . $this->config['homepageWeatherAndAirLongitude'] . '&units=' . $this->config['homepageWeatherAndAirUnits'] . '&key=b7401295888443538a7ebe04719c8394';
+		$info = '&lat=' . $this->config['homepageWeatherAndAirLatitude'] . '&lon=' . $this->config['homepageWeatherAndAirLongitude'] . '&units=' . $this->config['homepageWeatherAndAirUnits'] . '&key=' . $this->config['breezometerToken'];
 		try {
 			$headers = array();
 			$options = array();

+ 6 - 1
api/pages/settings-user-manage-users.php

@@ -54,7 +54,6 @@ function get_page_settings_user_manage_users($Organizr)
         }
     });
 	$(function() {
-		
 		pageLength = 10;
 		function onPageSelect(newPageLength) {
             pageLength = newPageLength;
@@ -69,6 +68,7 @@ function get_page_settings_user_manage_users($Organizr)
 	 		loadIndication: true,
 		    loadIndicationDelay: 50000,
 		    loadMessage: "Please, wait...",
+		    loadShading: true,
 		    noDataContent: "Loading... or Not found",
 		    loadShading: true,
 	        filtering: false,
@@ -81,6 +81,11 @@ function get_page_settings_user_manage_users($Organizr)
 	        pageSize: pageLength,
 	        changePageSize: function (pageSize) {
                 var $this = this;
+                let totalUsers = $this.data.length;
+                let totalPages = Math.ceil(totalUsers / pageSize);
+                if($this.pageIndex > totalPages){
+                    $("#jsGrid-Users").jsGrid("openPage", totalPages);
+                }
                 $this.pageSize = pageLength;
                 $this.refresh();
             },

+ 17 - 11
api/plugins/chat.php

@@ -1,5 +1,7 @@
 <?php
 // PLUGIN INFORMATION
+use Pusher\PusherException;
+
 $GLOBALS['plugins'][]['chat'] = array( // Plugin Name
 	'name' => 'Chat', // Plugin Name
 	'author' => 'CauseFX', // Who wrote the plugin
@@ -138,18 +140,22 @@ class Chat extends Organizr
 		$query = $this->processQueries($response);
 		if ($query) {
 			$options = array(
-				'cluster' => $GLOBALS['CHAT-cluster-include'],
-				'useTLS' => $GLOBALS['CHAT-useSSL']
-			);
-			$pusher = new Pusher\Pusher(
-				$GLOBALS['CHAT-authKey-include'],
-				$GLOBALS['CHAT-secret'],
-				$GLOBALS['CHAT-appID-include'],
-				$options
+				'cluster' => $this->config['CHAT-cluster-include'],
+				'useTLS' => $this->config['CHAT-useSSL']
 			);
-			$pusher->trigger('org_channel', 'my-event', $newMessage);
-			$this->setAPIResponse('success', 'Chat message accepted', 200);
-			return true;
+			try {
+				$pusher = new Pusher\Pusher(
+					$this->config['CHAT-authKey-include'],
+					$this->config['CHAT-secret'],
+					$this->config['CHAT-appID-include'],
+					$options
+				);
+				$pusher->trigger('org_channel', 'my-event', $newMessage);
+				$this->setAPIResponse('success', 'Chat message accepted', 200);
+				return true;
+			} catch (PusherException $e) {
+				$this->setAPIResponse('error', 'Chat message error', 500);
+			}
 		}
 		$this->setAPIResponse('error', 'Chat error occurred', 409);
 		return false;

+ 3 - 2
api/plugins/healthChecks.php

@@ -7,7 +7,7 @@ $GLOBALS['plugins'][]['healthChecks'] = array( // Plugin Name
 	'link' => '', // Link to plugin info
 	'license' => 'personal,business', // License Type use , for multiple
 	'idPrefix' => 'HEALTHCHECKS', // html element id prefix
-	'configPrefix' => 'HEALTHCHECKS', // config file prefix for array items without the hypen
+	'configPrefix' => 'HEALTHCHECKS', // config file prefix for array items without the hyphen
 	'version' => '1.0.0', // SemVer of plugin
 	'image' => 'plugins/images/healthchecksio.png', // 1:1 non transparent image for plugin
 	'settings' => true, // does plugin need a settings page? true or false
@@ -71,7 +71,8 @@ class HealthChecks extends Organizr
 		$url = $this->qualifyURL($this->config['HEALTHCHECKS-PingURL']);
 		$uuid = '/' . $uuid;
 		$path = !$pass ? '/fail' : '';
-		return Requests::get($url . $uuid . $path, [], []);
+		$options = ($this->localURL($url)) ? array('verify' => false) : array('verify' => $this->getCert());
+		return Requests::get($url . $uuid . $path, [], $options);
 	}
 	
 	public function _healthCheckPluginRun()

+ 2 - 1
api/vendor/kryptonit3/sonarr/composer.json

@@ -9,7 +9,8 @@
         }
     ],
     "require": {
-        "guzzlehttp/guzzle": "^6.1"
+        "guzzlehttp/guzzle": "^6.1",
+        "composer/semver": "^1.4"
     },
     "autoload": {
         "psr-4": {

+ 63 - 11
api/vendor/kryptonit3/sonarr/src/Sonarr.php

@@ -3,6 +3,7 @@
 namespace Kryptonit3\Sonarr;
 
 use GuzzleHttp\Client;
+use Composer\Semver\Comparator;
 
 class Sonarr
 {
@@ -11,11 +12,11 @@ class Sonarr
     protected $httpAuthUsername;
     protected $httpAuthPassword;
 
-    public function __construct($url, $apiKey, $lidarr = false, $httpAuthUsername = null, $httpAuthPassword = null)
+    public function __construct($url, $apiKey, $type = 'sonarr', $httpAuthUsername = null, $httpAuthPassword = null)
     {
         $this->url = rtrim($url, '/\\'); // Example: http://127.0.0.1:8989 (no trailing forward-backward slashes)
 	    $this->apiKey = $apiKey;
-	    $this->lidarr = $lidarr;
+	    $this->type = strtolower($type);
         $this->httpAuthUsername = $httpAuthUsername;
         $this->httpAuthPassword = $httpAuthPassword;
     }
@@ -65,7 +66,7 @@ class Sonarr
         if ( $sonarrUnmonitored == 'true' ) {
             $uriData['unmonitored'] = 'true';
 		}
-	    if ( $this->lidarr == true ) {
+	    if ( $this->type == 'lidarr' ) {
 		    $uriData['includeArtist'] = 'true';
 	    }
 	    $response = [
@@ -582,7 +583,7 @@ class Sonarr
             'data' => []
         ];
 
-        return $this->processRequest($response);
+        return $this->preProcessRequest($response);
     }
 
     /**
@@ -606,29 +607,33 @@ class Sonarr
                 $this->httpAuthPassword
             ];
         }
-	    $lidarr = ( $this->lidarr == true ) ? 'v1/' : '';
+		if($this->type == 'lidarr'){
+			$params['version'] = 'v1/';
+		}
+	    $version = $params['version'] ?? '';
+        
         if ( $params['type'] == 'get' ) {
-            $url = $this->url . '/api/' . $lidarr . $params['uri'] . '?' . http_build_query($params['data']);
+            $url = $this->url . '/api/' . $version . $params['uri'] . '?' . http_build_query($params['data']);
 
             return $client->get($url, $options);
         }
 
         if ( $params['type'] == 'put' ) {
-            $url = $this->url . '/api/' . $lidarr . $params['uri'];
+            $url = $this->url . '/api/' . $version . $params['uri'];
             $options['json'] = $params['data'];
 
             return $client->put($url, $options);
         }
 
         if ( $params['type'] == 'post' ) {
-            $url = $this->url . '/api/' . $lidarr . $params['uri'];
+            $url = $this->url . '/api/' . $version . $params['uri'];
             $options['json'] = $params['data'];
 
             return $client->post($url, $options);
         }
 
         if ( $params['type'] == 'delete' ) {
-            $url = $this->url . '/api/' . $lidarr . $params['uri'] . '?' . http_build_query($params['data']);
+            $url = $this->url . '/api/' . $version . $params['uri'] . '?' . http_build_query($params['data']);
 
             return $client->delete($url, $options);
         }
@@ -642,12 +647,39 @@ class Sonarr
      */
     protected function processRequest(array $request)
     {
+	    try {
+		    $versionCheck = $this->getSystemStatus();
+		    $versionCheck = json_decode($versionCheck)['version'];
+		    $compare = new Comparator;
+		    switch ($this->type){
+			    case 'sonarr':
+				    $versionCheck = '';
+				    break;
+			    case 'radarr':
+			    	$versionCheck =  ($compare->lessThan('2.9.9', $versionCheck)) ? '' : 'v3/';
+			    	break;
+			    case 'lidarr':
+				    $versionCheck = 'v1/';
+				    break;
+			    default:
+				    $versionCheck = '';
+		    }
+	    } catch ( \Exception $e ) {
+		    return json_encode(array(
+			    'error' => array(
+				    'msg' => $e->getMessage(),
+				    'code' => $e->getCode(),
+			    ),
+		    ));
+		    exit();
+	    }
         try {
             $response = $this->_request(
                 [
                     'uri' => $request['uri'],
                     'type' => $request['type'],
-                    'data' => $request['data']
+                    'data' => $request['data'],
+	                'version' => $versionCheck
                 ]
             );
         } catch ( \Exception $e ) {
@@ -657,12 +689,32 @@ class Sonarr
                     'code' => $e->getCode(),
                 ),
             ));
-
             exit();
         }
 
         return $response->getBody()->getContents();
     }
+    protected function preProcessRequest(array $request)
+    {
+	    try {
+		    $response = $this->_request(
+			    [
+				    'uri' => $request['uri'],
+				    'type' => $request['type'],
+				    'data' => $request['data']
+			    ]
+		    );
+	    } catch ( \Exception $e ) {
+		    return json_encode(array(
+			    'error' => array(
+				    'msg' => $e->getMessage(),
+				    'code' => $e->getCode(),
+			    ),
+		    ));
+		
+		    exit();
+	    }
+    }
 
     /**
      * Verify date is in proper format

+ 11 - 2
css/organizr.css

@@ -7,6 +7,12 @@
     opacity: 1 !important;
     background: #000000eb !important;
 }
+.editHomepageItemDiv-off {
+    z-index: -9999 !important;
+    opacity: 0 !important;
+    display: none;
+    animation-duration: 0.6s;
+}
 #editHomepageItem {
     margin-top: 40px;
 }
@@ -252,7 +258,7 @@ body.stop-scrolling {
     height: 100%;
     position: fixed;
     display: none;
-    z-index: 10;
+    z-index: 11;
 }
 
 img.lazyload.tabImages {
@@ -1656,8 +1662,11 @@ span.has-coupon {
     overflow: auto;
     position: absolute;
 }
+html{
+    overflow: hidden !important;
+}
 body{
-    overflow: hidden;
+    overflow: initial !important;
 }
 .login-area {
     position: fixed;

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
css/organizr.min.css


+ 1 - 1
css/themes/Organizr.css

@@ -298,7 +298,7 @@ a.mytooltip {
   height: 100%;
   position: fixed;
   display: none;
-  z-index: 10;
+  z-index: 11;
 }
 .error-body h1 {
   font-size: 210px;

+ 6 - 1
js/custom.js

@@ -1859,4 +1859,9 @@ $(document).on('click', 'li a[aria-controls="Custom data"]', function() {
 });
 $(document).on('click', '.imageManagerItem', function() {
 	createImageSwal($(this));
-});
+});
+
+$(document).on('click', '.close-editHomepageItemDiv',function () {
+	$('body').removeAttr('style');
+	$('html').removeAttr('style');
+})

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
js/custom.min.js


+ 41 - 27
js/functions.js

@@ -3486,8 +3486,12 @@ function buildBackers(array){
 	$.each(array, function(i,v) {
 		if(v.type == 'USER' && v.role == 'BACKER' && v.isActive){
 			v.name = v.name ? v.name : 'User';
-			v.image = v.image ? v.image : 'image here';
-			backers += '<li><img src="'+v.image+'" alt="user" height="60" width="60" data-toggle="tooltip" title="" class="img-circle" data-original-title="'+v.name+'"></li>';
+			v.image = v.image ? v.image : null;
+			if(v.image == null){
+				backers += '<li><span alt="user" data-toggle="tooltip" title="" class="circle circle-md bg-info di" data-original-title="'+v.name+'" href="image here"><i class="fa fa-user"></i></span></li>';
+			}else{
+				backers += '<li><img src="'+v.image+'" alt="user" height="60" width="60" data-toggle="tooltip" title="" class="img-circle" data-original-title="'+v.name+'"></li>';
+			}
 		}
 	});
 	backers += '<li><a href="https://opencollective.com/organizr" target="_blank" class="circle circle-md bg-info di" data-toggle="tooltip" title="" data-original-title="Join">You</a></li>';
@@ -5729,6 +5733,11 @@ function buildDownloaderItem(array, source, type='none'){
 			}
 			if(array.content.queueItems == 0){
 				queue = '<tr><td class="max-texts" lang="en">Nothing in queue</td></tr>';
+				break;
+			}
+			if(array.content.queueItems.records == 0){
+				queue = '<tr><td class="max-texts" lang="en">Nothing in queue</td></tr>';
+				break;
 			}
 			$.each(array.content.queueItems, function(i,v) {
 				count = count + 1;
@@ -5760,28 +5769,33 @@ function buildDownloaderItem(array, source, type='none'){
 			}
 			if(array.content.queueItems == 0){
 				queue = '<tr><td class="max-texts" lang="en">Nothing in queue</td></tr>';
+				break;
 			}
-			$.each(array.content.queueItems, function(i,v) {
-				if(v.hasOwnProperty('movie')) {
-					count = count + 1;
-					var percent = Math.floor(((v.size - v.sizeleft) / v.size) * 100);
-					percent = (isNaN(percent)) ? '0' : percent;
-					var size = v.size != -1 ? humanFileSize(v.size, false) : "?";
-					v.name = v.movie.title;
-					queue += `
-	                <tr>
-	                    <td class="max-texts">` + v.name + `</td>
-	                    <td class="hidden-xs sonarr-` + cleanClass(v.status) + `">` + v.status + `</td>
-	                    <td class="hidden-xs">` + size + `</td>
-	                    <td class="hidden-xs"><span class="label label-info">` + v.protocol + `</span></td>
-	                    <td class="text-right">
-	                        <div class="progress progress-lg m-b-0">
-	                            <div class="progress-bar progress-bar-info" style="width: ` + percent + `%;" role="progressbar">` + percent + `%</div>
-	                        </div>
-	                    </td>
-	                </tr>
-	                `;
-				}
+			if(array.content.queueItems.records == 0){
+				queue = '<tr><td class="max-texts" lang="en">Nothing in queue</td></tr>';
+				break;
+			}
+			let queueSet = (typeof array.content.queueItems.records == 'undefined') ? array.content.queueItems : array.content.queueItems.records;
+			$.each(queueSet, function(i,v) {
+				count = count + 1;
+				var percent = Math.floor(((v.size - v.sizeleft) / v.size) * 100);
+				percent = (isNaN(percent)) ? '0' : percent;
+				var size = v.size != -1 ? humanFileSize(v.size, false) : "?";
+				v.name = (typeof v.movie == 'undefined') ? v.title : v.movie.title;
+				queue += `
+                <tr>
+                    <td class="max-texts">` + v.name + `</td>
+                    <td class="hidden-xs sonarr-` + cleanClass(v.status) + `">` + v.status + `</td>
+                    <td class="hidden-xs">` + size + `</td>
+                    <td class="hidden-xs"><span class="label label-info">` + v.protocol + `</span></td>
+                    <td class="text-right">
+                        <div class="progress progress-lg m-b-0">
+                            <div class="progress-bar progress-bar-info" style="width: ` + percent + `%;" role="progressbar">` + percent + `%</div>
+                        </div>
+                    </td>
+                </tr>
+                `;
+
 			});
 			if(queue == ''){
 				queue = '<tr><td class="max-texts" lang="en">Nothing in queue</td></tr>';
@@ -7232,13 +7246,13 @@ function buildWeatherAndAir(array){
                     weatherItems += `
                     <div class="col-lg-4 col-sm-12 col-xs-12">
                         <div class="white-box">
-                            <h3 class="box-title">`+moment(v.datetime).format('dddd')+`<small class="pull-right m-t-10">Feels Like `+Math.round(v.feels_like_temperature.value)+`°</small></h3>
-                            <ul class="list-inline two-part">
+                            <h3 class="box-title"><small class="pull-right m-t-10">Feels Like `+Math.round(v.feels_like_temperature.value)+`°</small>`+moment(v.datetime).format('dddd')+`<br/><small class="text-uppercase elip">`+v.weather_text+`</small></h3>
+                            <ul class="list-inline two-part" style="margin-top: -13px;">
                                 <li><i class="wi `+weatherIcon(v.icon_code, v.is_day_time)+` text-info"></i></li>
                                 <li class="text-right"><span class="counter">`+Math.round(v.temperature.value)+`<small><sup>°`+v.temperature.units+`</sup></small></span></li>
                             </ul>
                             <ul class="list-inline m-b-0">
-                                <li class="pull-left w-50 hidden-xs"><small class="text-uppercase elip">`+v.weather_text+`</small></li>
+                                <li class="pull-left w-50 hidden-xs"></li>
                                 <li class="pull-right" style="width:75px"><small><i class="wi wi-strong-wind m-r-5 text-primary tooltip-primary" data-toggle="tooltip" data-placement="top" title="" data-original-title="Wind"></i>`+Math.round(v.wind.speed.value)+` `+v.wind.speed.units+`</small></li>
                                 <li class="pull-right" style="width:75px"><small><i class="wi wi-barometer m-r-5 text-primary tooltip-primary" data-toggle="tooltip" data-placement="top" title="" data-original-title="Pressure"></i>`+Math.round(v.pressure.value)+` `+v.pressure.units+`</small></li>
                                 <li class="pull-right" style="width:45px"><small><i class="wi wi-humidity m-r-5 text-primary tooltip-primary" data-toggle="tooltip" data-placement="top" title="" data-original-title="Humidity"></i>`+Math.round(v.relative_humidity)+`</small></li>
@@ -10242,7 +10256,7 @@ function OrganizrApiError(xhr, secondaryMessage = null){
 }
 function launch(){
 	console.info('https://docs.organizr.app/books/setup-features/page/organizr-20--%3E-21-migration-guide');
-	organizrConsole('API V2 API','If you see a 404 Error below this line, you have not setup the new location block... See URL above this line', 'error');
+	organizrConsole('API V2 API','If you see a 404 Error for api/v2/launch below this line, you have not setup the new location block... See URL above this line', 'error');
 	organizrConnect('api/v2/launch').success(function (data) {
         try {
             let json = data.response;

+ 99 - 1
js/langpack/de-ch[German (Switzerland)].json

@@ -515,6 +515,104 @@
         "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP",
         "Account Prefix": "Account Prefix",
         "LDAP Backend Type": "LDAP Backend Type",
-        "Strict Plex Friends": "Strict Plex Friends"
+        "Strict Plex Friends": "Strict Plex Friends",
+        "Unifi": "Unifi",
+        "Pi-hole": "Pi-hole",
+        "Check For Updates": "Check For Updates",
+        "I will try and import new strings every Friday": "I will try and import new strings every Friday",
+        "Custom definitions": "Custom definitions",
+        "Show on small screens": "Show on small screens",
+        "Show on medium screens": "Show on medium screens",
+        "Show on large screens": "Show on large screens",
+        "Size": "Size",
+        "Colour": "Colour",
+        "Chart": "Chart",
+        "Data": "Data",
+        "Info": "Info",
+        "Netdata": "Netdata",
+        "Toggle Title": "Toggle Title",
+        "Speedtest": "Speedtest",
+        "Unit of Measurement": "Unit of Measurement",
+        "Enable Pollen": "Enable Pollen",
+        "Enable Air Quality": "Enable Air Quality",
+        "Enable Weather": "Enable Weather",
+        "Need Help With Coordinates?": "Need Help With Coordinates?",
+        "Longitude": "Longitude",
+        "Latitude": "Latitude",
+        "Weather-Air": "Weather-Air",
+        "Compact view": "Compact view",
+        "http://domain.com/monitorr/": "http://domain.com/monitorr/",
+        "Monitorr": "Monitorr",
+        "Top Platforms": "Top Platforms",
+        "Top Users": "Top Users",
+        "http://<ip>:<port>": "http://<ip>:<port>",
+        "Tautulli": "Tautulli",
+        "Combine stat cards": "Combine stat cards",
+        "http(s)://hostname:port/admin/": "http(s)://hostname:port/admin/",
+        "Youtube API Key": "Youtube API Key",
+        "Misc": "Misc",
+        "Multiple tags using CSV - tag1,tag2": "Multiple tags using CSV - tag1,tag2",
+        "Tags": "Tags",
+        "HealthChecks API URL": "HealthChecks API URL",
+        "HealthChecks": "HealthChecks",
+        "Get Unifi Site": "Get Unifi Site",
+        "Grab Unifi Site": "Grab Unifi Site",
+        "Site Name": "Site Name",
+        "Unifi API URL": "Unifi API URL",
+        "Show Denied": "Show Denied",
+        "Show Unapproved": "Show Unapproved",
+        "Show Approved": "Show Approved",
+        "Show Unavailable": "Show Unavailable",
+        "Show Available": "Show Available",
+        "Disable Certificate Check": "Disable Certificate Check",
+        "Organizr appends the url with": "Organizr appends the url with",
+        "unless the URL ends in": "unless the URL ends in",
+        "ATTENTION": "ATTENTION",
+        "API Version": "API Version",
+        "JDownloader": "JDownloader",
+        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin",
+        "Emby-Jellyfin": "Emby-Jellyfin",
+        "Tab Auto Action Minutes": "Tab Auto Action Minutes",
+        "Tab Auto Action": "Tab Auto Action",
+        "To revert back to default, save with no value defined in the relevant field.": "To revert back to default, save with no value defined in the relevant field.",
+        "e.g. UA-XXXXXXXXX-X": "e.g. UA-XXXXXXXXX-X",
+        "Google Analytics Tracking ID": "Google Analytics Tracking ID",
+        "Show Debug Errors": "Show Debug Errors",
+        "Use Logo instead of Title on Login Page": "Use Logo instead of Title on Login Page",
+        "Login Logo": "Login Logo",
+        "Meta Description": "Meta Description",
+        "HealthChecks Settings": "HealthChecks Settings",
+        "AdamSmith": "AdamSmith",
+        "Emby User to be used as template for new users": "Emby User to be used as template for new users",
+        "localhost:8086": "localhost:8086",
+        "Emby server adress": "Emby server adress",
+        "enter key from emby": "enter key from emby",
+        "Emby API key": "Emby API key",
+        "Music Labels (comma separated)": "Music Labels (comma separated)",
+        "Movies Labels (comma separated)": "Movies Labels (comma separated)",
+        "TV Labels (comma separated)": "TV Labels (comma separated)",
+        "Template #1": "Template #1",
+        "Enable Debug Output on Email Test": "Enable Debug Output on Email Test",
+        "i.e. 10.0.0.0/24 or 10.0.0.20": "i.e. 10.0.0.0/24 or 10.0.0.20",
+        "Auth Proxy Whitelist": "Auth Proxy Whitelist",
+        "i.e. X-Forwarded-User": "i.e. X-Forwarded-User",
+        "Auth Proxy Header Name": "Auth Proxy Header Name",
+        "Auth Proxy": "Auth Proxy",
+        "Enable Local Address Forward": "Enable Local Address Forward",
+        "http://home.local": "http://home.local",
+        "Local Address": "Local Address",
+        "only domain and tld - i.e. domain.com": "only domain and tld - i.e. domain.com",
+        "WAN Domain": "WAN Domain",
+        "i.e. 123.123.123.123": "i.e. 123.123.123.123",
+        "Override Local IP To": "Override Local IP To",
+        "Override Local IP From": "Override Local IP From",
+        "Disable Image Dropdown": "Disable Image Dropdown",
+        "Disable Icon Dropdown": "Disable Icon Dropdown",
+        "Enable Traefik Auth Redirect": "Enable Traefik Auth Redirect",
+        "iFrame Sandbox": "iFrame Sandbox",
+        "Login Lockout Seconds": "Login Lockout Seconds",
+        "Max Login Attempts": "Max Login Attempts",
+        "Test Login": "Test Login",
+        "Ignore External 2FA on Local Subnet": "Ignore External 2FA on Local Subnet"
     }
 }

+ 26 - 26
js/langpack/de[German].json

@@ -533,13 +533,13 @@
         "Toggle Title": "Titel umschalten",
         "Speedtest": "Geschwindigkeitstest",
         "Unit of Measurement": "Maßeinheit",
-        "Enable Pollen": "Enable Pollen",
-        "Enable Air Quality": "Enable Air Quality",
+        "Enable Pollen": "Pollen aktivieren",
+        "Enable Air Quality": "Luftqualität aktivieren",
         "Enable Weather": "aktiviere Wetter",
         "Need Help With Coordinates?": "Brauchen Sie Hilfe mit Koordinaten?",
         "Longitude": "Längengrad",
         "Latitude": "Breitengrad",
-        "Weather-Air": "Weather-Air",
+        "Weather-Air": "Wetter-Luft",
         "Compact view": "Kompakte Ansicht",
         "http://domain.com/monitorr/": "http://domain.com/monitorr/",
         "Monitorr": "Monitorr",
@@ -551,12 +551,12 @@
         "http(s)://hostname:port/admin/": "http(s)://hostname:port/admin/",
         "Youtube API Key": "Youtube API Key",
         "Misc": "Sonstige",
-        "Multiple tags using CSV - tag1,tag2": "Multiple tags using CSV - tag1,tag2",
+        "Multiple tags using CSV - tag1,tag2": "Mehrere Tags unter Verwendung von CSV - tag1,tag2",
         "Tags": "Tags",
-        "HealthChecks API URL": "HealthChecks API URL",
-        "HealthChecks": "HealthChecks",
-        "Get Unifi Site": "Get Unifi Site",
-        "Grab Unifi Site": "Grab Unifi Site",
+        "HealthChecks API URL": "API-URL für Gesundheitschecks",
+        "HealthChecks": "Gesundheits-Checks",
+        "Get Unifi Site": "Unifi-Website abrufen",
+        "Grab Unifi Site": "Unifi-Standort abrufen",
         "Site Name": "Seitenname",
         "Unifi API URL": "Unifi API URL\n",
         "Show Denied": "Serie abgelehnt",
@@ -565,54 +565,54 @@
         "Show Unavailable": "Serie nicht verfügbar",
         "Show Available": "Serie verfügbar",
         "Disable Certificate Check": "Deaktiviere Zertifikatsüberprüfung",
-        "Organizr appends the url with": "Organizr appends the url with",
+        "Organizr appends the url with": "Organizr hängt die Url an",
         "unless the URL ends in": "solange die URL nicht endet mit",
         "ATTENTION": "ACHTUNG",
         "API Version": "API Version\n",
         "JDownloader": "JDownloader",
-        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin",
+        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http(s)://hostname:port - stellen Sie sicher, dass Jellyfin die URL mit /jellyfin beendet",
         "Emby-Jellyfin": "Emby-Jellyfin",
         "Tab Auto Action Minutes": "Tab Auto-Aktion Minuten",
         "Tab Auto Action": "Tab Auto-Aktion",
-        "To revert back to default, save with no value defined in the relevant field.": "To revert back to default, save with no value defined in the relevant field.",
+        "To revert back to default, save with no value defined in the relevant field.": "Um zur Standardeinstellung zurückzukehren, speichern Sie, ohne dass im entsprechenden Feld ein Wert definiert ist.",
         "e.g. UA-XXXXXXXXX-X": "z.B. UA-XXXXXXXXX-X",
         "Google Analytics Tracking ID": "Google Analytics Tracking ID",
         "Show Debug Errors": "Debug Errors anzeigen",
         "Use Logo instead of Title on Login Page": "Benutze Logo anstelle des Titels auf der Login Seite",
         "Login Logo": "Login Logo\n",
         "Meta Description": "Meta Beschreibung",
-        "HealthChecks Settings": "HealthChecks Settings",
+        "HealthChecks Settings": "HealthChecks-Einstellungen",
         "AdamSmith": "AdamSmith",
-        "Emby User to be used as template for new users": "Emby User to be used as template for new users",
+        "Emby User to be used as template for new users": "Emby Nutzer zur Verwendung als Vorlage für neue Nutzer",
         "localhost:8086": "localhost:8086",
         "Emby server adress": "Emby Serveradresse",
-        "enter key from emby": "enter key from emby",
+        "enter key from emby": "Schlüssel vom Emby eingeben",
         "Emby API key": "Emby API-Schlüssel",
         "Music Labels (comma separated)": "Musik-Label (durch komma getrennt)",
         "Movies Labels (comma separated)": "Film-Label (durch komma getrennt)",
         "TV Labels (comma separated)": "Serien-Label (durch komma getrennt)",
-        "Template #1": "Template #1",
-        "Enable Debug Output on Email Test": "Enable Debug Output on Email Test",
+        "Template #1": "Vorlage #1",
+        "Enable Debug Output on Email Test": "Debug-Ausgabe beim E-Mail-Test aktivieren",
         "i.e. 10.0.0.0/24 or 10.0.0.20": "z.B. 10.0.0.0/24 oder 10.0.0.20\n",
-        "Auth Proxy Whitelist": "Auth Proxy Whitelist",
+        "Auth Proxy Whitelist": "Auth-Proxy-Whitelist",
         "i.e. X-Forwarded-User": "z.B. X-Forwarded-User",
         "Auth Proxy Header Name": "Auth Proxy Header Name",
         "Auth Proxy": "Auth Proxy",
-        "Enable Local Address Forward": "Enable Local Address Forward",
+        "Enable Local Address Forward": "Lokale Adressweiterleitung aktivieren",
         "http://home.local": "http://home.local",
         "Local Address": "lokale Addresse",
-        "only domain and tld - i.e. domain.com": "only domain and tld - i.e. domain.com",
+        "only domain and tld - i.e. domain.com": "nur Domain und tld - z.B. domain.com",
         "WAN Domain": "WAN Domäne",
         "i.e. 123.123.123.123": "z.B. 123.123.123.123",
-        "Override Local IP To": "Override Local IP To",
-        "Override Local IP From": "Override Local IP From",
-        "Disable Image Dropdown": "Disable Image Dropdown",
-        "Disable Icon Dropdown": "Disable Icon Dropdown",
-        "Enable Traefik Auth Redirect": "Enable Traefik Auth Redirect",
+        "Override Local IP To": "Lokale IP überschreiben auf",
+        "Override Local IP From": "Lokale IP überschreiben von",
+        "Disable Image Dropdown": "Bild-Dropdown deaktivieren",
+        "Disable Icon Dropdown": "Symbol deaktivieren Dropdown",
+        "Enable Traefik Auth Redirect": "Traefik Auth Weiterleitung aktivieren",
         "iFrame Sandbox": "iFrame Sandbox",
-        "Login Lockout Seconds": "Login Lockout Seconds",
+        "Login Lockout Seconds": "Sekunden bis zur Anmeldesperre",
         "Max Login Attempts": "Max Loginversuche",
         "Test Login": "Login Testen",
-        "Ignore External 2FA on Local Subnet": "Ignore External 2FA on Local Subnet"
+        "Ignore External 2FA on Local Subnet": "Externe 2FA im lokalen Subnetz ignorieren"
     }
 }

+ 99 - 1
js/langpack/el[Greek].json

@@ -515,6 +515,104 @@
         "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP",
         "Account Prefix": "Account Prefix",
         "LDAP Backend Type": "LDAP Backend Type",
-        "Strict Plex Friends": "Strict Plex Friends"
+        "Strict Plex Friends": "Strict Plex Friends",
+        "Unifi": "Unifi",
+        "Pi-hole": "Pi-hole",
+        "Check For Updates": "Check For Updates",
+        "I will try and import new strings every Friday": "I will try and import new strings every Friday",
+        "Custom definitions": "Custom definitions",
+        "Show on small screens": "Show on small screens",
+        "Show on medium screens": "Show on medium screens",
+        "Show on large screens": "Show on large screens",
+        "Size": "Size",
+        "Colour": "Colour",
+        "Chart": "Chart",
+        "Data": "Data",
+        "Info": "Info",
+        "Netdata": "Netdata",
+        "Toggle Title": "Toggle Title",
+        "Speedtest": "Speedtest",
+        "Unit of Measurement": "Unit of Measurement",
+        "Enable Pollen": "Enable Pollen",
+        "Enable Air Quality": "Enable Air Quality",
+        "Enable Weather": "Enable Weather",
+        "Need Help With Coordinates?": "Need Help With Coordinates?",
+        "Longitude": "Longitude",
+        "Latitude": "Latitude",
+        "Weather-Air": "Weather-Air",
+        "Compact view": "Compact view",
+        "http://domain.com/monitorr/": "http://domain.com/monitorr/",
+        "Monitorr": "Monitorr",
+        "Top Platforms": "Top Platforms",
+        "Top Users": "Top Users",
+        "http://<ip>:<port>": "http://<ip>:<port>",
+        "Tautulli": "Tautulli",
+        "Combine stat cards": "Combine stat cards",
+        "http(s)://hostname:port/admin/": "http(s)://hostname:port/admin/",
+        "Youtube API Key": "Youtube API Key",
+        "Misc": "Misc",
+        "Multiple tags using CSV - tag1,tag2": "Multiple tags using CSV - tag1,tag2",
+        "Tags": "Tags",
+        "HealthChecks API URL": "HealthChecks API URL",
+        "HealthChecks": "HealthChecks",
+        "Get Unifi Site": "Get Unifi Site",
+        "Grab Unifi Site": "Grab Unifi Site",
+        "Site Name": "Site Name",
+        "Unifi API URL": "Unifi API URL",
+        "Show Denied": "Show Denied",
+        "Show Unapproved": "Show Unapproved",
+        "Show Approved": "Show Approved",
+        "Show Unavailable": "Show Unavailable",
+        "Show Available": "Show Available",
+        "Disable Certificate Check": "Disable Certificate Check",
+        "Organizr appends the url with": "Organizr appends the url with",
+        "unless the URL ends in": "unless the URL ends in",
+        "ATTENTION": "ATTENTION",
+        "API Version": "API Version",
+        "JDownloader": "JDownloader",
+        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin",
+        "Emby-Jellyfin": "Emby-Jellyfin",
+        "Tab Auto Action Minutes": "Tab Auto Action Minutes",
+        "Tab Auto Action": "Tab Auto Action",
+        "To revert back to default, save with no value defined in the relevant field.": "To revert back to default, save with no value defined in the relevant field.",
+        "e.g. UA-XXXXXXXXX-X": "e.g. UA-XXXXXXXXX-X",
+        "Google Analytics Tracking ID": "Google Analytics Tracking ID",
+        "Show Debug Errors": "Show Debug Errors",
+        "Use Logo instead of Title on Login Page": "Use Logo instead of Title on Login Page",
+        "Login Logo": "Login Logo",
+        "Meta Description": "Meta Description",
+        "HealthChecks Settings": "HealthChecks Settings",
+        "AdamSmith": "AdamSmith",
+        "Emby User to be used as template for new users": "Emby User to be used as template for new users",
+        "localhost:8086": "localhost:8086",
+        "Emby server adress": "Emby server adress",
+        "enter key from emby": "enter key from emby",
+        "Emby API key": "Emby API key",
+        "Music Labels (comma separated)": "Music Labels (comma separated)",
+        "Movies Labels (comma separated)": "Movies Labels (comma separated)",
+        "TV Labels (comma separated)": "TV Labels (comma separated)",
+        "Template #1": "Template #1",
+        "Enable Debug Output on Email Test": "Enable Debug Output on Email Test",
+        "i.e. 10.0.0.0/24 or 10.0.0.20": "i.e. 10.0.0.0/24 or 10.0.0.20",
+        "Auth Proxy Whitelist": "Auth Proxy Whitelist",
+        "i.e. X-Forwarded-User": "i.e. X-Forwarded-User",
+        "Auth Proxy Header Name": "Auth Proxy Header Name",
+        "Auth Proxy": "Auth Proxy",
+        "Enable Local Address Forward": "Enable Local Address Forward",
+        "http://home.local": "http://home.local",
+        "Local Address": "Local Address",
+        "only domain and tld - i.e. domain.com": "only domain and tld - i.e. domain.com",
+        "WAN Domain": "WAN Domain",
+        "i.e. 123.123.123.123": "i.e. 123.123.123.123",
+        "Override Local IP To": "Override Local IP To",
+        "Override Local IP From": "Override Local IP From",
+        "Disable Image Dropdown": "Disable Image Dropdown",
+        "Disable Icon Dropdown": "Disable Icon Dropdown",
+        "Enable Traefik Auth Redirect": "Enable Traefik Auth Redirect",
+        "iFrame Sandbox": "iFrame Sandbox",
+        "Login Lockout Seconds": "Login Lockout Seconds",
+        "Max Login Attempts": "Max Login Attempts",
+        "Test Login": "Test Login",
+        "Ignore External 2FA on Local Subnet": "Ignore External 2FA on Local Subnet"
     }
 }

+ 12 - 12
js/langpack/es[Spanish].json

@@ -3,11 +3,11 @@
         "Navigation": "Navegación",
         "Date": "Fecha",
         "Type": "Tipo",
-        "IP Address": "Dirección IP",
+        "IP Address": "Dirección de IP",
         "Username": "Nombre de usuario",
         "Message": "Mensaje",
         "My Profile": "Mi perfil",
-        "Account Settings": "Opciones de cuenta",
+        "Account Settings": "Opciones de Cuenta",
         "Login/Register": "Iniciar sesión/Registrarse",
         "Logout": "Cerrar sesión",
         "Inbox": "Bandeja de entrada",
@@ -34,13 +34,13 @@
         "Logs": "Registros",
         "Main": "Principal",
         "Plugins": "Plugins",
-        "Manage Users": "Administrar usuarios",
+        "Manage Users": "Administrar Usuarios",
         "Customize Organizr": "Personaliza Organizr",
         "Edit Categories": "Edita categorías",
         "Edit Tabs": "Edita pestañas",
         "Tabs": "Pestañas",
         "System Settings": "Ajustes de sistema",
-        "User Management": "Administración de usuarios",
+        "User Management": "Administración de Usuarios",
         "Customize": "Personalizar",
         "Tab Editor": "Editor de Pestañas",
         "Settings": "Ajustes",
@@ -59,7 +59,7 @@
         "Database Name": "Nombre de base de datos",
         "Database Location:": "Ubicación de base de datos:",
         "Database Location": "Ubicación de base de datos",
-        "Hover to show": "Coloca el cursor para mostrar",
+        "Hover to show": "Pasa por encima para mostrar",
         "API Key:": "Clave de API",
         "API Key": "Clave de API",
         "Registration Password:": "Contraseña de registro:",
@@ -68,7 +68,7 @@
         "Password:": "Contraseña:",
         "Attention": "Atención",
         "The Hash Key will be used to decrypt all passwords etc... on the server.": "La llave de hash será utilizada para descifrar todas las contraseñas etc... en el servidor.",
-        "The API Key will be used for all calls to organizr for the UI. [Auto-Generated]": "La llave de API será utilizada para todas las llamadas a organizr desde la interface",
+        "The API Key will be used for all calls to organizr for the UI. [Auto-Generated]": "La llave de API será utilizada para todas las llamadas a Organizr desde la interface",
         "Notice": "Anuncio",
         "Business": "Negocio",
         "Personal": "Personal",
@@ -162,7 +162,7 @@
         "Top Movies": "Mejores peliculas",
         "In Theatres": "En cines",
         "Suggestions": "Sugerencias",
-        "TV": "Televisón",
+        "TV": "TV",
         "Movie": "Película",
         "Denied": "Denegado",
         "Unapproved": "No aprobado",
@@ -178,12 +178,12 @@
         "Seconds": "Segundos",
         "Verify Password": "Verificar Contraseña",
         "Account Information": "Información de cuenta",
-        "Inactive Plugins": "Complementos inactivos",
-        "Active Plugins": "Complementos activos",
+        "Inactive Plugins": "Plugins Inactivos",
+        "Active Plugins": "Plugins Activado",
         "Inactive": "Inactivo",
         "Everything Active": "Todo Activo",
         "Nothing Active": "Nada Activo",
-        "Choose Plex Machine": "Escoge servidor Plex",
+        "Choose Plex Machine": "Escoge Servidor de Plex",
         "Test Speed to Server": "Prueba la velocidad al servidor",
         "Test Server Speed": "Prueba la velocidad del servidor",
         "Subject": "Asunto",
@@ -218,8 +218,8 @@
         "Edit User": "Editar usuario",
         "Password Again": "Contraseña otra vez",
         "Template": "Plantilla",
-        "Plex Machine": "Servidor Plex",
-        "Get Plex Machine": "Obtener servidor Plex",
+        "Plex Machine": "Servidor de Plex",
+        "Get Plex Machine": "Obtener Servidor de Plex",
         "Grab It": "Agarrar",
         "Plex Password": "Contraseña de Plex",
         "Plex Username": "Usuario de Plex",

+ 618 - 0
js/langpack/et[Estonian].json

@@ -0,0 +1,618 @@
+{
+    "token": {
+        "Navigation": "Navigeerimine",
+        "Date": "Kuupäev",
+        "Type": "Tüüp",
+        "IP Address": "IP Aadress",
+        "Username": "Kasutajanimi",
+        "Message": "Sõnum",
+        "My Profile": "Minu Profiil",
+        "Account Settings": "Konto seaded",
+        "Login/Register": "Logi sisse / registreeru",
+        "Logout": "Logi välja",
+        "Inbox": "Postkast",
+        "Go Back": "Mine tagasi",
+        "Reset": "Lähtesta",
+        "Email": "E-post",
+        "Enter your Email and instructions will be sent to you!": "Sisestage oma e-posti aadress ja juhised saadetakse teile!",
+        "Register": "Registreeri",
+        "Registration Password": "Registreerimise parool",
+        "Recover Password": "Taasta parool",
+        "Password": "Parool",
+        "Sign Up": "Registreeri",
+        "Don't have an account?": "Kas teil pole kontot?",
+        "Forgot pwd?": "Unustasite parooli?",
+        "Remember Me": "Mäleta mind",
+        "Login": "Logi sisse",
+        "Installed": "Paigaldatud",
+        "Install Update": "Installige värskendus",
+        "Organizr Versions": "Organizri versioonid",
+        "About": "Teave",
+        "Organizr Logs": "Organizri logid",
+        "Main Settings": "Põhiseaded",
+        "Updates": "Uuendused",
+        "Logs": "Logid",
+        "Main": "Pealeht",
+        "Plugins": "Laiendused",
+        "Manage Users": "Halda Kasutajaid",
+        "Customize Organizr": "Organizri kohandamine",
+        "Edit Categories": "Kategooriate muutmine",
+        "Edit Tabs": "Redigeeri vahelehti",
+        "Tabs": "Vahelehed",
+        "System Settings": "Süsteemisätted",
+        "User Management": "Kasutajahaldus",
+        "Customize": "Kohanda",
+        "Tab Editor": "Vahekaardiredaktor",
+        "Settings": "Seaded",
+        "Organizr Settings": "Organizri Seaded",
+        "Categories": "Kategooriad",
+        "Login Logs": "Sisenemise logid",
+        "Login Log": "Sisselogimislogi",
+        "Organizr Log": "Organizr Logi",
+        "FIXED": "FIKSEERITUD",
+        "NEW": "UUS",
+        "NOTE": "MÄRGE",
+        "Update Available": "Uuendus saadaval",
+        "is available, goto": "on saadaval, mine",
+        "Update Tab": "Värskenda Vahekaart",
+        "Database Name:": "Andmebaasi nimi:",
+        "Database Name": "Andmebaasi nimi",
+        "Database Location:": "Andmebaasi asukoht:",
+        "Database Location": "Andmebaasi asukoht",
+        "Hover to show": "Hõljutage kursorit kuvamiseks",
+        "API Key:": "API võti:",
+        "API Key": "API võti",
+        "Registration Password:": "Registreerimise parool:",
+        "Hash Key:": "Hash võti:",
+        "Hash Key": "Hash Võti",
+        "Password:": "Parool:",
+        "Attention": "Tähelepanu",
+        "The Hash Key will be used to decrypt all passwords etc... on the server.": "Hash võtit kasutatakse kõigi serveris olevate paroolide jms dekrüpteerimiseks.",
+        "The API Key will be used for all calls to organizr for the UI. [Auto-Generated]": "API-võtit kasutatakse kõigi kasutajaliidese korraldamiseks tehtavate kõnede jaoks. [Automaatne]",
+        "Notice": "Märkus",
+        "Business": "Äri",
+        "Personal": "Isiklik",
+        "Choose License": "Valige Litsents",
+        "Install Type": "Installi Tüüp",
+        "Verify": "Kontrolli",
+        "Database": "Andmebaas",
+        "Security": "Turvalisus",
+        "Admin Info": "Administraatori teave",
+        "Parent Directory:": "Vanemkataloog:",
+        "Admin Creation": "Administraatori loomine",
+        "The Database will contain sensitive information.  Please place in directory outside of root Web Directory.": "Andmebaas sisaldab tundlikku teavet. Palun paigutage kataloogi väljaspool juurveebikataloogi.",
+        "MANAGE": "HALDA",
+        "CATEGORY": "KATEGOORIA",
+        "ADDED": "LISATUD",
+        "NAME & EMAIL": "NIMI & EMAIL",
+        "MANAGE USERS": "KASUTAJATE HALDAMINE",
+        "Add User": "Lisa kasutaja",
+        "Manage Groups": "Halda gruppe",
+        "Choose Language": "Valige keel",
+        "Welcome": "Tere tulemast",
+        "License": "Litsents",
+        "Webserver Version": "Veebiserveri versioon",
+        "PHP Version": "PHP versioon",
+        "Organizr Branch": "Organizri haru",
+        "Organizr Version": "Organizri versioon",
+        "Information": "Teave",
+        "Below you will find all the links for everything that has to do with Organizr": "Allpool leiate kõik lingid kõigele, mis on seotud Organizriga",
+        "Loading...": "Laadimine ...",
+        "Donate": "Anneta",
+        "Edit Group": "Muuda gruppi",
+        "For icons, use the following format:": "Ikoonide jaoks kasutage järgmist vormingut:",
+        "For images, use the following format:": "Piltide jaoks kasutage järgmist vormingut:",
+        "You may use an image or icon in this field": "Sellel väljal võite kasutada pilti või ikooni",
+        "Image Legend": "Kujutise legend",
+        "Category Image": "Kategooria pilt",
+        "Category Name": "Kategooria nimi",
+        "Edit Category": "Muuda kategooriat",
+        "Add Category": "Lisa kategooria",
+        "Add New Category": "Lisa uus kategooria",
+        "DELETE": "KUSTUTA",
+        "EDIT": "MUUDA",
+        "DEFAULT": "VAIKIMISI",
+        "TABS": "VAHELEHED",
+        "NAME": "NIMI",
+        "Category Editor": "Kategooriate redaktor",
+        "Tab Image": "Vahekaardi pilt",
+        "Tab URL": "Vahekaardi URL",
+        "Tab Name": "Vahekaardi nimi",
+        "Edit Tab": "Vahekaart Muuda",
+        "Add Tab": "Lisa vaheleht",
+        "Add New Tab": "Lisa uus vaheleht",
+        "SPLASH": "SPLASH",
+        "ACTIVE": "AKTIIVNE",
+        "TYPE": "TÜÜP",
+        "GROUP": "GRUPP",
+        "Delete": "Kustuta",
+        "No": "Ei",
+        "Yes": "Jah",
+        "Deleted Category": "Kustutatud kategooria",
+        "Add New User": "Lisa uus kasutaja",
+        "EMAIL": "EMAIL",
+        "Deleted User": "Kustutatud kasutaja",
+        "Category Order Saved": "Kategooria järjestus on salvestatud",
+        "Group Image": "Grupipilt",
+        "Group Name": "Grupi nimi",
+        "Add Group": "Lisa grupp",
+        "Add New Group": "Lisa uus grupp",
+        "USERS": "KASUTAJAD",
+        "GROUP NAME": "GRUPI NIMI",
+        "MANAGE GROUPS": "RÜHMADE HALDAMINE",
+        "Changed Language To": "Keel on muutunud",
+        "Groups": "Grupid",
+        "Users": "Kasutajad",
+        "Appearance": "Välimus",
+        "Customize Appearance": "Kohandage välimust",
+        "Request Me!": "Taotle mind!",
+        "Would you like to Request it?": "Kas soovite seda taotleda?",
+        "No Results for:": "Ei ole tulemusi:",
+        "Nothing in queue": "Järjekorras pole midagi",
+        "Nothing in history": "Ajaloos pole midagi",
+        "Nothing in hitsory": "Ajaloos pole midagi",
+        "Load More": "Lae rohkem",
+        "Request": "Taotlus",
+        "No Results": "Tulemused puuduvad",
+        "Airs Today TV": "Eetris on täna teler",
+        "Popular TV": "Populaarne teler",
+        "Top TV": "Parim teler",
+        "Upcoming Movies": "Eelseisvad filmid",
+        "Popular Movies": "Populaarsed filmid",
+        "Top Movies": "Populaarseimad filmid",
+        "In Theatres": "Teatrites",
+        "Suggestions": "Ettepanekud",
+        "TV": "TV",
+        "Movie": "Film",
+        "Denied": "Keeldunud",
+        "Unapproved": "Kinnitamata",
+        "Approved": "Heaks kiidetud",
+        "Unavailable": "Pole saadaval",
+        "Available": "Saadaval",
+        "Recently Added": "Viimati lisatud",
+        "Active": "Aktiivne",
+        "Requested By:": "Nõutud:",
+        "Request Options": "Taotle valikuid",
+        "Deny": "Eita",
+        "OK": "Okei",
+        "Seconds": "Sekundid",
+        "Verify Password": "Kinnita parool",
+        "Account Information": "Konto teave",
+        "Inactive Plugins": "Mitteaktiivsed pistikprogrammid",
+        "Active Plugins": "Aktiivsed pistikprogrammid",
+        "Inactive": "Mitteaktiivne",
+        "Everything Active": "Kõik aktiivne",
+        "Nothing Active": "Pole midagi aktiivset",
+        "Choose Plex Machine": "Valige Plex Machine",
+        "Test Speed to Server": "Serveri testimise kiirus",
+        "Test Server Speed": "Testige serveri kiirust",
+        "Subject": "Teema",
+        "To:": "Saaja:",
+        "Email Users": "E-posti kasutajad",
+        "E-Mail Center": "E-posti keskus",
+        "You have been invited. Please goto ": "Teid on kutsutud. Palun mine edasi ",
+        "Use Invite Code": "Kasutage kutsekoodi",
+        "VALID": "KEHTIV",
+        "IP ADDRESS": "IP-AADRESS",
+        "USED BY": "KASUTATUD",
+        "DATE USED": "KASUTAMISE KUUPÄEV",
+        "DATE SENT": "SAATMISKUUPÄEV",
+        "INVITE CODE": "KUTSUNGI KOOD",
+        "USERNAME": "USERNAME",
+        "Manage Invites": "Kutsete haldamine",
+        "No Invites": "Kutseid pole",
+        "Create/Send Invite": "Kutse loomine / saatmine",
+        "Name or Username": "Nimi või kasutajanimi",
+        "New Invite": "Uus kutse",
+        "Hover to show ": "Hõljutage kursorit kuvamiseks ",
+        "Parent Directory: ": "Vanemkataloog: ",
+        "The Database will contain sensitive information. Please place in directory outside of root Web Directory.": "Andmebaas sisaldab tundlikku teavet. Palun paigutage kataloogi väljaspool juurveebikataloogi.",
+        "I Want to Help": "Ma tahan aidata",
+        "Head on over to POEditor and help us translate Organizr into your language": "Minge POEditori juurde ja aidake meil Organizr teie keelde tõlkida",
+        "Want to help translate?": "Kas soovite tõlkimisel aidata?",
+        "Single Sign-On": "Ühekordne sisselogimine",
+        "Coming Soon...": "Tulekul...",
+        "Homepage Order": "Kodulehe tellimine",
+        "Homepage Items": "Kodulehe üksused",
+        "Image Manager": "Pildihaldur",
+        "Edit User": "Muuda kasutajat",
+        "Password Again": "Parool uuesti",
+        "Template": "Mall",
+        "Plex Machine": "Plexi Masin",
+        "Get Plex Machine": "Hankige Plexi Masin",
+        "Grab It": "Haara see",
+        "Plex Password": "Plexi parool",
+        "Plex Username": "Plexi kasutajanimi",
+        "Enter Plex Details": "Sisestage Plexi üksikasjad",
+        "Get Plex Token": "Hankige Plex Token",
+        "Upload Image": "Lae pilt üles",
+        "View Images": "Kuva pilte",
+        "Reload": "Laadige uuesti",
+        "Unlock": "Ava",
+        "Browser Information": "Teave brauseri kohta",
+        "Web Folder": "Veebikaust",
+        "Dependencies Missing": "Sõltuvused puuduvad",
+        "Organizr Dependency Check": "Organizri sõltuvuse kontroll",
+        "Please make sure both Token and Machine are filled in": "Veenduge, et nii Token kui ka Masin oleksid täidetud",
+        "Loading Requests...": "Taotluste laadimine ...",
+        "Loading Recent...": "Hiljutiste laadimine ...",
+        "Loading Now Playing...": "Praegu esitatava laadimine ...",
+        "Loading Playlists...": "Esitusloendite laadimine ...",
+        "Loading Download Queue...": "Allalaadimisjärjekorra laadimine ...",
+        "Organizr Mod Picks": "Organizr Modi valikud",
+        "Requests": "Taotlused",
+        "Become Sponsor": "Hakka sponsoriks",
+        "Splash Page": "Pritsige leht",
+        "Lock Screen": "Lukusta ekraan",
+        "If you signed in with a Emby Acct... Please use the following link to change your password there:": "Kui logisite sisse Emby Acctiga ... Palun kasutage oma parooli muutmiseks järgmist linki:",
+        "Password Notice": "Parooliteatis",
+        "If you signed in with a Plex Acct... Please use the following link to change your password there:": "Kui logisite sisse Plex Acctiga ... Palun kasutage oma parooli muutmiseks järgmist linki:",
+        "Active Tokens": "Aktiivsed Tokenid",
+        "Deactivate": "Inaktiveeri",
+        "Activate": "Aktiveeri",
+        "Current": "Praegune",
+        "Save": "Salvesta",
+        "STATUS": "STAATUS",
+        "PLUGIN": "VIDIN",
+        "Plugin Marketplace": "Vidinate turg",
+        "Marketplace": "Turg",
+        "Chat": "Vestlus",
+        "Current Directory: ": "Praegune kataloog: ",
+        "Suggested Directory: ": "Soovitatud kataloog: ",
+        "The Registration Password will lockout the registration field with this password. {User-Generated]": "Registreerimisparool lukustab selle parooliga registreerimisvälja. {Kasutaja loodud]",
+        "The Hash Key will be used to decrypt all passwords etc... on the server. {User-Generated]": "Hash-klahvi kasutatakse kõigi serveris olevate paroolide jms dekrüpteerimiseks. {Kasutaja loodud]",
+        "If using Plex or Emby - It is suggested that you use the username and email of the Admin account.": "Plexi või Emby kasutamisel - soovitatakse kasutada administraatori konto kasutajanime ja e-posti aadressi.",
+        "Business has Media items hidden [Plex, Emby etc...]": "Ettevõttel on meediaüksused peidetud [Plex, Emby jne ...]",
+        "Personal has everything unlocked - no restrictions": "Isiklikul on kõik lukustamata - piiranguid pole",
+        "Continue To Website": "Edasi veebisaidile",
+        "Patreon": "Patreon",
+        "Cryptos": "Krüptod",
+        "Square Cash": "Square Cash",
+        "PayPal": "PayPal",
+        "Beerpay.io": "Beerpay.io",
+        "Sponsors": "Sponsorid",
+        "THEME": "TEEMA",
+        "Theme Marketplace": "Teematurg",
+        "Test Tab": "Testi vaheleht",
+        "Select or type Icon": "Valige või tippige ikoon",
+        "Choose Icon": "Valige ikoon",
+        "Choose Image": "Valige Pilt",
+        "Ping URL": "Pingi URL",
+        "Please set tab as [New Window] on next screen": "Järgmisel ekraanil määrake vaheleht [Uus aken]",
+        "Tab can be set as iFrame": "Vahekaardi saab määrata iFrame-i",
+        "Premier": "Premier",
+        "Missing": "Puudub",
+        "Unaired": "Ilmumata",
+        "Downloaded": "Allalaaditud",
+        "All": "Kõik",
+        "Choose Media Status": "Valige Meedia olek",
+        "Music": "Muusika",
+        "Choose Media Type": "Valige meediumitüüp",
+        "PHP Version Check": "PHP versiooni kontroll",
+        "Don\\'t have an account?": "Kas teil pole kontot?",
+        "The value of #987654 is just a placeholder, you can change to any value you like.": "# 987654 väärtus on lihtsalt kohatäide, saate selle muuta mis tahes väärtuseks.",
+        "This is not the same as database authentication - i.e. Plex Authentication | Emby Authentication | FTP Authentication": "See ei ole sama mis andmebaasi autentimine - st Plex Authentication | Emby autentimine | FTP autentimine",
+        "Status: [ ": "Staatus: [ ",
+        "This module requires XMLRPC": "See moodul nõuab XMLRPC-d",
+        "Misc Options": "Muud valikud",
+        "Search My Media": "Otsige Minu meediumist",
+        "Import Plex Users": "Plexi kasutajate importimine",
+        "Import": "Impordi",
+        "INSTALL": "PAIGALDA",
+        "INFO": "INFO",
+        "Day": "Päev",
+        "Week": "Nädal",
+        "Month": "Kuu",
+        "List": "Nimekiri",
+        "Streams": "Vood",
+        "javascript:void(0)": "javascript: void (0)",
+        "Request Show or Movie": "Taotle saadet või filmi",
+        "Mark as Unavailable": "Märgi kättesaamatuks",
+        "Mark as Available": "Märgi saadaolevaks",
+        "Approve": "Kinnita",
+        "Start": "Alusta",
+        "Everyone Refresh Seconds": "Kõik värskendavad sekundeid",
+        "Admin Refresh Seconds": "Administraatori värskendamise sekundid",
+        "Minimum Authentication for Time Display": "Minimaalne autentimine aja kuvamiseks",
+        "Show Ping Time": "Näita pingiaega",
+        "Offline Sound": "Võrguühenduseta heli",
+        "Online Sound": "Online heli",
+        "Minimum Authentication for Message and Sound": "Minimaalne autentimine sõnumi ja heli jaoks",
+        "Minimum Authentication": "Minimaalne autentimine",
+        "Nginx Auth Debug": "Nginx Auth silumine",
+        "Hide Registration": "Peida registreerimine",
+        "Lockout Groups To": "Lukusta grupid",
+        "Lockout Groups From": "Gruppide blokeerimine",
+        "Inactivity Lock": "Mitteaktiivsuse lukustus",
+        "Inactivity Timer [Minutes]": "Mitteaktiivsuse taimer [minutid]",
+        "Emby Token": "Emby märk",
+        "http(s)://hostname:port": "http (s): // hostinimi: port",
+        "Emby URL": "Emby URL",
+        "cn=%s,dc=sub,dc=domain,dc=com": "cn =% s, dc = sub, dc = domeen, dc = com",
+        "Host Base DN": "Host Base DN",
+        "http{s) | ftp(s) | ldap(s)://hostname:port": "http {s) | ftp (d) | ldap (s): // hostinimi: port",
+        "Host Address": "Host aadress",
+        "Enable Plex oAuth": "Luba Plex oAuth",
+        "Retrieve": "Too",
+        "Use Get Plex Machine Button": "Kasutage nuppu Get Plex Machine",
+        "Use Get Token Button": "Kasutage nuppu Hangi märk",
+        "Plex Token": "Plexi märk",
+        "Authentication Backend": "Autentimise taustaprogramm",
+        "Authentication Type": "Autentimise tüüp",
+        "Generate": "Loo",
+        "Generate New API Key": "Loo uus API võti",
+        "Organizr API": "Organizr API",
+        "Force Install Branch": "Sunniviisiliselt installi haru",
+        "Branch": "Filiaal",
+        "SSO": "SSO",
+        "Enable": "Luba",
+        "Tautulli URL": "Tautulli URL",
+        "Ombi URL": "Ombi URL",
+        "Plex Note": "Plex Note",
+        "Admin username for Plex": "Plexi administraatori kasutajanimi",
+        "Admin Username": "Administraatori kasutajanimi",
+        "Click Main on the sub-menu above.": "Klõpsake ülaltoodud alammenüüs valikut Main.",
+        "Important Information": "Oluline teave",
+        "PING": "PING",
+        "Custom HTML/JavaScript": "Kohandatud HTML / JavaScript",
+        "CustomHTML-2": "KohandatudHTML-2",
+        "CustomHTML-1": "KohandatudHTML-1",
+        "Refresh Seconds": "Värskenda sekundeid",
+        "Limit to User": "Piirake kasutajaga",
+        "Minimum Group to Request": "Minimaalne taotletav rühm",
+        "Token": "Tähis",
+        "URL": "URL",
+        "Ombi": "Ombi",
+        "Items Per Day": "Üksused päevas",
+        "Time Format": "Ajavorming",
+        "Default View": "Vaikevaade",
+        "Start Day": "Alguspäev",
+        "SickRage": "Haige raev",
+        "CouchPotato": "Tugitooli sportlane",
+        "Test Connection": "Testige ühendust",
+        "Please Save before Testing": "Enne testimist salvestage",
+        "# of Days After": "# päeva pärast",
+        "# of Days Before": "# päeva enne",
+        "Radarr": "Radarr",
+        "Lidarr": "Lidarr",
+        "Show Unmonitored": "Kuva jälgimata",
+        "Sonarr": "Sonarr",
+        "Hide Completed": "Peida lõpetatud",
+        "Hide Seeding": "Peida külv",
+        "Deluge": "Uputus",
+        "Order": "Tellimus",
+        "Status: [": "Staatus: [",
+        "]": "]",
+        "rTorrent": "rTorrent",
+        "Reverse Sorting": "Vastupidine sortimine",
+        "qBittorrent": "qBittorrent",
+        "Transmission": "Edasikandumine",
+        "NZBGet": "NZBGet",
+        "SabNZBD": "SabNZBD",
+        "Image Cache Size": "Pildi vahemälu suurus",
+        "Emby Tab WAN URL": "Emby vahelehe WAN URL",
+        "Only use if you have Emby in a reverse proxy": "Kasutage ainult siis, kui teil on Emby vastupidises puhverserveris",
+        "Emby Tab Name": "Embi vahelehe nimi",
+        "Item Limit": "Üksuse piirang",
+        "Minimum Authorization": "Minimaalne luba",
+        "User Information": "Kasutaja teave",
+        "Emby": "Emby",
+        "Plex Tab WAN URL": "Plexi vahekaardi WAN URL",
+        "Only use if you have Plex in a reverse proxy": "Kasutage ainult siis, kui Plex on vastupidises puhverserveris",
+        "Plex Tab Name": "Plexi vahelehe nimi",
+        "Media Server": "Meediumiserver",
+        "Plex": "Plex",
+        "separate by comma's": "eraldage komadega",
+        "iCal URL's": "iCali URL-id",
+        "Enable iCal": "Luba iCal",
+        "Calendar": "Kalender",
+        "Theme Javascript": "Teema Javascript",
+        "Custom Javascript": "Kohandatud Javascript",
+        "Theme CSS [Can replace colors from above]": "Teema CSS [suudab asendada värve ülalt]",
+        "Custom CSS [Can replace colors from above]": "Kohandatud CSS [suudab asendada värve ülalt]",
+        "Copy code and paste inside left box": "Kopeerige kood ja kleepige vasakusse kasti",
+        "Download and unzip file and place in": "Laadige fail alla ja pakkige lahti ning asetage see",
+        "Click [Generate your Favicons and HTML code]": "Klõpsake nuppu [Loo oma lemmikud ja HTML-kood]",
+        "Enter this path": "Sisestage see tee",
+        "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.]": "Valige lehe [Favicon Generator Options] alt [Tee] alt [[Ma ei saa või ma ei soovi paigutada favicon-faile oma veebisaidi juurtesse].",
+        "Edit settings to your liking": "Muutke seadeid oma maitse järgi",
+        "Choose your image to use": "Valige kasutatav pilt",
+        "Click [Select your Favicon picture]": "Klõpsake [Valige oma Faviconi pilt]",
+        "Instructions": "Juhised",
+        "Fav Icon Code": "Fav ikooni kood",
+        "Test Message": "Testisõnum",
+        "Position": "Positsioon",
+        "Style": "Stiil",
+        "Theme": "Teema",
+        "Button Text Color": "Nupu teksti värv",
+        "Button Color": "Nupu värv",
+        "Accent Text Color": "Rõhumärgi teksti värv",
+        "Accent Color": "Aktsentvärv",
+        "Side Bar Text Color": "Külgriba teksti värv",
+        "Side Bar Color": "Külgriba värv",
+        "Nav Bar Text Color": "Naviriba teksti värv",
+        "Nav Bar Color": "Naviriba värv",
+        "Unsorted Tab Placement": "Sorteerimata vahelehtede paigutus",
+        "Alternate Homepage Titles": "Alternatiivsed kodulehe pealkirjad",
+        "Minimal Login Screen": "Minimaalne sisselogimisekraan",
+        "Login Wallpaper": "Sisselogimise taustpilt",
+        "Use Logo instead of Title": "Kasutage pealkirja asemel logo",
+        "Title": "Pealkiri",
+        "Logo": "Logo",
+        "Import Users": "Importige kasutajad",
+        "Drop files here to upload": "Visake failid siia üleslaadimiseks",
+        "SpeedTest Settings": "SpeedTesti seaded",
+        "PHP Mailer Settings": "PHP Maileri seaded",
+        "Invites Settings": "Kutsub seadeid",
+        "Chat Settings": "Vestluse seaded",
+        "Delete ": "Kustuta ",
+        "App Cluster": "Rakenduste klaster",
+        "App ID": "Rakenduse ID",
+        "API Secret": "API saladus",
+        "Auth Key": "Auth-võti",
+        "Use Pusher SSL": "Kasutage Pusher SSL-i",
+        "Message Sound": "Sõnumi heli",
+        "# of Previous Messages": "Eelmiste sõnumite arv",
+        "Note": "Märge",
+        "Libraries": "Raamatukogud",
+        "Body": "Keha",
+        "Name": "Nimi",
+        "Template #4": "Mall # 4",
+        "Template #3": "Mall # 3",
+        "Template #2": "Mall nr 2",
+        "Reminder Template": "Meeldetuletuse mall",
+        "Invite User": "Kutsu kasutaja",
+        "Reset Password": "Lähtesta parool",
+        "New Registration": "Uus registreerimine",
+        "Edit Template": "Redigeeri malli",
+        "Send Welcome E-Mail": "Saada tervitusmeil",
+        "Full URL": "Täielik URL",
+        "WAN Logo URL": "WAN-logo URL",
+        "https://domain.com/": "https://domain.com/",
+        "Domain Link Override": "Domeeni lingi alistamine",
+        "Send": "Saada",
+        "Send Test": "Saada test",
+        "i.e. same as username": "st sama, mis kasutajanimi",
+        "Sender Email": "Saatja e-post",
+        "Sender Name": "Saatja nimi",
+        "Verify Certificate": "Kontrollige sertifikaati",
+        "Authentication": "Autentimine",
+        "SMTP Port": "SMTP-port",
+        "SMTP Host": "SMTP-host",
+        "Results For cmd:": "Cmd tulemused:",
+        "Organizr Information:": "Organizri teave:",
+        "DB Schema": "DB skeem",
+        "Misc SSO": "Muu SSO",
+        "Tautulli SSO": "Tautulli SSO",
+        "Plex SSO": "Plex SSO",
+        "Ombi SSO": "Ombi SSO",
+        "Commands": "Käsud",
+        "Input Command": "Sisendkäsklus",
+        "Organizr Debug Area": "Organizri silumisala",
+        "Google Ads": "Google Ads",
+        "DB Folder": "DB kaust",
+        "API Folder": "API kaust",
+        "Root Folder": "Juurkaust",
+        "Organizr Paths": "Organizr Rajad",
+        "Organizr News": "Organizri uudised",
+        "Close Error": "Sule viga",
+        "An Error Occured": "Ilmnes viga",
+        "Debug Area": "Silumispiirkond",
+        "Tab Local URL": "Vahekaart Kohalik URL",
+        "PRELOAD": "EELLAADIMINE",
+        "Use Ombi Alias Names": "Kasutage Ombi varjunimesid",
+        "TV Show Default Request": "Telesaate vaiketaotlus",
+        "Add to Combined Downloader": "Lisa kombineeritud allalaadijasse",
+        "http(s)://hostname:port/xmlrpc": "http (s): // hostinimi: port / xmlrpc",
+        "rTorrent API URL Override": "rTorrent API URL-i alistamine",
+        "Enable Notify Sounds": "Luba Teata helidest",
+        "Remember Me Length": "Pidage meeles pikkust",
+        "Minimum Authentication for Debug Area": "Silumispiirkonna minimaalne autentimine",
+        "Account DN": "Konto DN",
+        "Bind Username": "Seo kasutajanimi",
+        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "Konto järelliide - alustage komaga -, ou = inimesed, dc = domeen, dc = tld",
+        "Account Suffix": "Konto järelliide",
+        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Konto prefiks - s.t Controller \\ from Controller \\ AD kasutajanimi - uid = OpenLDAP-i jaoks",
+        "Account Prefix": "Konto prefiks",
+        "LDAP Backend Type": "LDAP taustaprogrammi tüüp",
+        "Strict Plex Friends": "Ranged Plexi sõbrad",
+        "Unifi": "Unifi",
+        "Pi-hole": "Pi-auk",
+        "Check For Updates": "Kontrolli kas uuendused on saadaval",
+        "I will try and import new strings every Friday": "Igal reedel proovin ja impordin uusi stringe",
+        "Custom definitions": "Kohandatud määratlused",
+        "Show on small screens": "Saate väikestel ekraanidel",
+        "Show on medium screens": "Kuva keskmistel ekraanidel",
+        "Show on large screens": "Kuva suurtel ekraanidel",
+        "Size": "Suurus",
+        "Colour": "Värv",
+        "Chart": "Diagramm",
+        "Data": "Andmed",
+        "Info": "Info",
+        "Netdata": "Netdata",
+        "Toggle Title": "Lülita pealkiri",
+        "Speedtest": "Kiirtest",
+        "Unit of Measurement": "Mõõtühik",
+        "Enable Pollen": "Luba õietolm",
+        "Enable Air Quality": "Luba õhukvaliteet",
+        "Enable Weather": "Luba ilm",
+        "Need Help With Coordinates?": "Kas vajate koordinaatide abi?",
+        "Longitude": "Pikkuskraad",
+        "Latitude": "Laiuskraad",
+        "Weather-Air": "Ilm-õhk",
+        "Compact view": "Kompaktne vaade",
+        "http://domain.com/monitorr/": "http://domain.com/monitorr/",
+        "Monitorr": "Monitorr",
+        "Top Platforms": "Parimad platvormid",
+        "Top Users": "Parimad kasutajad",
+        "http://<ip>:<port>": "http: // <ip>: <port>",
+        "Tautulli": "Tautulli",
+        "Combine stat cards": "Kombineerige statistikaardid",
+        "http(s)://hostname:port/admin/": "http (s): // hostinimi: port / admin /",
+        "Youtube API Key": "Youtube API võti",
+        "Misc": "Muud",
+        "Multiple tags using CSV - tag1,tag2": "Mitu silti CSV-ga - tag1, tag2",
+        "Tags": "Sildid",
+        "HealthChecks API URL": "HealthChecks API URL",
+        "HealthChecks": "Tervisekontroll",
+        "Get Unifi Site": "Hankige Unifi sait",
+        "Grab Unifi Site": "Haara Unifi sait",
+        "Site Name": "Saidi nimi",
+        "Unifi API URL": "Unifi API URL",
+        "Show Denied": "Saade keelatud",
+        "Show Unapproved": "Kuva kinnitamata",
+        "Show Approved": "Kuva kinnitatud",
+        "Show Unavailable": "Kuva pole saadaval",
+        "Show Available": "Kuva saadaval",
+        "Disable Certificate Check": "Keela sertifikaatide kontroll",
+        "Organizr appends the url with": "Organizr lisab URL-i",
+        "unless the URL ends in": "välja arvatud juhul, kui URL lõpeb",
+        "ATTENTION": "TÄHELEPANU",
+        "API Version": "API versioon",
+        "JDownloader": "JDownloader",
+        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http (s): // hostinimi: port - veenduge, et Jelly lõpeks URL-i / jellyfiniga",
+        "Emby-Jellyfin": "Emby-Jellyfin",
+        "Tab Auto Action Minutes": "Vahekaart Automaatsed toimingu minutid",
+        "Tab Auto Action": "Vahekaart Automaatne toiming",
+        "To revert back to default, save with no value defined in the relevant field.": "Vaikimisi naasmiseks salvestage vastaval väljal määratlemata väärtus.",
+        "e.g. UA-XXXXXXXXX-X": "nt. UA-XXXXXXXXX-X",
+        "Google Analytics Tracking ID": "Google Analyticsi jälgimise ID",
+        "Show Debug Errors": "Kuva silumisvead",
+        "Use Logo instead of Title on Login Page": "Kasutage sisselogimislehel pealkirja asemel logo",
+        "Login Logo": "Sisselogimise logo",
+        "Meta Description": "Meta kirjeldus",
+        "HealthChecks Settings": "Tervisekontrollide seaded",
+        "AdamSmith": "AdamSmith",
+        "Emby User to be used as template for new users": "Emby Kasutajat kasutatakse uute kasutajate mallina",
+        "localhost:8086": "kohalik host: 8086",
+        "Emby server adress": "Emby serveri aadress",
+        "enter key from emby": "Emby sisestusklahv",
+        "Emby API key": "Emby API võti",
+        "Music Labels (comma separated)": "Muusikasildid (eraldatud komaga)",
+        "Movies Labels (comma separated)": "Filmide sildid (eraldatud komaga)",
+        "TV Labels (comma separated)": "Telesildid (eraldatud komaga)",
+        "Template #1": "Mall nr 1",
+        "Enable Debug Output on Email Test": "Luba silumise väljund e-posti testimisel",
+        "i.e. 10.0.0.0/24 or 10.0.0.20": "st 10.0.0.0/24 või 10.0.0.20",
+        "Auth Proxy Whitelist": "Autentige puhverserveri lubatud loend",
+        "i.e. X-Forwarded-User": "st X-Edastatud-Kasutaja",
+        "Auth Proxy Header Name": "Autentsuse puhverserveri päise nimi",
+        "Auth Proxy": "Automaatne puhverserver",
+        "Enable Local Address Forward": "Luba kohaliku aadressi edastamine",
+        "http://home.local": "http: //home.local",
+        "Local Address": "Kohalik aadress",
+        "only domain and tld - i.e. domain.com": "ainult domeen ja tld - st domeen.com",
+        "WAN Domain": "WAN-domeen",
+        "i.e. 123.123.123.123": "st 123.123.123.123",
+        "Override Local IP To": "Alista kohalik IP aadress",
+        "Override Local IP From": "Alista kohalik IP aadressilt",
+        "Disable Image Dropdown": "Keela pildi rippmenüü",
+        "Disable Icon Dropdown": "Keela ikooni rippmenüü",
+        "Enable Traefik Auth Redirect": "Luba Traefik Auth ümbersuunamine",
+        "iFrame Sandbox": "iFrame liivakast",
+        "Login Lockout Seconds": "Sisselogimise blokeerimise sekundid",
+        "Max Login Attempts": "Maksimaalne sisselogimiskatse",
+        "Test Login": "Testige sisselogimist",
+        "Ignore External 2FA on Local Subnet": "Eira välist 2FA kohalikus alamvõrgus"
+    }
+}

+ 17 - 17
js/langpack/fi[Finnish].json

@@ -1,48 +1,48 @@
 {
     "token": {
-        "Navigation": "Navigation",
+        "Navigation": "Navigointi",
         "Date": "Päiväys",
-        "Type": "Type",
+        "Type": "Tyyppi",
         "IP Address": "IP Osoite",
         "Username": "Käyttäjänimi",
-        "Message": "Message",
+        "Message": "Viesti",
         "My Profile": "Profiili",
         "Account Settings": "Profiilin asetukset",
         "Login/Register": "Kirjaudu/Liity",
         "Logout": "Kirjaudu ulos",
-        "Inbox": "Inbox",
-        "Go Back": "Go Back",
-        "Reset": "Reset",
+        "Inbox": "Saapuneet",
+        "Go Back": "Mene takaisin",
+        "Reset": "Nollaa",
         "Email": "Sähköposti",
         "Enter your Email and instructions will be sent to you!": "Kirjoita sähköpostisi ja lähetämme sinulle ohjeet!",
-        "Register": "Register",
-        "Registration Password": "Registration Password",
+        "Register": "Rekisteröidy",
+        "Registration Password": "Rekisteröintisalasana",
         "Recover Password": "Palautus salasana",
         "Password": "Salasana",
-        "Sign Up": "Sign Up",
+        "Sign Up": "Kirjaudu",
         "Don't have an account?": "Eikö ole tunnuksia?",
         "Forgot pwd?": "Unohditko salasanan?",
         "Remember Me": "Muista minut",
         "Login": "Kirjaudu",
         "Installed": "Asennettu",
         "Install Update": "Päivitä",
-        "Organizr Versions": "Organizr Versions",
+        "Organizr Versions": "Organizr-versiot",
         "About": "About",
-        "Organizr Logs": "Organizr Logs",
+        "Organizr Logs": "Organizr-lokit",
         "Main Settings": "Asetukset",
         "Updates": "Päivitykset",
         "Logs": "Logit",
         "Main": "Main",
         "Plugins": "Lisäosat",
-        "Manage Users": "Manage Users",
-        "Customize Organizr": "Customize Organizr",
-        "Edit Categories": "Edit Categories",
+        "Manage Users": "Hallitse käyttäjiä",
+        "Customize Organizr": "Mukauta Organizr",
+        "Edit Categories": "Muokkaa luokkia",
         "Edit Tabs": "Edit Tabs",
         "Tabs": "Tabs",
-        "System Settings": "System Settings",
+        "System Settings": "Järjestelmäasetukset",
         "User Management": "Käyttäjätilien hallinta",
         "Customize": "Muokkaa",
-        "Tab Editor": "Tab Editor",
+        "Tab Editor": "Välilehden muokkaus",
         "Settings": "Asetkset",
         "Organizr Settings": "Organizr:in asetukset",
         "Categories": "Kategoriat",
@@ -56,7 +56,7 @@
         "is available, goto": "is available, goto",
         "Update Tab": "Päivitys ikkuna",
         "Database Name:": "Tietokannan nimi:",
-        "Database Name": "Database Name",
+        "Database Name": "Tietokannan nimi",
         "Database Location:": "Tietokannan paikka",
         "Database Location": "Database Location",
         "Hover to show": "Hover to show",

+ 1 - 1
js/langpack/hu[Hungarian].json

@@ -41,7 +41,7 @@
         "Tabs": "Lapok",
         "System Settings": "Rendszerbeállítások",
         "User Management": "Felhasználó kezelés",
-        "Customize": "Tetreszabás",
+        "Customize": "Testreszabás",
         "Tab Editor": "Lap szerkesztő",
         "Settings": "Beállítások",
         "Organizr Settings": "Organizr beállítások",

+ 134 - 36
js/langpack/it[Italian].json

@@ -214,7 +214,7 @@
         "Coming Soon...": "Prossimamente...",
         "Homepage Order": "Ordine Homepage",
         "Homepage Items": "Elementi Homepage",
-        "Image Manager": "Gestore Immaggini",
+        "Image Manager": "Gestore Immagini",
         "Edit User": "Modifica Utente",
         "Password Again": "Ripeti Password",
         "Template": "Modello",
@@ -293,9 +293,9 @@
         "The value of #987654 is just a placeholder, you can change to any value you like.": "Il valore di #987654 è solo un placeholder, puoi cambiarlo in qualsiasi valore tu voglia.",
         "This is not the same as database authentication - i.e. Plex Authentication | Emby Authentication | FTP Authentication": "This is not the same as database authentication - i.e. Plex Authentication | Emby Authentication | FTP Authentication",
         "Status: [ ": "Status: [ ",
-        "This module requires XMLRPC": "This module requires XMLRPC",
+        "This module requires XMLRPC": "Questo modulo richiede XMLRPC",
         "Misc Options": "Opzioni Varie",
-        "Search My Media": "Search My Media",
+        "Search My Media": "Cerca My Media",
         "Import Plex Users": "Importa gli Utenti di Plex",
         "Import": "Importa",
         "INSTALL": "Installa",
@@ -314,17 +314,17 @@
         "Everyone Refresh Seconds": "Tempo (in secondi) di Refresh per Tutti",
         "Admin Refresh Seconds": "Tempo (in secondi) di Refresh per Admin",
         "Minimum Authentication for Time Display": "Autenticazione minima per Display del Tempo",
-        "Show Ping Time": "Show Ping Time",
-        "Offline Sound": "Offline Sound",
-        "Online Sound": "Online Sound",
-        "Minimum Authentication for Message and Sound": "Minimum Authentication for Message and Sound",
-        "Minimum Authentication": "Minimum Authentication",
+        "Show Ping Time": "Mostra Tempo di Ping",
+        "Offline Sound": "Suono Offline",
+        "Online Sound": "Suono Online",
+        "Minimum Authentication for Message and Sound": "Autenticazione Minima per Messaggi e Suoni",
+        "Minimum Authentication": "Autenticazione Minima",
         "Nginx Auth Debug": "Nginx Auth Debug",
-        "Hide Registration": "Hide Registration",
+        "Hide Registration": "Nascondi Registrazione",
         "Lockout Groups To": "Lockout Groups To",
         "Lockout Groups From": "Lockout Groups From",
-        "Inactivity Lock": "Inactivity Lock",
-        "Inactivity Timer [Minutes]": "Inactivity Timer [Minutes]",
+        "Inactivity Lock": "Blocco Inattività",
+        "Inactivity Timer [Minutes]": "Tempo Inattività [Minuti]",
         "Emby Token": "Emby Token",
         "http(s)://hostname:port": "http(s)://hostname:port",
         "Emby URL": "Emby URL",
@@ -433,26 +433,26 @@
         "Nav Bar Text Color": "Nav Bar Text Color",
         "Nav Bar Color": "Nav Bar Color",
         "Unsorted Tab Placement": "Unsorted Tab Placement",
-        "Alternate Homepage Titles": "Alternate Homepage Titles",
-        "Minimal Login Screen": "Minimal Login Screen",
+        "Alternate Homepage Titles": "Titoli Homepage Alternativi",
+        "Minimal Login Screen": "Schermata di Login Minimale",
         "Login Wallpaper": "Login Wallpaper",
-        "Use Logo instead of Title": "Use Logo instead of Title",
-        "Title": "Title",
+        "Use Logo instead of Title": "Usa Logo invece che Titolo",
+        "Title": "Titolo",
         "Logo": "Logo",
-        "Import Users": "Import Users",
-        "Drop files here to upload": "Drop files here to upload",
-        "SpeedTest Settings": "SpeedTest Settings",
+        "Import Users": "Importa Utenti",
+        "Drop files here to upload": "Rilascia i file qui per caricarli",
+        "SpeedTest Settings": "Impostazioni SpeedTest",
         "PHP Mailer Settings": "PHP Mailer Settings",
         "Invites Settings": "Invites Settings",
-        "Chat Settings": "Chat Settings",
-        "Delete ": "Delete ",
+        "Chat Settings": "Impostazioni Chat",
+        "Delete ": "Cancella ",
         "App Cluster": "App Cluster",
         "App ID": "App ID",
         "API Secret": "API Secret",
         "Auth Key": "Auth Key",
         "Use Pusher SSL": "Use Pusher SSL",
-        "Message Sound": "Message Sound",
-        "# of Previous Messages": "# of Previous Messages",
+        "Message Sound": "Suono Messaggio",
+        "# of Previous Messages": "# di Messaggi Precedenti",
         "Note": "Note",
         "Libraries": "Libraries",
         "Body": "Body",
@@ -470,17 +470,17 @@
         "WAN Logo URL": "WAN Logo URL",
         "https://domain.com/": "https://domain.com/",
         "Domain Link Override": "Domain Link Override",
-        "Send": "Send",
-        "Send Test": "Send Test",
+        "Send": "Invia",
+        "Send Test": "Invia Test",
         "i.e. same as username": "i.e. same as username",
         "Sender Email": "Sender Email",
         "Sender Name": "Sender Name",
         "Verify Certificate": "Verify Certificate",
-        "Authentication": "Authentication",
+        "Authentication": "Autenticazione",
         "SMTP Port": "SMTP Port",
         "SMTP Host": "SMTP Host",
         "Results For cmd:": "Result For cmd:",
-        "Organizr Information:": "Organizr Information:",
+        "Organizr Information:": "Informazioni su Organizr",
         "DB Schema": "DB Schema",
         "Misc SSO": "Misc SSO",
         "Tautulli SSO": "Tautulli SSO",
@@ -490,24 +490,24 @@
         "Input Command": "Input Command",
         "Organizr Debug Area": "Organizr Debug Area",
         "Google Ads": "Google Ads",
-        "DB Folder": "DB Folder",
-        "API Folder": "API Folder",
-        "Root Folder": "Root Folder",
-        "Organizr Paths": "Organizr Paths",
-        "Organizr News": "Organizr News",
+        "DB Folder": "Cartella DB",
+        "API Folder": "Cartella API",
+        "Root Folder": "Cartella Root",
+        "Organizr Paths": "Percorsi Organizr",
+        "Organizr News": "Notizie Organizr",
         "Close Error": "Close Error",
-        "An Error Occured": "An Error Occurred",
+        "An Error Occured": "Si è verificato un errore",
         "Debug Area": "Debug Area",
         "Tab Local URL": "Tab Local URL",
-        "PRELOAD": "PRELOAD",
+        "PRELOAD": "PRECARICAMENTO",
         "Use Ombi Alias Names": "Use Ombi Alias Names",
         "TV Show Default Request": "TV Show Default Request",
         "Add to Combined Downloader": "Add to Combined Downloader",
         "http(s)://hostname:port/xmlrpc": "http(s)://hostname:port/xmlrpc",
         "rTorrent API URL Override": "rTorrent API URL Override",
-        "Enable Notify Sounds": "Enable Notify Sounds",
+        "Enable Notify Sounds": "Abilita Suoni Notifiche",
         "Remember Me Length": "Remember Me Length",
-        "Minimum Authentication for Debug Area": "Minimum Authentication for Debug Area",
+        "Minimum Authentication for Debug Area": "Autenticazione Minima per Area Debug",
         "Account DN": "Account DN",
         "Bind Username": "Bind Username",
         "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld",
@@ -515,6 +515,104 @@
         "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP",
         "Account Prefix": "Account Prefix",
         "LDAP Backend Type": "LDAP Backend Type",
-        "Strict Plex Friends": "Strict Plex Friends"
+        "Strict Plex Friends": "Strict Plex Friends",
+        "Unifi": "Unifi",
+        "Pi-hole": "Pi-hole",
+        "Check For Updates": "Controlla Aggiornamenti",
+        "I will try and import new strings every Friday": "I will try and import new strings every Friday",
+        "Custom definitions": "Custom definitions",
+        "Show on small screens": "Mostra su schermi piccoli",
+        "Show on medium screens": "Mostra su schermi medi",
+        "Show on large screens": "Mostra su schermi grandi",
+        "Size": "Grandezza",
+        "Colour": "Colore",
+        "Chart": "Chart",
+        "Data": "Data",
+        "Info": "Info",
+        "Netdata": "Netdata",
+        "Toggle Title": "Toggle Title",
+        "Speedtest": "Speedtest",
+        "Unit of Measurement": "Unità di Misura",
+        "Enable Pollen": "Enable Pollen",
+        "Enable Air Quality": "Enable Air Quality",
+        "Enable Weather": "Enable Weather",
+        "Need Help With Coordinates?": "Serve Aiuto Con Le Coordinate?",
+        "Longitude": "Longitudine",
+        "Latitude": "Latitude",
+        "Weather-Air": "Weather-Air",
+        "Compact view": "Compact view",
+        "http://domain.com/monitorr/": "http://domain.com/monitorr/",
+        "Monitorr": "Monitorr",
+        "Top Platforms": "Top Platforms",
+        "Top Users": "Top Users",
+        "http://<ip>:<port>": "http://<ip>:<port>",
+        "Tautulli": "Tautulli",
+        "Combine stat cards": "Combine stat cards",
+        "http(s)://hostname:port/admin/": "http(s)://hostname:port/admin/",
+        "Youtube API Key": "Youtube API Key",
+        "Misc": "Varie",
+        "Multiple tags using CSV - tag1,tag2": "Multiple tags using CSV - tag1,tag2",
+        "Tags": "Tags",
+        "HealthChecks API URL": "HealthChecks API URL",
+        "HealthChecks": "HealthChecks",
+        "Get Unifi Site": "Get Unifi Site",
+        "Grab Unifi Site": "Grab Unifi Site",
+        "Site Name": "Nome Sito",
+        "Unifi API URL": "Unifi API URL",
+        "Show Denied": "Mostra Negati",
+        "Show Unapproved": "Mostra Non Approvati",
+        "Show Approved": "Mostra Approvati",
+        "Show Unavailable": "Mostra Non Disponibili",
+        "Show Available": "Mostra Disponibili",
+        "Disable Certificate Check": "Disabilita Controllo Certificato",
+        "Organizr appends the url with": "Organizr appends the url with",
+        "unless the URL ends in": "unless the URL ends in",
+        "ATTENTION": "ATTENTION",
+        "API Version": "API Version",
+        "JDownloader": "JDownloader",
+        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin",
+        "Emby-Jellyfin": "Emby-Jellyfin",
+        "Tab Auto Action Minutes": "Tab Auto Action Minutes",
+        "Tab Auto Action": "Tab Auto Action",
+        "To revert back to default, save with no value defined in the relevant field.": "To revert back to default, save with no value defined in the relevant field.",
+        "e.g. UA-XXXXXXXXX-X": "e.g. UA-XXXXXXXXX-X",
+        "Google Analytics Tracking ID": "Google Analytics Tracking ID",
+        "Show Debug Errors": "Mostra Errori Debug",
+        "Use Logo instead of Title on Login Page": "Usa Logo invece di Titolo sulla Pagina di Login",
+        "Login Logo": "Login Logo",
+        "Meta Description": "Meta Description",
+        "HealthChecks Settings": "HealthChecks Settings",
+        "AdamSmith": "AdamSmith",
+        "Emby User to be used as template for new users": "Emby User to be used as template for new users",
+        "localhost:8086": "localhost:8086",
+        "Emby server adress": "Emby server adress",
+        "enter key from emby": "enter key from emby",
+        "Emby API key": "Emby API key",
+        "Music Labels (comma separated)": "Music Labels (comma separated)",
+        "Movies Labels (comma separated)": "Movies Labels (comma separated)",
+        "TV Labels (comma separated)": "TV Labels (comma separated)",
+        "Template #1": "Template #1",
+        "Enable Debug Output on Email Test": "Enable Debug Output on Email Test",
+        "i.e. 10.0.0.0/24 or 10.0.0.20": "i.e. 10.0.0.0/24 or 10.0.0.20",
+        "Auth Proxy Whitelist": "Auth Proxy Whitelist",
+        "i.e. X-Forwarded-User": "i.e. X-Forwarded-User",
+        "Auth Proxy Header Name": "Auth Proxy Header Name",
+        "Auth Proxy": "Auth Proxy",
+        "Enable Local Address Forward": "Enable Local Address Forward",
+        "http://home.local": "http://home.local",
+        "Local Address": "Local Address",
+        "only domain and tld - i.e. domain.com": "only domain and tld - i.e. domain.com",
+        "WAN Domain": "WAN Domain",
+        "i.e. 123.123.123.123": "i.e. 123.123.123.123",
+        "Override Local IP To": "Override Local IP To",
+        "Override Local IP From": "Override Local IP From",
+        "Disable Image Dropdown": "Disable Image Dropdown",
+        "Disable Icon Dropdown": "Disable Icon Dropdown",
+        "Enable Traefik Auth Redirect": "Enable Traefik Auth Redirect",
+        "iFrame Sandbox": "iFrame Sandbox",
+        "Login Lockout Seconds": "Login Lockout Seconds",
+        "Max Login Attempts": "Max Login Attempts",
+        "Test Login": "Test Login",
+        "Ignore External 2FA on Local Subnet": "Ignore External 2FA on Local Subnet"
     }
 }

+ 618 - 0
js/langpack/ja[Japanese].json

@@ -0,0 +1,618 @@
+{
+    "token": {
+        "Navigation": "Navigation",
+        "Date": "日付",
+        "Type": "Type",
+        "IP Address": "IP Address",
+        "Username": "Username",
+        "Message": "Message",
+        "My Profile": "My Profile",
+        "Account Settings": "Account Settings",
+        "Login/Register": "Login/Register",
+        "Logout": "Logout",
+        "Inbox": "Inbox",
+        "Go Back": "Go Back",
+        "Reset": "Reset",
+        "Email": "Email",
+        "Enter your Email and instructions will be sent to you!": "Enter your Email and instructions will be sent to you!",
+        "Register": "Register",
+        "Registration Password": "Registration Password",
+        "Recover Password": "Recover Password",
+        "Password": "パスワード",
+        "Sign Up": "Sign Up",
+        "Don't have an account?": "Don't have an account?",
+        "Forgot pwd?": "Forgot pwd?",
+        "Remember Me": "Remember Me",
+        "Login": "Login",
+        "Installed": "Installed",
+        "Install Update": "Install Update",
+        "Organizr Versions": "Organizr Versions",
+        "About": "About",
+        "Organizr Logs": "Organizr Logs",
+        "Main Settings": "Main Settings",
+        "Updates": "Updates",
+        "Logs": "Logs",
+        "Main": "Main",
+        "Plugins": "Plugins",
+        "Manage Users": "Manage Users",
+        "Customize Organizr": "Customize Organizr",
+        "Edit Categories": "Edit Categories",
+        "Edit Tabs": "Edit Tabs",
+        "Tabs": "Tabs",
+        "System Settings": "システムの設定",
+        "User Management": "User Management",
+        "Customize": "Customize",
+        "Tab Editor": "Tab Editor",
+        "Settings": "Settings",
+        "Organizr Settings": "Organizr Settings",
+        "Categories": "Categories",
+        "Login Logs": "Login Logs",
+        "Login Log": "Login Log",
+        "Organizr Log": "Organizr Log",
+        "FIXED": "FIXED",
+        "NEW": "NEW",
+        "NOTE": "NOTE",
+        "Update Available": "Update Available",
+        "is available, goto": "is available, goto",
+        "Update Tab": "Update Tab",
+        "Database Name:": "Database Name:",
+        "Database Name": "Database Name",
+        "Database Location:": "Database Location:",
+        "Database Location": "Database Location",
+        "Hover to show": "Hover to show",
+        "API Key:": "API Key:",
+        "API Key": "API Key",
+        "Registration Password:": "Registration Password:",
+        "Hash Key:": "Hash Key:",
+        "Hash Key": "Hash Key",
+        "Password:": "Password:",
+        "Attention": "Attention",
+        "The Hash Key will be used to decrypt all passwords etc... on the server.": "The Hash Key will be used to decrypt all passwords etc... on the server.",
+        "The API Key will be used for all calls to organizr for the UI. [Auto-Generated]": "The API Key will be used for all calls to organizr for the UI. [Auto-Generated]",
+        "Notice": "Notice",
+        "Business": "Business",
+        "Personal": "Personal",
+        "Choose License": "Choose License",
+        "Install Type": "Install Type",
+        "Verify": "Verify",
+        "Database": "Database",
+        "Security": "Security",
+        "Admin Info": "Admin Info",
+        "Parent Directory:": "Parent Directory:",
+        "Admin Creation": "Admin Creation",
+        "The Database will contain sensitive information.  Please place in directory outside of root Web Directory.": "The Database will contain sensitive information.  Please place in directory outside of root Web Directory.",
+        "MANAGE": "MANAGE",
+        "CATEGORY": "CATEGORY",
+        "ADDED": "ADDED",
+        "NAME & EMAIL": "NAME & EMAIL",
+        "MANAGE USERS": "MANAGE USERS",
+        "Add User": "Add User",
+        "Manage Groups": "Manage Groups",
+        "Choose Language": "Choose Language",
+        "Welcome": "Welcome",
+        "License": "License",
+        "Webserver Version": "Webserver Version",
+        "PHP Version": "PHP Version",
+        "Organizr Branch": "Organizr Branch",
+        "Organizr Version": "Organizr Version",
+        "Information": "Information",
+        "Below you will find all the links for everything that has to do with Organizr": "Below you will find all the links for everything that has to do with Organizr",
+        "Loading...": "Loading...",
+        "Donate": "Donate",
+        "Edit Group": "Edit Group",
+        "For icons, use the following format:": "For icons, use the following format:",
+        "For images, use the following format:": "For images, use the following format:",
+        "You may use an image or icon in this field": "You may use an image or icon in this field",
+        "Image Legend": "Image Legend",
+        "Category Image": "Category Image",
+        "Category Name": "Category Name",
+        "Edit Category": "Edit Category",
+        "Add Category": "Add Category",
+        "Add New Category": "Add New Category",
+        "DELETE": "DELETE",
+        "EDIT": "EDIT",
+        "DEFAULT": "DEFAULT",
+        "TABS": "TABS",
+        "NAME": "NAME",
+        "Category Editor": "Category Editor",
+        "Tab Image": "Tab Image",
+        "Tab URL": "Tab URL",
+        "Tab Name": "Tab Name",
+        "Edit Tab": "Edit Tab",
+        "Add Tab": "Add Tab",
+        "Add New Tab": "Add New Tab",
+        "SPLASH": "SPLASH",
+        "ACTIVE": "ACTIVE",
+        "TYPE": "TYPE",
+        "GROUP": "GROUP",
+        "Delete": "Delete",
+        "No": "No",
+        "Yes": "Yes",
+        "Deleted Category": "Deleted Category",
+        "Add New User": "Add New User",
+        "EMAIL": "EMAIL",
+        "Deleted User": "Deleted User",
+        "Category Order Saved": "Category Order Saved",
+        "Group Image": "Group Image",
+        "Group Name": "Group Name",
+        "Add Group": "Add Group",
+        "Add New Group": "Add New Group",
+        "USERS": "USERS",
+        "GROUP NAME": "GROUP NAME",
+        "MANAGE GROUPS": "MANAGE GROUPS",
+        "Changed Language To": "Changed Language To",
+        "Groups": "Groups",
+        "Users": "Users",
+        "Appearance": "Appearance",
+        "Customize Appearance": "Customize Appearance",
+        "Request Me!": "Request Me!",
+        "Would you like to Request it?": "Would you like to Request it?",
+        "No Results for:": "No Results for:",
+        "Nothing in queue": "Nothing in queue",
+        "Nothing in history": "Nothing in history",
+        "Nothing in hitsory": "Nothing in hitsory",
+        "Load More": "Load More",
+        "Request": "Request",
+        "No Results": "No Results",
+        "Airs Today TV": "Airs Today TV",
+        "Popular TV": "Popular TV",
+        "Top TV": "Top TV",
+        "Upcoming Movies": "Upcoming Movies",
+        "Popular Movies": "Popular Movies",
+        "Top Movies": "Top Movies",
+        "In Theatres": "In Theatres",
+        "Suggestions": "Suggestions",
+        "TV": "TV",
+        "Movie": "Movie",
+        "Denied": "Denied",
+        "Unapproved": "Unapproved",
+        "Approved": "Approved",
+        "Unavailable": "Unavailable",
+        "Available": "Available",
+        "Recently Added": "Recently Added",
+        "Active": "Active",
+        "Requested By:": "Requested By:",
+        "Request Options": "Request Options",
+        "Deny": "Deny",
+        "OK": "OK",
+        "Seconds": "Seconds",
+        "Verify Password": "Verify Password",
+        "Account Information": "Account Information",
+        "Inactive Plugins": "Inactive Plugins",
+        "Active Plugins": "Active Plugins",
+        "Inactive": "Inactive",
+        "Everything Active": "Everything Active",
+        "Nothing Active": "Nothing Active",
+        "Choose Plex Machine": "Choose Plex Machine",
+        "Test Speed to Server": "Test Speed to Server",
+        "Test Server Speed": "Test Server Speed",
+        "Subject": "Subject",
+        "To:": "To:",
+        "Email Users": "Email Users",
+        "E-Mail Center": "E-Mail Center",
+        "You have been invited. Please goto ": "You have been invited. Please goto ",
+        "Use Invite Code": "Use Invite Code",
+        "VALID": "VALID",
+        "IP ADDRESS": "IP ADDRESS",
+        "USED BY": "USED BY",
+        "DATE USED": "DATE USED",
+        "DATE SENT": "DATE SENT",
+        "INVITE CODE": "INVITE CODE",
+        "USERNAME": "USERNAME",
+        "Manage Invites": "Manage Invites",
+        "No Invites": "No Invites",
+        "Create/Send Invite": "Create/Send Invite",
+        "Name or Username": "Name or Username",
+        "New Invite": "New Invite",
+        "Hover to show ": "Hover to show ",
+        "Parent Directory: ": "Parent Directory: ",
+        "The Database will contain sensitive information. Please place in directory outside of root Web Directory.": "The Database will contain sensitive information. Please place in directory outside of root Web Directory.",
+        "I Want to Help": "I Want to Help",
+        "Head on over to POEditor and help us translate Organizr into your language": "Head on over to POEditor and help us translate Organizr into your language",
+        "Want to help translate?": "Want to help translate?",
+        "Single Sign-On": "Single Sign-On",
+        "Coming Soon...": "Coming Soon...",
+        "Homepage Order": "Homepage Order",
+        "Homepage Items": "Homepage Items",
+        "Image Manager": "Image Manager",
+        "Edit User": "Edit User",
+        "Password Again": "Password Again",
+        "Template": "Template",
+        "Plex Machine": "Plex Machine",
+        "Get Plex Machine": "Get Plex Machine",
+        "Grab It": "Grab It",
+        "Plex Password": "Plex Password",
+        "Plex Username": "Plex Username",
+        "Enter Plex Details": "Enter Plex Details",
+        "Get Plex Token": "Get Plex Token",
+        "Upload Image": "Upload Image",
+        "View Images": "View Images",
+        "Reload": "Reload",
+        "Unlock": "Unlock",
+        "Browser Information": "Browser Information",
+        "Web Folder": "Web Folder",
+        "Dependencies Missing": "Dependencies Missing",
+        "Organizr Dependency Check": "Organizr Dependency Check",
+        "Please make sure both Token and Machine are filled in": "Please make sure both Token and Machine are filled in",
+        "Loading Requests...": "Loading Requests...",
+        "Loading Recent...": "Loading Recent...",
+        "Loading Now Playing...": "Loading Now Playing...",
+        "Loading Playlists...": "Loading Playlists...",
+        "Loading Download Queue...": "Loading Download Queue...",
+        "Organizr Mod Picks": "Organizr Mod Picks",
+        "Requests": "Requests",
+        "Become Sponsor": "Become Sponsor",
+        "Splash Page": "Splash Page",
+        "Lock Screen": "Lock Screen",
+        "If you signed in with a Emby Acct... Please use the following link to change your password there:": "If you signed in with a Emby Acct... Please use the following link to change your password there:",
+        "Password Notice": "Password Notice",
+        "If you signed in with a Plex Acct... Please use the following link to change your password there:": "If you signed in with a Plex Acct... Please use the following link to change your password there:",
+        "Active Tokens": "Active Tokens",
+        "Deactivate": "Deactivate",
+        "Activate": "Activate",
+        "Current": "Current",
+        "Save": "Save",
+        "STATUS": "STATUS",
+        "PLUGIN": "PLUGIN",
+        "Plugin Marketplace": "Plugin Marketplace",
+        "Marketplace": "Marketplace",
+        "Chat": "Chat",
+        "Current Directory: ": "Current Directory: ",
+        "Suggested Directory: ": "Suggested Directory: ",
+        "The Registration Password will lockout the registration field with this password. {User-Generated]": "The Registration Password will lockout the registration field with this password. {User-Generated]",
+        "The Hash Key will be used to decrypt all passwords etc... on the server. {User-Generated]": "The Hash Key will be used to decrypt all passwords etc... on the server. {User-Generated]",
+        "If using Plex or Emby - It is suggested that you use the username and email of the Admin account.": "If using Plex or Emby - It is suggested that you use the username and email of the Admin account.",
+        "Business has Media items hidden [Plex, Emby etc...]": "Business has Media items hidden [Plex, Emby etc...]",
+        "Personal has everything unlocked - no restrictions": "Personal has everything unlocked - no restrictions",
+        "Continue To Website": "Continue To Website",
+        "Patreon": "Patreon",
+        "Cryptos": "Cryptos",
+        "Square Cash": "Square Cash",
+        "PayPal": "PayPal",
+        "Beerpay.io": "Beerpay.io",
+        "Sponsors": "Sponsors",
+        "THEME": "THEME",
+        "Theme Marketplace": "Theme Marketplace",
+        "Test Tab": "Test Tab",
+        "Select or type Icon": "Select or type Icon",
+        "Choose Icon": "Choose Icon",
+        "Choose Image": "Choose Image",
+        "Ping URL": "Ping URL",
+        "Please set tab as [New Window] on next screen": "Please set tab as [New Window] on next screen",
+        "Tab can be set as iFrame": "Tab can be set as iFrame",
+        "Premier": "Premier",
+        "Missing": "Missing",
+        "Unaired": "Unaired",
+        "Downloaded": "Downloaded",
+        "All": "All",
+        "Choose Media Status": "Choose Media Status",
+        "Music": "Music",
+        "Choose Media Type": "Choose Media Type",
+        "PHP Version Check": "PHP Version Check",
+        "Don\\'t have an account?": "Don\\'t have an account?",
+        "The value of #987654 is just a placeholder, you can change to any value you like.": "The value of #987654 is just a placeholder, you can change to any value you like.",
+        "This is not the same as database authentication - i.e. Plex Authentication | Emby Authentication | FTP Authentication": "This is not the same as database authentication - i.e. Plex Authentication | Emby Authentication | FTP Authentication",
+        "Status: [ ": "Status: [ ",
+        "This module requires XMLRPC": "This module requires XMLRPC",
+        "Misc Options": "Misc Options",
+        "Search My Media": "Search My Media",
+        "Import Plex Users": "Import Plex Users",
+        "Import": "Import",
+        "INSTALL": "INSTALL",
+        "INFO": "INFO",
+        "Day": "Day",
+        "Week": "Week",
+        "Month": "Month",
+        "List": "List",
+        "Streams": "Streams",
+        "javascript:void(0)": "javascript:void(0)",
+        "Request Show or Movie": "Request Show or Movie",
+        "Mark as Unavailable": "Mark as Unavailable",
+        "Mark as Available": "Mark as Available",
+        "Approve": "Approve",
+        "Start": "Start",
+        "Everyone Refresh Seconds": "Everyone Refresh Seconds",
+        "Admin Refresh Seconds": "Admin Refresh Seconds",
+        "Minimum Authentication for Time Display": "Minimum Authentication for Time Display",
+        "Show Ping Time": "Show Ping Time",
+        "Offline Sound": "Offline Sound",
+        "Online Sound": "Online Sound",
+        "Minimum Authentication for Message and Sound": "Minimum Authentication for Message and Sound",
+        "Minimum Authentication": "Minimum Authentication",
+        "Nginx Auth Debug": "Nginx Auth Debug",
+        "Hide Registration": "Hide Registration",
+        "Lockout Groups To": "Lockout Groups To",
+        "Lockout Groups From": "Lockout Groups From",
+        "Inactivity Lock": "Inactivity Lock",
+        "Inactivity Timer [Minutes]": "Inactivity Timer [Minutes]",
+        "Emby Token": "Emby Token",
+        "http(s)://hostname:port": "http(s)://hostname:port",
+        "Emby URL": "Emby URL",
+        "cn=%s,dc=sub,dc=domain,dc=com": "cn=%s,dc=sub,dc=domain,dc=com",
+        "Host Base DN": "Host Base DN",
+        "http{s) | ftp(s) | ldap(s)://hostname:port": "http{s) | ftp(s) | ldap(s)://hostname:port",
+        "Host Address": "Host Address",
+        "Enable Plex oAuth": "Enable Plex oAuth",
+        "Retrieve": "Retrieve",
+        "Use Get Plex Machine Button": "Use Get Plex Machine Button",
+        "Use Get Token Button": "Use Get Token Button",
+        "Plex Token": "Plex Token",
+        "Authentication Backend": "Authentication Backend",
+        "Authentication Type": "Authentication Type",
+        "Generate": "Generate",
+        "Generate New API Key": "Generate New API Key",
+        "Organizr API": "Organizr API",
+        "Force Install Branch": "Force Install Branch",
+        "Branch": "Branch",
+        "SSO": "SSO",
+        "Enable": "Enable",
+        "Tautulli URL": "Tautulli URL",
+        "Ombi URL": "Ombi URL",
+        "Plex Note": "Plex Note",
+        "Admin username for Plex": "Admin username for Plex",
+        "Admin Username": "Admin Username",
+        "Click Main on the sub-menu above.": "Click Main on the sub-menu above.",
+        "Important Information": "Important Information",
+        "PING": "PING",
+        "Custom HTML/JavaScript": "Custom HTML/JavaScript",
+        "CustomHTML-2": "CustomHTML-2",
+        "CustomHTML-1": "CustomHTML-1",
+        "Refresh Seconds": "Refresh Seconds",
+        "Limit to User": "Limit to User",
+        "Minimum Group to Request": "Minimum Group to Request",
+        "Token": "Token",
+        "URL": "URL",
+        "Ombi": "Ombi",
+        "Items Per Day": "Items Per Day",
+        "Time Format": "Time Format",
+        "Default View": "Default View",
+        "Start Day": "Start Day",
+        "SickRage": "SickRage",
+        "CouchPotato": "CouchPotato",
+        "Test Connection": "Test Connection",
+        "Please Save before Testing": "Please Save before Testing",
+        "# of Days After": "# of Days After",
+        "# of Days Before": "# of Days Before",
+        "Radarr": "Radarr",
+        "Lidarr": "Lidarr",
+        "Show Unmonitored": "Show Unmonitored",
+        "Sonarr": "Sonarr",
+        "Hide Completed": "Hide Completed",
+        "Hide Seeding": "Hide Seeding",
+        "Deluge": "Deluge",
+        "Order": "Order",
+        "Status: [": "Status: [",
+        "]": "]",
+        "rTorrent": "rTorrent",
+        "Reverse Sorting": "Reverse Sorting",
+        "qBittorrent": "qBittorrent",
+        "Transmission": "Transmission",
+        "NZBGet": "NZBGet",
+        "SabNZBD": "SabNZBD",
+        "Image Cache Size": "Image Cache Size",
+        "Emby Tab WAN URL": "Emby Tab WAN URL",
+        "Only use if you have Emby in a reverse proxy": "Only use if you have Emby in a reverse proxy",
+        "Emby Tab Name": "Emby Tab Name",
+        "Item Limit": "Item Limit",
+        "Minimum Authorization": "Minimum Authorization",
+        "User Information": "User Information",
+        "Emby": "Emby",
+        "Plex Tab WAN URL": "Plex Tab WAN URL",
+        "Only use if you have Plex in a reverse proxy": "Only use if you have Plex in a reverse proxy",
+        "Plex Tab Name": "Plex Tab Name",
+        "Media Server": "Media Server",
+        "Plex": "Plex",
+        "separate by comma's": "separate by comma's",
+        "iCal URL's": "iCal URL's",
+        "Enable iCal": "Enable iCal",
+        "Calendar": "Calendar",
+        "Theme Javascript": "Theme Javascript",
+        "Custom Javascript": "Custom Javascript",
+        "Theme CSS [Can replace colors from above]": "Theme CSS [Can replace colors from above]",
+        "Custom CSS [Can replace colors from above]": "Custom CSS [Can replace colors from above]",
+        "Copy code and paste inside left box": "Copy code and paste inside left box",
+        "Download and unzip file and place in": "Download and unzip file and place in",
+        "Click [Generate your Favicons and HTML code]": "Click [Generate your Favicons and HTML code]",
+        "Enter this path": "Enter this path",
+        "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.]": "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.]",
+        "Edit settings to your liking": "Edit settings to your liking",
+        "Choose your image to use": "Choose your image to use",
+        "Click [Select your Favicon picture]": "Click [Select your Favicon picture]",
+        "Instructions": "Instructions",
+        "Fav Icon Code": "Fav Icon Code",
+        "Test Message": "Test Message",
+        "Position": "Position",
+        "Style": "Style",
+        "Theme": "Theme",
+        "Button Text Color": "Button Text Color",
+        "Button Color": "Button Color",
+        "Accent Text Color": "Accent Text Color",
+        "Accent Color": "Accent Color",
+        "Side Bar Text Color": "Side Bar Text Color",
+        "Side Bar Color": "Side Bar Color",
+        "Nav Bar Text Color": "Nav Bar Text Color",
+        "Nav Bar Color": "Nav Bar Color",
+        "Unsorted Tab Placement": "Unsorted Tab Placement",
+        "Alternate Homepage Titles": "Alternate Homepage Titles",
+        "Minimal Login Screen": "Minimal Login Screen",
+        "Login Wallpaper": "Login Wallpaper",
+        "Use Logo instead of Title": "Use Logo instead of Title",
+        "Title": "Title",
+        "Logo": "Logo",
+        "Import Users": "Import Users",
+        "Drop files here to upload": "Drop files here to upload",
+        "SpeedTest Settings": "SpeedTest Settings",
+        "PHP Mailer Settings": "PHP Mailer Settings",
+        "Invites Settings": "Invites Settings",
+        "Chat Settings": "Chat Settings",
+        "Delete ": "Delete ",
+        "App Cluster": "App Cluster",
+        "App ID": "App ID",
+        "API Secret": "API Secret",
+        "Auth Key": "Auth Key",
+        "Use Pusher SSL": "Use Pusher SSL",
+        "Message Sound": "Message Sound",
+        "# of Previous Messages": "# of Previous Messages",
+        "Note": "Note",
+        "Libraries": "Libraries",
+        "Body": "Body",
+        "Name": "Name",
+        "Template #4": "Template #4",
+        "Template #3": "Template #3",
+        "Template #2": "Template #2",
+        "Reminder Template": "Reminder Template",
+        "Invite User": "Invite User",
+        "Reset Password": "Reset Password",
+        "New Registration": "New Registration",
+        "Edit Template": "Edit Template",
+        "Send Welcome E-Mail": "Send Welcome E-Mail",
+        "Full URL": "Full URL",
+        "WAN Logo URL": "WAN Logo URL",
+        "https://domain.com/": "https://domain.com/",
+        "Domain Link Override": "Domain Link Override",
+        "Send": "Send",
+        "Send Test": "Send Test",
+        "i.e. same as username": "i.e. same as username",
+        "Sender Email": "Sender Email",
+        "Sender Name": "Sender Name",
+        "Verify Certificate": "Verify Certificate",
+        "Authentication": "Authentication",
+        "SMTP Port": "SMTP Port",
+        "SMTP Host": "SMTP Host",
+        "Results For cmd:": "Result For cmd:",
+        "Organizr Information:": "Organizr Information:",
+        "DB Schema": "DB Schema",
+        "Misc SSO": "Misc SSO",
+        "Tautulli SSO": "Tautulli SSO",
+        "Plex SSO": "Plex SSO",
+        "Ombi SSO": "Ombi SSO",
+        "Commands": "Commands",
+        "Input Command": "Input Command",
+        "Organizr Debug Area": "Organizr Debug Area",
+        "Google Ads": "Google Ads",
+        "DB Folder": "DB Folder",
+        "API Folder": "API Folder",
+        "Root Folder": "Root Folder",
+        "Organizr Paths": "Organizr Paths",
+        "Organizr News": "Organizr News",
+        "Close Error": "Close Error",
+        "An Error Occured": "An Error Occurred",
+        "Debug Area": "Debug Area",
+        "Tab Local URL": "Tab Local URL",
+        "PRELOAD": "PRELOAD",
+        "Use Ombi Alias Names": "Use Ombi Alias Names",
+        "TV Show Default Request": "TV Show Default Request",
+        "Add to Combined Downloader": "Add to Combined Downloader",
+        "http(s)://hostname:port/xmlrpc": "http(s)://hostname:port/xmlrpc",
+        "rTorrent API URL Override": "rTorrent API URL Override",
+        "Enable Notify Sounds": "Enable Notify Sounds",
+        "Remember Me Length": "Remember Me Length",
+        "Minimum Authentication for Debug Area": "Minimum Authentication for Debug Area",
+        "Account DN": "Account DN",
+        "Bind Username": "Bind Username",
+        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld",
+        "Account Suffix": "Account Suffix",
+        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP",
+        "Account Prefix": "Account Prefix",
+        "LDAP Backend Type": "LDAP Backend Type",
+        "Strict Plex Friends": "Strict Plex Friends",
+        "Unifi": "Unifi",
+        "Pi-hole": "Pi-hole",
+        "Check For Updates": "Check For Updates",
+        "I will try and import new strings every Friday": "I will try and import new strings every Friday",
+        "Custom definitions": "Custom definitions",
+        "Show on small screens": "Show on small screens",
+        "Show on medium screens": "Show on medium screens",
+        "Show on large screens": "Show on large screens",
+        "Size": "Size",
+        "Colour": "Colour",
+        "Chart": "Chart",
+        "Data": "Data",
+        "Info": "Info",
+        "Netdata": "Netdata",
+        "Toggle Title": "Toggle Title",
+        "Speedtest": "Speedtest",
+        "Unit of Measurement": "Unit of Measurement",
+        "Enable Pollen": "Enable Pollen",
+        "Enable Air Quality": "Enable Air Quality",
+        "Enable Weather": "Enable Weather",
+        "Need Help With Coordinates?": "Need Help With Coordinates?",
+        "Longitude": "Longitude",
+        "Latitude": "Latitude",
+        "Weather-Air": "Weather-Air",
+        "Compact view": "Compact view",
+        "http://domain.com/monitorr/": "http://domain.com/monitorr/",
+        "Monitorr": "Monitorr",
+        "Top Platforms": "Top Platforms",
+        "Top Users": "Top Users",
+        "http://<ip>:<port>": "http://<ip>:<port>",
+        "Tautulli": "Tautulli",
+        "Combine stat cards": "Combine stat cards",
+        "http(s)://hostname:port/admin/": "http(s)://hostname:port/admin/",
+        "Youtube API Key": "Youtube API Key",
+        "Misc": "Misc",
+        "Multiple tags using CSV - tag1,tag2": "Multiple tags using CSV - tag1,tag2",
+        "Tags": "Tags",
+        "HealthChecks API URL": "HealthChecks API URL",
+        "HealthChecks": "HealthChecks",
+        "Get Unifi Site": "Get Unifi Site",
+        "Grab Unifi Site": "Grab Unifi Site",
+        "Site Name": "Site Name",
+        "Unifi API URL": "Unifi API URL",
+        "Show Denied": "Show Denied",
+        "Show Unapproved": "Show Unapproved",
+        "Show Approved": "Show Approved",
+        "Show Unavailable": "Show Unavailable",
+        "Show Available": "Show Available",
+        "Disable Certificate Check": "Disable Certificate Check",
+        "Organizr appends the url with": "Organizr appends the url with",
+        "unless the URL ends in": "unless the URL ends in",
+        "ATTENTION": "ATTENTION",
+        "API Version": "API Version",
+        "JDownloader": "JDownloader",
+        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin",
+        "Emby-Jellyfin": "Emby-Jellyfin",
+        "Tab Auto Action Minutes": "Tab Auto Action Minutes",
+        "Tab Auto Action": "Tab Auto Action",
+        "To revert back to default, save with no value defined in the relevant field.": "To revert back to default, save with no value defined in the relevant field.",
+        "e.g. UA-XXXXXXXXX-X": "e.g. UA-XXXXXXXXX-X",
+        "Google Analytics Tracking ID": "Google Analytics Tracking ID",
+        "Show Debug Errors": "Show Debug Errors",
+        "Use Logo instead of Title on Login Page": "Use Logo instead of Title on Login Page",
+        "Login Logo": "Login Logo",
+        "Meta Description": "Meta Description",
+        "HealthChecks Settings": "HealthChecks Settings",
+        "AdamSmith": "AdamSmith",
+        "Emby User to be used as template for new users": "Emby User to be used as template for new users",
+        "localhost:8086": "localhost:8086",
+        "Emby server adress": "Emby server adress",
+        "enter key from emby": "enter key from emby",
+        "Emby API key": "Emby API key",
+        "Music Labels (comma separated)": "Music Labels (comma separated)",
+        "Movies Labels (comma separated)": "Movies Labels (comma separated)",
+        "TV Labels (comma separated)": "TV Labels (comma separated)",
+        "Template #1": "Template #1",
+        "Enable Debug Output on Email Test": "Enable Debug Output on Email Test",
+        "i.e. 10.0.0.0/24 or 10.0.0.20": "i.e. 10.0.0.0/24 or 10.0.0.20",
+        "Auth Proxy Whitelist": "Auth Proxy Whitelist",
+        "i.e. X-Forwarded-User": "i.e. X-Forwarded-User",
+        "Auth Proxy Header Name": "Auth Proxy Header Name",
+        "Auth Proxy": "Auth Proxy",
+        "Enable Local Address Forward": "Enable Local Address Forward",
+        "http://home.local": "http://home.local",
+        "Local Address": "Local Address",
+        "only domain and tld - i.e. domain.com": "only domain and tld - i.e. domain.com",
+        "WAN Domain": "WAN Domain",
+        "i.e. 123.123.123.123": "i.e. 123.123.123.123",
+        "Override Local IP To": "Override Local IP To",
+        "Override Local IP From": "Override Local IP From",
+        "Disable Image Dropdown": "Disable Image Dropdown",
+        "Disable Icon Dropdown": "Disable Icon Dropdown",
+        "Enable Traefik Auth Redirect": "Enable Traefik Auth Redirect",
+        "iFrame Sandbox": "iFrame Sandbox",
+        "Login Lockout Seconds": "Login Lockout Seconds",
+        "Max Login Attempts": "Max Login Attempts",
+        "Test Login": "Test Login",
+        "Ignore External 2FA on Local Subnet": "Ignore External 2FA on Local Subnet"
+    }
+}

+ 618 - 0
js/langpack/lv[Latvian].json

@@ -0,0 +1,618 @@
+{
+    "token": {
+        "Navigation": "Navigācija",
+        "Date": "Datums",
+        "Type": "Veids",
+        "IP Address": "IP adrese",
+        "Username": "Lietotājvārds",
+        "Message": "Ziņojums",
+        "My Profile": "Mans profils",
+        "Account Settings": "Konta iestatījumi",
+        "Login/Register": "Pieteikties / Reģistrēties",
+        "Logout": "Iziet",
+        "Inbox": "Iesūtne",
+        "Go Back": "Atgriezties",
+        "Reset": "Atiestatīt",
+        "Email": "E-pasts",
+        "Enter your Email and instructions will be sent to you!": "Ievadi savu e-pasta adresi, lai saņemtu instrukcijas",
+        "Register": "Reģistrēties",
+        "Registration Password": "Reģistrācijas parole",
+        "Recover Password": "Atgūt paroli",
+        "Password": "Parole",
+        "Sign Up": "Reģistrēties",
+        "Don't have an account?": "Vai jums nav konta?",
+        "Forgot pwd?": "Aizmirsi paroli?",
+        "Remember Me": "Atceries mani",
+        "Login": "Pieslēgties",
+        "Installed": "Instalēts",
+        "Install Update": "Instalēt atjauninājumu",
+        "Organizr Versions": "Organizr versijas",
+        "About": "Par",
+        "Organizr Logs": "Organizr žurnāli",
+        "Main Settings": "Galvenie iestatījumi",
+        "Updates": "Atjauninājumi",
+        "Logs": "Žurnāli",
+        "Main": "Galvenā",
+        "Plugins": "Spraudņi",
+        "Manage Users": "Pārvaldīt lietotājus",
+        "Customize Organizr": "Pielāgot Organizr",
+        "Edit Categories": "Rediģēt kategorijas",
+        "Edit Tabs": "Rediģēt cilnes",
+        "Tabs": "Cilnes",
+        "System Settings": "Sistēmas iestatījumi",
+        "User Management": "Lietotāju pārvaldība",
+        "Customize": "Pielāgot",
+        "Tab Editor": "Cilņu redaktors",
+        "Settings": "Iestatījumi",
+        "Organizr Settings": "Organizr iestatījumi",
+        "Categories": "Kategorijas",
+        "Login Logs": "Pieteikšanās žurnāli",
+        "Login Log": "Pieteikšanās žurnāls",
+        "Organizr Log": "Organizr žurnāls",
+        "FIXED": "SALABOTS",
+        "NEW": "JAUNS",
+        "NOTE": "PIEZĪME",
+        "Update Available": "Pieejams atjauninājums",
+        "is available, goto": "ir pieejams, atvērt",
+        "Update Tab": "Atjaunināt cilni",
+        "Database Name:": "Datu bāzes nosaukums:",
+        "Database Name": "Datu bāzes nosaukums",
+        "Database Location:": "Datu bāzes atrašanās vieta:",
+        "Database Location": "Datu bāzes atrašanās vieta",
+        "Hover to show": "Virziet kursoru, lai parādītu",
+        "API Key:": "API atslēga:",
+        "API Key": "API atslēga",
+        "Registration Password:": "Reģistrācijas parole:",
+        "Hash Key:": "Hash atslēga:",
+        "Hash Key": "Hash Key",
+        "Password:": "Parole:",
+        "Attention": "Uzmanību",
+        "The Hash Key will be used to decrypt all passwords etc... on the server.": "Hash atslēga tiks izmantota visu servera paroļu atšifrēšanai.",
+        "The API Key will be used for all calls to organizr for the UI. [Auto-Generated]": "API atslēga tiks izmantota visiem Organizr API vaicājumiem. [Automātiski ģenerēts]",
+        "Notice": "Paziņojums",
+        "Business": "Biznesa",
+        "Personal": "Personīgais",
+        "Choose License": "Izvēlieties licenci",
+        "Install Type": "Instalēšanas veids",
+        "Verify": "Pārbaudiet",
+        "Database": "Datu bāze",
+        "Security": "Drošība",
+        "Admin Info": "Administratora informācija",
+        "Parent Directory:": "Augšējā direktorija:",
+        "Admin Creation": "Administratora izveide",
+        "The Database will contain sensitive information.  Please place in directory outside of root Web Directory.": "Datu bāze satur sensitīvu informāciju. Lūdzu, ievietojiet to direktorijā ārpus root web directory.",
+        "MANAGE": "PĀRVALDĪT",
+        "CATEGORY": "KATEGORIJA",
+        "ADDED": "PIEVIENOTS",
+        "NAME & EMAIL": "VĀRDS UN E-PASTS",
+        "MANAGE USERS": "PĀRVALDĪT LIETOTĀJUS",
+        "Add User": "Pievienot lietotāju",
+        "Manage Groups": "Pārvaldīt grupas",
+        "Choose Language": "Izvēlieties valodu",
+        "Welcome": "Laipni lūdzam",
+        "License": "Licence",
+        "Webserver Version": "Web servera versija",
+        "PHP Version": "PHP versija",
+        "Organizr Branch": "Organizr Branch",
+        "Organizr Version": "Organizr versija",
+        "Information": "Informācija",
+        "Below you will find all the links for everything that has to do with Organizr": "Zemāk jūs atradīsit visas saites uz visu, kas ir saistīts ar Organizr",
+        "Loading...": "Notiek ielāde...",
+        "Donate": "Ziedot",
+        "Edit Group": "Rediģēt grupu",
+        "For icons, use the following format:": "Ikonām izmantojiet šādu formātu:",
+        "For images, use the following format:": "Attēliem izmantojiet šādu formātu:",
+        "You may use an image or icon in this field": "Šajā laukā varat izmantot attēlu vai ikonu",
+        "Image Legend": "Attēlu leģenda",
+        "Category Image": "Kategorijas attēls",
+        "Category Name": "Kategorijas nosaukums",
+        "Edit Category": "Rediģēt kategoriju",
+        "Add Category": "Pievienot kategoriju",
+        "Add New Category": "Pievienot jaunu kategoriju",
+        "DELETE": "DZĒST",
+        "EDIT": "REDIĢĒT",
+        "DEFAULT": "DEFAULT",
+        "TABS": "TABS",
+        "NAME": "NAME",
+        "Category Editor": "Kategoriju redaktors",
+        "Tab Image": "Cilnes attēls",
+        "Tab URL": "Cilnes URL",
+        "Tab Name": "Cilnes nosaukums",
+        "Edit Tab": "Rediģēt cilni",
+        "Add Tab": "Pievienot cilni",
+        "Add New Tab": "Pievienot jaunu cilni",
+        "SPLASH": "SPLASH",
+        "ACTIVE": "AKTĪVA",
+        "TYPE": "VEIDS",
+        "GROUP": "GRUPA",
+        "Delete": "Dzēst",
+        "No": "Nē",
+        "Yes": "Jā",
+        "Deleted Category": "Dzēsta kategorija",
+        "Add New User": "Pievienot jaunu lietotāju",
+        "EMAIL": "EMAIL",
+        "Deleted User": "Dzēsts lietotājs",
+        "Category Order Saved": "Kategorijas pasūtījums ir saglabāts",
+        "Group Image": "Grupas attēls",
+        "Group Name": "Grupas nosaukums",
+        "Add Group": "Pievienot grupu",
+        "Add New Group": "Pievienot jaunu grupu",
+        "USERS": "LIETOTĀJI",
+        "GROUP NAME": "GRUPAS NOSAUKUMS",
+        "MANAGE GROUPS": "PĀRVALDĪT GRUPAS",
+        "Changed Language To": "Mainīta valoda uz",
+        "Groups": "Grupas",
+        "Users": "Lietotāji",
+        "Appearance": "Izskats",
+        "Customize Appearance": "Pielāgot izskatu",
+        "Request Me!": "Pieprasiet mani!",
+        "Would you like to Request it?": "Vai vēlaties to pieprasīt?",
+        "No Results for:": "Nav rezultātu vaicājumam:",
+        "Nothing in queue": "Nekas rindā",
+        "Nothing in history": "Nekas vēsturē",
+        "Nothing in hitsory": "Nekas šorīt",
+        "Load More": "Ielādēt vairāk",
+        "Request": "Pieprasījums",
+        "No Results": "Nav rezultātu",
+        "Airs Today TV": "Ēterā šodien TV",
+        "Popular TV": "Populāra TV",
+        "Top TV": "Top TV",
+        "Upcoming Movies": "Gaidāmās filmas",
+        "Popular Movies": "Populāras filmas",
+        "Top Movies": "Populārākās filmas",
+        "In Theatres": "Teātros",
+        "Suggestions": "Ieteikumi",
+        "TV": "TV",
+        "Movie": "Filma",
+        "Denied": "Noraidīts",
+        "Unapproved": "Nav apstiprināts",
+        "Approved": "Apstiprināts",
+        "Unavailable": "Nav pieejams",
+        "Available": "Pieejams",
+        "Recently Added": "Nesen pievienotās",
+        "Active": "Aktīvs",
+        "Requested By:": "Pieprasīts no:",
+        "Request Options": "Pieprasīt opcijas",
+        "Deny": "Noliegt",
+        "OK": "labi",
+        "Seconds": "Sekundes",
+        "Verify Password": "Apstiprini paroli",
+        "Account Information": "Konta informācija",
+        "Inactive Plugins": "Neaktīvi spraudņi",
+        "Active Plugins": "Aktīvie spraudņi",
+        "Inactive": "Neaktīvs",
+        "Everything Active": "Viss aktīvs",
+        "Nothing Active": "Nekas aktīvs",
+        "Choose Plex Machine": "Izvēlieties Plex Machine",
+        "Test Speed to Server": "Pārbaudiet servera ātrumu",
+        "Test Server Speed": "Pārbaudiet servera ātrumu",
+        "Subject": "Priekšmets",
+        "To:": "Kam:",
+        "Email Users": "E-pasta lietotāji",
+        "E-Mail Center": "E-pasta centrs",
+        "You have been invited. Please goto ": "Jūs esat uzaicināts. Lūdzu, pārejiet ",
+        "Use Invite Code": "Izmantojiet uzaicinājuma kodu",
+        "VALID": "DERĪGS",
+        "IP ADDRESS": "IP ADRESE",
+        "USED BY": "LIETO",
+        "DATE USED": "LIETOŠANAS DATUMS",
+        "DATE SENT": "Nosūtīšanas datums",
+        "INVITE CODE": "UZAICINĀŠANAS KODS",
+        "USERNAME": "USERNAME",
+        "Manage Invites": "Pārvaldīt ielūgumus",
+        "No Invites": "Nav ielūgumu",
+        "Create/Send Invite": "Izveidot / nosūtīt uzaicinājumu",
+        "Name or Username": "Vārds vai Lietotājvārds",
+        "New Invite": "Jauns uzaicinājums",
+        "Hover to show ": "Virziet kursoru, lai parādītu ",
+        "Parent Directory: ": "Vecāku katalogs: ",
+        "The Database will contain sensitive information. Please place in directory outside of root Web Directory.": "Datu bāze satur sensitīvu informāciju. Lūdzu, ievietojiet direktorijā ārpus root Web Directory.",
+        "I Want to Help": "ES gribu palīdzēt",
+        "Head on over to POEditor and help us translate Organizr into your language": "Dodieties uz POEditor un palīdziet mums tulkot Organizr jūsu valodā",
+        "Want to help translate?": "Vai vēlaties palīdzēt tulkot?",
+        "Single Sign-On": "Vienreizēja pierakstīšanās",
+        "Coming Soon...": "Drīzumā...",
+        "Homepage Order": "Mājas lapas pasūtījums",
+        "Homepage Items": "Mājaslapas vienumi",
+        "Image Manager": "Attēlu pārvaldnieks",
+        "Edit User": "Rediģēt lietotāju",
+        "Password Again": "Paroli, atkal",
+        "Template": "Veidne",
+        "Plex Machine": "Plex mašīna",
+        "Get Plex Machine": "Iegūstiet Plex Machine",
+        "Grab It": "Paķert to",
+        "Plex Password": "Plex parole",
+        "Plex Username": "Plex lietotājvārds",
+        "Enter Plex Details": "Ievadiet Plex Details",
+        "Get Plex Token": "Iegūstiet Plex Token",
+        "Upload Image": "Augšupielādēt attēlu",
+        "View Images": "Skatīt attēlus",
+        "Reload": "Pārlādēt",
+        "Unlock": "Atbloķējiet",
+        "Browser Information": "Informācija par pārlūkprogrammu",
+        "Web Folder": "Tīmekļa mape",
+        "Dependencies Missing": "Trūkst atkarību",
+        "Organizr Dependency Check": "Organizr atkarības pārbaude",
+        "Please make sure both Token and Machine are filled in": "Lūdzu, pārliecinieties, ka ir aizpildīti gan marķieris, gan mašīna",
+        "Loading Requests...": "Notiek pieprasījumu ielāde ...",
+        "Loading Recent...": "Notiek neseno ielāde ...",
+        "Loading Now Playing...": "Notiek pašlaik atskaņošana ...",
+        "Loading Playlists...": "Notiek atskaņošanas sarakstu ielāde ...",
+        "Loading Download Queue...": "Notiek lejupielādes rindas ielāde ...",
+        "Organizr Mod Picks": "Organizr Mod Picks",
+        "Requests": "Pieprasījumi",
+        "Become Sponsor": "Kļūsti par sponsoru",
+        "Splash Page": "Splash lapa",
+        "Lock Screen": "Bloķēt ekrānu",
+        "If you signed in with a Emby Acct... Please use the following link to change your password there:": "Ja pierakstījāties, izmantojot Emby Acct ... Lūdzu, izmantojiet šo saiti, lai tur mainītu paroli:",
+        "Password Notice": "Paroles paziņojums",
+        "If you signed in with a Plex Acct... Please use the following link to change your password there:": "Ja esat pierakstījies, izmantojot Plex Acct ... Lūdzu, izmantojiet šo saiti, lai tur mainītu paroli:",
+        "Active Tokens": "Aktīvie žetoni",
+        "Deactivate": "Deaktivizēt",
+        "Activate": "Aktivizēt",
+        "Current": "Pašreizējais",
+        "Save": "Saglabāt",
+        "STATUS": "STATUSS",
+        "PLUGIN": "IESPRAUST",
+        "Plugin Marketplace": "Spraudņu tirgus laukums",
+        "Marketplace": "Tirgus laukums",
+        "Chat": "Tērzēšana",
+        "Current Directory: ": "Pašreizējais katalogs: ",
+        "Suggested Directory: ": "Ieteicamais katalogs: ",
+        "The Registration Password will lockout the registration field with this password. {User-Generated]": "Reģistrācijas parole bloķēs reģistrācijas lauku ar šo paroli. {Lietotāja ģenerēts]",
+        "The Hash Key will be used to decrypt all passwords etc... on the server. {User-Generated]": "Hash atslēga tiks izmantota visu servera paroļu utt. Atšifrēšanai. {Lietotāja ģenerēts]",
+        "If using Plex or Emby - It is suggested that you use the username and email of the Admin account.": "Ja izmantojat Plex vai Emby - ieteicams izmantot administratora konta lietotājvārdu un e-pasta adresi.",
+        "Business has Media items hidden [Plex, Emby etc...]": "Uzņēmumam ir paslēpti multivides vienumi [Plex, Emby utt ...]",
+        "Personal has everything unlocked - no restrictions": "Personīgajam ir viss atbloķēts - bez ierobežojumiem",
+        "Continue To Website": "Turpināt uz vietni",
+        "Patreon": "Patreons",
+        "Cryptos": "Kriptos",
+        "Square Cash": "Square Cash",
+        "PayPal": "PayPal",
+        "Beerpay.io": "Beerpay.io",
+        "Sponsors": "Sponsori",
+        "THEME": "TĒMA",
+        "Theme Marketplace": "Tēma Marketplace",
+        "Test Tab": "Pārbaudes cilne",
+        "Select or type Icon": "Atlasiet vai ierakstiet ikonu",
+        "Choose Icon": "Izvēlieties ikonu",
+        "Choose Image": "Izvēlieties Attēls",
+        "Ping URL": "Ping URL",
+        "Please set tab as [New Window] on next screen": "Lūdzu, nākamajā ekrānā iestatiet cilni kā [Jauns logs]",
+        "Tab can be set as iFrame": "Cilni var iestatīt kā iFrame",
+        "Premier": "Premier",
+        "Missing": "Trūkst",
+        "Unaired": "Nevajadzīgs",
+        "Downloaded": "Lejupielādēts",
+        "All": "Viss",
+        "Choose Media Status": "Izvēlieties Multivides statuss",
+        "Music": "Mūzika",
+        "Choose Media Type": "Izvēlieties Multivides tips",
+        "PHP Version Check": "PHP versijas pārbaude",
+        "Don\\'t have an account?": "Vai jums nav konta?",
+        "The value of #987654 is just a placeholder, you can change to any value you like.": "# 987654 vērtība ir tikai vietturis, jūs varat mainīt uz jebkuru sev tīkamu vērtību.",
+        "This is not the same as database authentication - i.e. Plex Authentication | Emby Authentication | FTP Authentication": "Tas nav tas pats, kas datu bāzes autentifikācija - t.i., Plex autentifikācija | Embija autentifikācija FTP autentifikācija",
+        "Status: [ ": "Statuss: [ ",
+        "This module requires XMLRPC": "Šim modulim nepieciešama XMLRPC",
+        "Misc Options": "Dažādas iespējas",
+        "Search My Media": "Meklēt pakalpojumā My Media",
+        "Import Plex Users": "Importēt Plex lietotājus",
+        "Import": "Importēt",
+        "INSTALL": "UZSTĀDĪT",
+        "INFO": "INFO",
+        "Day": "Diena",
+        "Week": "Nedēļa",
+        "Month": "Mēnesis",
+        "List": "Saraksts",
+        "Streams": "Straumes",
+        "javascript:void(0)": "javascript: void (0)",
+        "Request Show or Movie": "Pieprasīt izrādi vai filmu",
+        "Mark as Unavailable": "Atzīmēt kā nepieejamu",
+        "Mark as Available": "Atzīmēt kā pieejamu",
+        "Approve": "Apstiprināt",
+        "Start": "Sākt",
+        "Everyone Refresh Seconds": "Ikviens atsvaidzina sekundes",
+        "Admin Refresh Seconds": "Administratora atsvaidzināšanas sekundes",
+        "Minimum Authentication for Time Display": "Minimālā laika autentifikācijas autentifikācija",
+        "Show Ping Time": "Rādīt ping laiku",
+        "Offline Sound": "Bezsaistes skaņa",
+        "Online Sound": "Tiešsaistes skaņa",
+        "Minimum Authentication for Message and Sound": "Minimālā ziņojumu un skaņas autentifikācija",
+        "Minimum Authentication": "Minimālā autentifikācija",
+        "Nginx Auth Debug": "Nginx Auth atkļūdošana",
+        "Hide Registration": "Slēpt reģistrāciju",
+        "Lockout Groups To": "Slēgt grupas uz",
+        "Lockout Groups From": "Slēgt grupas no",
+        "Inactivity Lock": "Neaktivitātes bloķēšana",
+        "Inactivity Timer [Minutes]": "Neaktivitātes taimeris [minūtes]",
+        "Emby Token": "Embija žetons",
+        "http(s)://hostname:port": "http (s): // resursdatora nosaukums: ports",
+        "Emby URL": "Emby URL",
+        "cn=%s,dc=sub,dc=domain,dc=com": "cn =% s, dc = sub, dc = domēns, dc = com",
+        "Host Base DN": "Resursdatora DN",
+        "http{s) | ftp(s) | ldap(s)://hostname:port": "http {s) | ftp (s) | ldap (s): // resursdatora nosaukums: ports",
+        "Host Address": "Saimnieka adrese",
+        "Enable Plex oAuth": "Iespējot Plex oAuth",
+        "Retrieve": "Izgūt",
+        "Use Get Plex Machine Button": "Izmantojiet pogu Get Plex Machine",
+        "Use Get Token Button": "Izmantojiet pogu Get Token",
+        "Plex Token": "Plex žetons",
+        "Authentication Backend": "Autentifikācijas aizmugure",
+        "Authentication Type": "Autentifikācijas veids",
+        "Generate": "Ģenerēt",
+        "Generate New API Key": "Ģenerēt jaunu API atslēgu",
+        "Organizr API": "Organizr API",
+        "Force Install Branch": "Piespiest instalēt filiāli",
+        "Branch": "Filiāle",
+        "SSO": "SSO",
+        "Enable": "Iespējot",
+        "Tautulli URL": "Tautulli URL",
+        "Ombi URL": "Ombi URL",
+        "Plex Note": "Plex piezīme",
+        "Admin username for Plex": "Plex administratora lietotājvārds",
+        "Admin Username": "Administratora lietotājvārds",
+        "Click Main on the sub-menu above.": "Iepriekš esošajā apakšizvēlnē noklikšķiniet uz Galvenais.",
+        "Important Information": "Svarīga informācija",
+        "PING": "PING",
+        "Custom HTML/JavaScript": "Pielāgots HTML / JavaScript",
+        "CustomHTML-2": "PielāgotsHTML-2",
+        "CustomHTML-1": "PielāgotsHTML-1",
+        "Refresh Seconds": "Atsvaidzināt sekundes",
+        "Limit to User": "Tikai lietotājam",
+        "Minimum Group to Request": "Minimālā pieprasāmā grupa",
+        "Token": "Žetons",
+        "URL": "URL",
+        "Ombi": "Ombi",
+        "Items Per Day": "Vienumi dienā",
+        "Time Format": "Laika formāts",
+        "Default View": "Noklusējuma skats",
+        "Start Day": "Sākuma diena",
+        "SickRage": "SickRage",
+        "CouchPotato": "CouchPotato",
+        "Test Connection": "Pārbaudīt savienojumu",
+        "Please Save before Testing": "Lūdzu, saglabājiet pirms testēšanas",
+        "# of Days After": "# dienu skaits pēc",
+        "# of Days Before": "# dienu iepriekš",
+        "Radarr": "Radarr",
+        "Lidarr": "Lidarr",
+        "Show Unmonitored": "Rādīt bez uzraudzības",
+        "Sonarr": "Sonarr",
+        "Hide Completed": "Slēpt pabeigts",
+        "Hide Seeding": "Slēpt sēšanu",
+        "Deluge": "Plūdi",
+        "Order": "Pasūtījums",
+        "Status: [": "Statuss: [",
+        "]": "]",
+        "rTorrent": "rTorrent",
+        "Reverse Sorting": "Reversā šķirošana",
+        "qBittorrent": "qBittorrent",
+        "Transmission": "Pārnešana",
+        "NZBGet": "NZBGet",
+        "SabNZBD": "SabNZBD",
+        "Image Cache Size": "Attēla kešatmiņas lielums",
+        "Emby Tab WAN URL": "Embija cilnes WAN URL",
+        "Only use if you have Emby in a reverse proxy": "Izmantojiet tikai tad, ja Embijs atrodas apgrieztā starpniekserverī",
+        "Emby Tab Name": "Embija cilnes nosaukums",
+        "Item Limit": "Vienuma ierobežojums",
+        "Minimum Authorization": "Minimālā atļauja",
+        "User Information": "Informācija par lietotāju",
+        "Emby": "Embijs",
+        "Plex Tab WAN URL": "Plex cilnes WAN URL",
+        "Only use if you have Plex in a reverse proxy": "Izmantojiet tikai tad, ja Plex atrodas apgrieztā starpniekserverī",
+        "Plex Tab Name": "Plex cilnes nosaukums",
+        "Media Server": "Multivides serveris",
+        "Plex": "Plex",
+        "separate by comma's": "atdala ar komatiem",
+        "iCal URL's": "iCal vietrāži URL",
+        "Enable iCal": "Iespējot iCal",
+        "Calendar": "Kalendārs",
+        "Theme Javascript": "Motīvs Javascript",
+        "Custom Javascript": "Pielāgots Javascript",
+        "Theme CSS [Can replace colors from above]": "CSS motīvs [var aizstāt krāsas no augšas]",
+        "Custom CSS [Can replace colors from above]": "Pielāgota CSS [var aizstāt krāsas no augšas]",
+        "Copy code and paste inside left box": "Kopējiet kodu un ielīmējiet kreisajā lodziņā",
+        "Download and unzip file and place in": "Lejupielādējiet un izpakojiet failu un ievietojiet",
+        "Click [Generate your Favicons and HTML code]": "Noklikšķiniet uz [Generate your Favicons and HTML code]",
+        "Enter this path": "Ievadiet šo ceļu",
+        "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.]": "Lapas apakšdaļā [Favicon Generator Options] sadaļā [Ceļš] izvēlieties [Es nevaru vai nevēlos ievietot favicon failus savas vietnes saknē.]",
+        "Edit settings to your liking": "Rediģējiet iestatījumus pēc savas gaumes",
+        "Choose your image to use": "Izvēlieties izmantojamo attēlu",
+        "Click [Select your Favicon picture]": "Noklikšķiniet uz [Atlasīt savu Favicon attēlu]",
+        "Instructions": "Instrukcijas",
+        "Fav Icon Code": "Fav ikonas kods",
+        "Test Message": "Pārbaudes ziņojums",
+        "Position": "Pozīcija",
+        "Style": "Stils",
+        "Theme": "Tēma",
+        "Button Text Color": "Pogas teksta krāsa",
+        "Button Color": "Pogas krāsa",
+        "Accent Text Color": "Akcenta teksta krāsa",
+        "Accent Color": "Akcenta krāsa",
+        "Side Bar Text Color": "Sānjoslas teksta krāsa",
+        "Side Bar Color": "Sānu joslas krāsa",
+        "Nav Bar Text Color": "Nav joslas teksta krāsa",
+        "Nav Bar Color": "Nav joslas krāsa",
+        "Unsorted Tab Placement": "Nesakārtota cilnes izvietošana",
+        "Alternate Homepage Titles": "Alternatīvie mājas lapas nosaukumi",
+        "Minimal Login Screen": "Minimālais pieteikšanās ekrāns",
+        "Login Wallpaper": "Pieteikšanās fona attēls",
+        "Use Logo instead of Title": "Virsraksta vietā izmantojiet logotipu",
+        "Title": "Nosaukums",
+        "Logo": "Logotips",
+        "Import Users": "Importēt lietotājus",
+        "Drop files here to upload": "Nometiet failus šeit, lai augšupielādētu",
+        "SpeedTest Settings": "SpeedTest iestatījumi",
+        "PHP Mailer Settings": "PHP Mailer iestatījumi",
+        "Invites Settings": "Uzaicina iestatījumus",
+        "Chat Settings": "Tērzēšanas iestatījumi",
+        "Delete ": "Dzēst ",
+        "App Cluster": "Lietotņu kopa",
+        "App ID": "Lietotnes ID",
+        "API Secret": "API noslēpums",
+        "Auth Key": "Auth Key",
+        "Use Pusher SSL": "Izmantojiet pusher SSL",
+        "Message Sound": "Ziņojuma skaņa",
+        "# of Previous Messages": "Iepriekšējo ziņojumu skaits",
+        "Note": "Piezīme",
+        "Libraries": "Bibliotēkas",
+        "Body": "Ķermenis",
+        "Name": "Nosaukums",
+        "Template #4": "4. veidne",
+        "Template #3": "Veidne Nr. 3",
+        "Template #2": "2. veidne",
+        "Reminder Template": "Atgādinājuma veidne",
+        "Invite User": "Uzaicināt lietotāju",
+        "Reset Password": "Atiestatīt paroli",
+        "New Registration": "Jauna reģistrācija",
+        "Edit Template": "Rediģēt veidni",
+        "Send Welcome E-Mail": "Sūtīt sveiciena e-pastu",
+        "Full URL": "Pilns URL",
+        "WAN Logo URL": "WAN logotipa URL",
+        "https://domain.com/": "https://domain.com/",
+        "Domain Link Override": "Domēna saites ignorēšana",
+        "Send": "Nosūtīt",
+        "Send Test": "Nosūtīt testu",
+        "i.e. same as username": "i., tas pats, kas lietotājvārds",
+        "Sender Email": "Sūtītāja e-pasts",
+        "Sender Name": "Sūtītāja vārds",
+        "Verify Certificate": "Pārbaudīt sertifikātu",
+        "Authentication": "Autentifikācija",
+        "SMTP Port": "SMTP ports",
+        "SMTP Host": "SMTP resursdators",
+        "Results For cmd:": "Rezultāti cmd:",
+        "Organizr Information:": "Organizr informācija:",
+        "DB Schema": "DB shēma",
+        "Misc SSO": "Dažādi pierakstīšanās",
+        "Tautulli SSO": "Tautulli SSO",
+        "Plex SSO": "Plex SSO",
+        "Ombi SSO": "Ombi SSO",
+        "Commands": "Komandas",
+        "Input Command": "Ievades komanda",
+        "Organizr Debug Area": "Organizr atkļūdošanas apgabals",
+        "Google Ads": "Google Ads",
+        "DB Folder": "DB mape",
+        "API Folder": "API mape",
+        "Root Folder": "Saknes mape",
+        "Organizr Paths": "Organizr Ceļi",
+        "Organizr News": "Organizr ziņas",
+        "Close Error": "Aizvērt kļūdu",
+        "An Error Occured": "Radās kļūda",
+        "Debug Area": "Atkļūdošanas apgabals",
+        "Tab Local URL": "Cilne Vietējais URL",
+        "PRELOAD": "PRELOAD",
+        "Use Ombi Alias Names": "Izmantojiet Ombi aizstājvārdus",
+        "TV Show Default Request": "TV šova noklusējuma pieprasījums",
+        "Add to Combined Downloader": "Pievienot kombinētajam lejupielādētājam",
+        "http(s)://hostname:port/xmlrpc": "http (s): // resursdatora nosaukums: ports / xmlrpc",
+        "rTorrent API URL Override": "rTorrent API URL ignorēšana",
+        "Enable Notify Sounds": "Iespējot paziņojumu skaņas",
+        "Remember Me Length": "Atcerieties mani Garums",
+        "Minimum Authentication for Debug Area": "Minimālā atkļūdošanas apgabala autentifikācija",
+        "Account DN": "Konta DN",
+        "Bind Username": "Saistīt lietotājvārdu",
+        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "Konta sufikss - sāciet ar komatu -, ou = cilvēki, dc = domēns, dc = tld",
+        "Account Suffix": "Konta sufikss",
+        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Konta prefikss - t.i., Controller \\ from Controller \\ AD AD - uid = OpenLDAP",
+        "Account Prefix": "Konta prefikss",
+        "LDAP Backend Type": "LDAP aizmugures tips",
+        "Strict Plex Friends": "Stingri Plex draugi",
+        "Unifi": "Unifi",
+        "Pi-hole": "Pi-caurums",
+        "Check For Updates": "Meklēt atjauninājumus",
+        "I will try and import new strings every Friday": "Katru piektdienu mēģināšu importēt jaunas virknes",
+        "Custom definitions": "Pielāgotas definīcijas",
+        "Show on small screens": "Rādīt mazos ekrānos",
+        "Show on medium screens": "Rādīt vidējos ekrānos",
+        "Show on large screens": "Rādīt uz lieliem ekrāniem",
+        "Size": "Izmērs",
+        "Colour": "Krāsa",
+        "Chart": "Diagramma",
+        "Data": "Dati",
+        "Info": "Info",
+        "Netdata": "Netdata",
+        "Toggle Title": "Pārslēgt virsrakstu",
+        "Speedtest": "Ātruma pārbaude",
+        "Unit of Measurement": "Mērvienība",
+        "Enable Pollen": "Iespējot ziedputekšņus",
+        "Enable Air Quality": "Iespējot gaisa kvalitāti",
+        "Enable Weather": "Iespējot laika apstākļus",
+        "Need Help With Coordinates?": "Vai nepieciešama palīdzība ar koordinātām?",
+        "Longitude": "Garums",
+        "Latitude": "Platums",
+        "Weather-Air": "Weather-Air",
+        "Compact view": "Kompakts skats",
+        "http://domain.com/monitorr/": "http://domain.com/monitorr/",
+        "Monitorr": "Monitorr",
+        "Top Platforms": "Top platformas",
+        "Top Users": "Galvenie lietotāji",
+        "http://<ip>:<port>": "http: // <ip>: <port>",
+        "Tautulli": "Tautulli",
+        "Combine stat cards": "Apvienojiet stat kartes",
+        "http(s)://hostname:port/admin/": "http (s): // resursdatora nosaukums: ports / admin /",
+        "Youtube API Key": "Youtube API atslēga",
+        "Misc": "Dažādi",
+        "Multiple tags using CSV - tag1,tag2": "Vairāki tagi, izmantojot CSV - tag1, tag2",
+        "Tags": "Tagi",
+        "HealthChecks API URL": "HealthChecks API URL",
+        "HealthChecks": "Veselības pārbaudes",
+        "Get Unifi Site": "Iegūstiet Unifi vietni",
+        "Grab Unifi Site": "Grab Unifi vietni",
+        "Site Name": "Vietnes nosaukums",
+        "Unifi API URL": "Unifi API URL",
+        "Show Denied": "Izrāde liegta",
+        "Show Unapproved": "Rādīt neapstiprinātu",
+        "Show Approved": "Rādīt apstiprinātu",
+        "Show Unavailable": "Rādīt nav pieejams",
+        "Show Available": "Rādīt pieejamu",
+        "Disable Certificate Check": "Atspējot sertifikātu pārbaudi",
+        "Organizr appends the url with": "Organizr pievieno URL ar",
+        "unless the URL ends in": "ja vien URL beidzas ar",
+        "ATTENTION": "UZMANĪBU",
+        "API Version": "API versija",
+        "JDownloader": "JDownloader",
+        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http (s): // resursdatora nosaukums: ports - pārliecinieties, vai Jelly fin, lai beigtu URL ar / jellyfin",
+        "Emby-Jellyfin": "Embijs-Jellyfins",
+        "Tab Auto Action Minutes": "Cilne Automātiskās darbības minūtes",
+        "Tab Auto Action": "Cilne Automātiska darbība",
+        "To revert back to default, save with no value defined in the relevant field.": "Lai atgrieztos pēc noklusējuma, saglabājiet, ja attiecīgajā laukā nav noteikta vērtība.",
+        "e.g. UA-XXXXXXXXX-X": "piem. UA-XXXXXXXXX-X",
+        "Google Analytics Tracking ID": "Google Analytics izsekošanas ID",
+        "Show Debug Errors": "Rādīt atkļūdošanas kļūdas",
+        "Use Logo instead of Title on Login Page": "Pieteikšanās lapā virsraksta vietā izmantojiet logotipu",
+        "Login Logo": "Pieteikšanās logotips",
+        "Meta Description": "Meta apraksts",
+        "HealthChecks Settings": "HealthChecks iestatījumi",
+        "AdamSmith": "AdamSmith",
+        "Emby User to be used as template for new users": "Emby lietotājs jāizmanto kā veidne jauniem lietotājiem",
+        "localhost:8086": "vietējais saimnieks: 8086",
+        "Emby server adress": "Embija servera adrese",
+        "enter key from emby": "ievadiet taustiņu no Emby",
+        "Emby API key": "Emby API atslēga",
+        "Music Labels (comma separated)": "Mūzikas etiķetes (atdalītas ar komatu)",
+        "Movies Labels (comma separated)": "Filmu etiķetes (atdalītas ar komatu)",
+        "TV Labels (comma separated)": "TV iezīmes (atdalītas ar komatu)",
+        "Template #1": "1. veidne",
+        "Enable Debug Output on Email Test": "E-pasta pārbaudē iespējojiet atkļūdošanas izvadi",
+        "i.e. 10.0.0.0/24 or 10.0.0.20": "i., 10.0.0.0/24 vai 10.0.0.20",
+        "Auth Proxy Whitelist": "Autentiskais starpniekservera baltais saraksts",
+        "i.e. X-Forwarded-User": "i., X-Forwarded-User",
+        "Auth Proxy Header Name": "Auth starpniekservera galvenes nosaukums",
+        "Auth Proxy": "Auth starpniekserveris",
+        "Enable Local Address Forward": "Iespējot vietējās adreses pārsūtīšanu",
+        "http://home.local": "http: //home.local",
+        "Local Address": "Vietējā adrese",
+        "only domain and tld - i.e. domain.com": "tikai domēns un tld - t.i., domain.com",
+        "WAN Domain": "WAN domēns",
+        "i.e. 123.123.123.123": "i., 123.123.123.123",
+        "Override Local IP To": "Ignorēt vietējo IP uz",
+        "Override Local IP From": "Ignorēt vietējo IP no",
+        "Disable Image Dropdown": "Atspējot nolaižamo attēlu",
+        "Disable Icon Dropdown": "Atspējot ikonas nolaižamo izvēlni",
+        "Enable Traefik Auth Redirect": "Iespējot Traefik Auth novirzīšanu",
+        "iFrame Sandbox": "iFrame Sandbox",
+        "Login Lockout Seconds": "Pieteikšanās bloķēšanas sekundes",
+        "Max Login Attempts": "Maks. Pieteikšanās mēģinājumi",
+        "Test Login": "Pārbaudiet pieteikšanos",
+        "Ignore External 2FA on Local Subnet": "Ignorēt ārējo 2FA lokālajā apakštīklā"
+    }
+}

+ 75 - 75
js/langpack/nl[Dutch].json

@@ -16,7 +16,7 @@
         "Email": "Email",
         "Enter your Email and instructions will be sent to you!": "Voor je Email in en de instructies worden naar je verstuurd!",
         "Register": "Registreren",
-        "Registration Password": "Registreer Wachtwoord",
+        "Registration Password": "Registratiewachtwoord",
         "Recover Password": "Herstel Wachtwoord",
         "Password": "Wachtwoord",
         "Sign Up": "Aanmelden",
@@ -32,14 +32,14 @@
         "Main Settings": "Hoofd Instellingen",
         "Updates": "Updates",
         "Logs": "Logs",
-        "Main": "Hoofd",
+        "Main": "Basis",
         "Plugins": "Plugins",
         "Manage Users": "Beheer Gebruikers",
         "Customize Organizr": "Organizr Aanpassen",
         "Edit Categories": "Bewerk Categorieën",
         "Edit Tabs": "Bewerk Tabbladen",
         "Tabs": "Tabbladen",
-        "System Settings": "Systeem Instellingen",
+        "System Settings": "Systeeminstellingen",
         "User Management": "Beheer Gebruikers",
         "Customize": "Aanpassen",
         "Tab Editor": "Tabbladen Bewerker",
@@ -49,7 +49,7 @@
         "Login Logs": "Login Logs",
         "Login Log": "Login Log",
         "Organizr Log": "Organizr Log",
-        "FIXED": "GEREPAREERD",
+        "FIXED": "AANGEPAST",
         "NEW": "NIEUW",
         "NOTE": "NOTITIE",
         "Update Available": "Update Beschikbaar",
@@ -517,102 +517,102 @@
         "LDAP Backend Type": "LDAP Koppeling Type",
         "Strict Plex Friends": "Uitsluitend Plex vrienden",
         "Unifi": "Unifi",
-        "Pi-hole": "Pi-hole",
-        "Check For Updates": "Check For Updates",
-        "I will try and import new strings every Friday": "I will try and import new strings every Friday",
-        "Custom definitions": "Custom definitions",
-        "Show on small screens": "Show on small screens",
-        "Show on medium screens": "Show on medium screens",
-        "Show on large screens": "Show on large screens",
-        "Size": "Size",
-        "Colour": "Colour",
-        "Chart": "Chart",
+        "Pi-hole": "Pi-Hole",
+        "Check For Updates": "Controleer op updates",
+        "I will try and import new strings every Friday": "Ik probeer iedere vrijdag nieuwe zinnen te importeren",
+        "Custom definitions": "aangepaste definities",
+        "Show on small screens": "Toon op kleine schermen",
+        "Show on medium screens": "Toon op middelgrote schermen",
+        "Show on large screens": "Toon op grote schermen",
+        "Size": "Grootte",
+        "Colour": "Kleur",
+        "Chart": "Grafiek",
         "Data": "Data",
         "Info": "Info",
         "Netdata": "Netdata",
-        "Toggle Title": "Toggle Title",
+        "Toggle Title": "Wissel Titel",
         "Speedtest": "Speedtest",
-        "Unit of Measurement": "Unit of Measurement",
-        "Enable Pollen": "Enable Pollen",
-        "Enable Air Quality": "Enable Air Quality",
-        "Enable Weather": "Enable Weather",
-        "Need Help With Coordinates?": "Need Help With Coordinates?",
-        "Longitude": "Longitude",
-        "Latitude": "Latitude",
+        "Unit of Measurement": "Eenheid",
+        "Enable Pollen": "'Pollen' inschakelen",
+        "Enable Air Quality": "'Air Quality' inschakelen",
+        "Enable Weather": "'Weer' inschakelen",
+        "Need Help With Coordinates?": "Hulp nodig met coördinaten?",
+        "Longitude": "lengtegraad",
+        "Latitude": "breedtegraad",
         "Weather-Air": "Weather-Air",
-        "Compact view": "Compact view",
+        "Compact view": "compacte weergave",
         "http://domain.com/monitorr/": "http://domain.com/monitorr/",
         "Monitorr": "Monitorr",
         "Top Platforms": "Top Platforms",
-        "Top Users": "Top Users",
-        "http://<ip>:<port>": "http://<ip>:<port>",
+        "Top Users": "Top gebruikers",
+        "http://<ip>:<port>": "http://<ip>:<port",
         "Tautulli": "Tautulli",
-        "Combine stat cards": "Combine stat cards",
-        "http(s)://hostname:port/admin/": "http(s)://hostname:port/admin/",
-        "Youtube API Key": "Youtube API Key",
-        "Misc": "Misc",
-        "Multiple tags using CSV - tag1,tag2": "Multiple tags using CSV - tag1,tag2",
+        "Combine stat cards": "Combineer stat cards",
+        "http(s)://hostname:port/admin/": "http(s)://host:poort/admin/\n",
+        "Youtube API Key": "Youtube API Sleutel",
+        "Misc": "Andere",
+        "Multiple tags using CSV - tag1,tag2": "Meerdere CSV tags -tag1,tag2",
         "Tags": "Tags",
         "HealthChecks API URL": "HealthChecks API URL",
         "HealthChecks": "HealthChecks",
-        "Get Unifi Site": "Get Unifi Site",
-        "Grab Unifi Site": "Grab Unifi Site",
-        "Site Name": "Site Name",
+        "Get Unifi Site": "Get Unifi site",
+        "Grab Unifi Site": "Grab Unifi site",
+        "Site Name": "sitenaam",
         "Unifi API URL": "Unifi API URL",
-        "Show Denied": "Show Denied",
-        "Show Unapproved": "Show Unapproved",
-        "Show Approved": "Show Approved",
-        "Show Unavailable": "Show Unavailable",
-        "Show Available": "Show Available",
-        "Disable Certificate Check": "Disable Certificate Check",
-        "Organizr appends the url with": "Organizr appends the url with",
-        "unless the URL ends in": "unless the URL ends in",
-        "ATTENTION": "ATTENTION",
-        "API Version": "API Version",
+        "Show Denied": "Toon afgewezen",
+        "Show Unapproved": "Toon 'niet goedgekeurd'",
+        "Show Approved": "Toon goedgekeurd",
+        "Show Unavailable": "Toon 'niet beschikbaar'",
+        "Show Available": "Toon 'beschikbaar'",
+        "Disable Certificate Check": "Desactiveer certificaatscontrole",
+        "Organizr appends the url with": "Organizr koppelt de URL met",
+        "unless the URL ends in": "tenzij de URL eindigt met",
+        "ATTENTION": "OPGEPAST",
+        "API Version": "API versie",
         "JDownloader": "JDownloader",
-        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin",
+        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http(s)://hostname:port - zorg dat Jelly fin-URL eindigt met /jellyfin",
         "Emby-Jellyfin": "Emby-Jellyfin",
-        "Tab Auto Action Minutes": "Tab Auto Action Minutes",
+        "Tab Auto Action Minutes": "Tab Auto Action Minuten",
         "Tab Auto Action": "Tab Auto Action",
-        "To revert back to default, save with no value defined in the relevant field.": "To revert back to default, save with no value defined in the relevant field.",
+        "To revert back to default, save with no value defined in the relevant field.": "Om terug te schakelen naar standaardinstellingen, sla op zonder waarde in het desbetreffende veld.",
         "e.g. UA-XXXXXXXXX-X": "e.g. UA-XXXXXXXXX-X",
         "Google Analytics Tracking ID": "Google Analytics Tracking ID",
-        "Show Debug Errors": "Show Debug Errors",
-        "Use Logo instead of Title on Login Page": "Use Logo instead of Title on Login Page",
-        "Login Logo": "Login Logo",
-        "Meta Description": "Meta Description",
-        "HealthChecks Settings": "HealthChecks Settings",
+        "Show Debug Errors": "Toon Debug errors",
+        "Use Logo instead of Title on Login Page": "Gebruik logo in plaats van titel op loginpagina",
+        "Login Logo": "Login logo",
+        "Meta Description": "Meta omschrijving",
+        "HealthChecks Settings": "HealthChecks instellingen",
         "AdamSmith": "AdamSmith",
-        "Emby User to be used as template for new users": "Emby User to be used as template for new users",
+        "Emby User to be used as template for new users": "Emby gebruiker als template voor nieuwe gebruikers",
         "localhost:8086": "localhost:8086",
-        "Emby server adress": "Emby server adress",
-        "enter key from emby": "enter key from emby",
-        "Emby API key": "Emby API key",
-        "Music Labels (comma separated)": "Music Labels (comma separated)",
-        "Movies Labels (comma separated)": "Movies Labels (comma separated)",
-        "TV Labels (comma separated)": "TV Labels (comma separated)",
+        "Emby server adress": "Emby serveradres",
+        "enter key from emby": "voer emby-sleutel in",
+        "Emby API key": "Emby API sleutel",
+        "Music Labels (comma separated)": "muzieklabels (scheiden met komma)",
+        "Movies Labels (comma separated)": "filmlabels (scheiden met komma)",
+        "TV Labels (comma separated)": "TV labels (scheiden met komma)",
         "Template #1": "Template #1",
-        "Enable Debug Output on Email Test": "Enable Debug Output on Email Test",
-        "i.e. 10.0.0.0/24 or 10.0.0.20": "i.e. 10.0.0.0/24 or 10.0.0.20",
-        "Auth Proxy Whitelist": "Auth Proxy Whitelist",
-        "i.e. X-Forwarded-User": "i.e. X-Forwarded-User",
+        "Enable Debug Output on Email Test": "Activeer Debug output op Email test",
+        "i.e. 10.0.0.0/24 or 10.0.0.20": "vb. 10.0.0.0/24 of 10.0.0.20",
+        "Auth Proxy Whitelist": "Auth Proxy whitelist",
+        "i.e. X-Forwarded-User": "vb. X-Forwarded-User",
         "Auth Proxy Header Name": "Auth Proxy Header Name",
         "Auth Proxy": "Auth Proxy",
-        "Enable Local Address Forward": "Enable Local Address Forward",
+        "Enable Local Address Forward": "Activeer Local Address Forward",
         "http://home.local": "http://home.local",
-        "Local Address": "Local Address",
-        "only domain and tld - i.e. domain.com": "only domain and tld - i.e. domain.com",
+        "Local Address": "Lokaal adres",
+        "only domain and tld - i.e. domain.com": "alleen domain en tld - vb. domain.com",
         "WAN Domain": "WAN Domain",
-        "i.e. 123.123.123.123": "i.e. 123.123.123.123",
-        "Override Local IP To": "Override Local IP To",
-        "Override Local IP From": "Override Local IP From",
-        "Disable Image Dropdown": "Disable Image Dropdown",
-        "Disable Icon Dropdown": "Disable Icon Dropdown",
-        "Enable Traefik Auth Redirect": "Enable Traefik Auth Redirect",
-        "iFrame Sandbox": "iFrame Sandbox",
-        "Login Lockout Seconds": "Login Lockout Seconds",
-        "Max Login Attempts": "Max Login Attempts",
+        "i.e. 123.123.123.123": "vb. 123.123.123.123",
+        "Override Local IP To": "Overschrijf lokaal IP naar",
+        "Override Local IP From": "Overschrijf lokaal IP van",
+        "Disable Image Dropdown": "Desactiveer Image dropdown",
+        "Disable Icon Dropdown": "Desactiveer Icon dropdown",
+        "Enable Traefik Auth Redirect": "Activeer Traefik Auth Redirect",
+        "iFrame Sandbox": "IFrame sandbox",
+        "Login Lockout Seconds": "Login Lockout seconden",
+        "Max Login Attempts": "Max inlogpogingen",
         "Test Login": "Test Login",
-        "Ignore External 2FA on Local Subnet": "Ignore External 2FA on Local Subnet"
+        "Ignore External 2FA on Local Subnet": "Negeer externe 2FA op lokaal subnet"
     }
 }

+ 1 - 1
js/langpack/pl[Polish].json

@@ -264,7 +264,7 @@
         "If using Plex or Emby - It is suggested that you use the username and email of the Admin account.": "Jeśli korzystasz z Plex lub Emby - zaleca się użycie nazwy użytkownika i e-maila konta administratora.",
         "Business has Media items hidden [Plex, Emby etc...]": "Komercyjna posiada ukryte elementy multimediów [Plex, Emby, itp.]",
         "Personal has everything unlocked - no restrictions": "Prywatna posiada wszystko odblokowane - brak ograniczeń",
-        "Continue To Website": "Przejdź do strony internetowej",
+        "Continue To Website": "Przejdź do strony",
         "Patreon": "Patreon",
         "Cryptos": "Kryptowaluty",
         "Square Cash": "Square Cash",

+ 99 - 1
js/langpack/sk[Slovak].json

@@ -515,6 +515,104 @@
         "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP",
         "Account Prefix": "Account Prefix",
         "LDAP Backend Type": "LDAP Backend Type",
-        "Strict Plex Friends": "Strict Plex Friends"
+        "Strict Plex Friends": "Strict Plex Friends",
+        "Unifi": "Unifi",
+        "Pi-hole": "Pi-hole",
+        "Check For Updates": "Check For Updates",
+        "I will try and import new strings every Friday": "I will try and import new strings every Friday",
+        "Custom definitions": "Custom definitions",
+        "Show on small screens": "Show on small screens",
+        "Show on medium screens": "Show on medium screens",
+        "Show on large screens": "Show on large screens",
+        "Size": "Size",
+        "Colour": "Colour",
+        "Chart": "Chart",
+        "Data": "Data",
+        "Info": "Info",
+        "Netdata": "Netdata",
+        "Toggle Title": "Toggle Title",
+        "Speedtest": "Speedtest",
+        "Unit of Measurement": "Unit of Measurement",
+        "Enable Pollen": "Enable Pollen",
+        "Enable Air Quality": "Enable Air Quality",
+        "Enable Weather": "Enable Weather",
+        "Need Help With Coordinates?": "Need Help With Coordinates?",
+        "Longitude": "Longitude",
+        "Latitude": "Latitude",
+        "Weather-Air": "Weather-Air",
+        "Compact view": "Compact view",
+        "http://domain.com/monitorr/": "http://domain.com/monitorr/",
+        "Monitorr": "Monitorr",
+        "Top Platforms": "Top Platforms",
+        "Top Users": "Top Users",
+        "http://<ip>:<port>": "http://<ip>:<port>",
+        "Tautulli": "Tautulli",
+        "Combine stat cards": "Combine stat cards",
+        "http(s)://hostname:port/admin/": "http(s)://hostname:port/admin/",
+        "Youtube API Key": "Youtube API Key",
+        "Misc": "Misc",
+        "Multiple tags using CSV - tag1,tag2": "Multiple tags using CSV - tag1,tag2",
+        "Tags": "Tags",
+        "HealthChecks API URL": "HealthChecks API URL",
+        "HealthChecks": "HealthChecks",
+        "Get Unifi Site": "Get Unifi Site",
+        "Grab Unifi Site": "Grab Unifi Site",
+        "Site Name": "Site Name",
+        "Unifi API URL": "Unifi API URL",
+        "Show Denied": "Show Denied",
+        "Show Unapproved": "Show Unapproved",
+        "Show Approved": "Show Approved",
+        "Show Unavailable": "Show Unavailable",
+        "Show Available": "Show Available",
+        "Disable Certificate Check": "Disable Certificate Check",
+        "Organizr appends the url with": "Organizr appends the url with",
+        "unless the URL ends in": "unless the URL ends in",
+        "ATTENTION": "ATTENTION",
+        "API Version": "API Version",
+        "JDownloader": "JDownloader",
+        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin",
+        "Emby-Jellyfin": "Emby-Jellyfin",
+        "Tab Auto Action Minutes": "Tab Auto Action Minutes",
+        "Tab Auto Action": "Tab Auto Action",
+        "To revert back to default, save with no value defined in the relevant field.": "To revert back to default, save with no value defined in the relevant field.",
+        "e.g. UA-XXXXXXXXX-X": "e.g. UA-XXXXXXXXX-X",
+        "Google Analytics Tracking ID": "Google Analytics Tracking ID",
+        "Show Debug Errors": "Show Debug Errors",
+        "Use Logo instead of Title on Login Page": "Use Logo instead of Title on Login Page",
+        "Login Logo": "Login Logo",
+        "Meta Description": "Meta Description",
+        "HealthChecks Settings": "HealthChecks Settings",
+        "AdamSmith": "AdamSmith",
+        "Emby User to be used as template for new users": "Emby User to be used as template for new users",
+        "localhost:8086": "localhost:8086",
+        "Emby server adress": "Emby server adress",
+        "enter key from emby": "enter key from emby",
+        "Emby API key": "Emby API key",
+        "Music Labels (comma separated)": "Music Labels (comma separated)",
+        "Movies Labels (comma separated)": "Movies Labels (comma separated)",
+        "TV Labels (comma separated)": "TV Labels (comma separated)",
+        "Template #1": "Template #1",
+        "Enable Debug Output on Email Test": "Enable Debug Output on Email Test",
+        "i.e. 10.0.0.0/24 or 10.0.0.20": "i.e. 10.0.0.0/24 or 10.0.0.20",
+        "Auth Proxy Whitelist": "Auth Proxy Whitelist",
+        "i.e. X-Forwarded-User": "i.e. X-Forwarded-User",
+        "Auth Proxy Header Name": "Auth Proxy Header Name",
+        "Auth Proxy": "Auth Proxy",
+        "Enable Local Address Forward": "Enable Local Address Forward",
+        "http://home.local": "http://home.local",
+        "Local Address": "Local Address",
+        "only domain and tld - i.e. domain.com": "only domain and tld - i.e. domain.com",
+        "WAN Domain": "WAN Domain",
+        "i.e. 123.123.123.123": "i.e. 123.123.123.123",
+        "Override Local IP To": "Override Local IP To",
+        "Override Local IP From": "Override Local IP From",
+        "Disable Image Dropdown": "Disable Image Dropdown",
+        "Disable Icon Dropdown": "Disable Icon Dropdown",
+        "Enable Traefik Auth Redirect": "Enable Traefik Auth Redirect",
+        "iFrame Sandbox": "iFrame Sandbox",
+        "Login Lockout Seconds": "Login Lockout Seconds",
+        "Max Login Attempts": "Max Login Attempts",
+        "Test Login": "Test Login",
+        "Ignore External 2FA on Local Subnet": "Ignore External 2FA on Local Subnet"
     }
 }

+ 99 - 1
js/langpack/sl[Slovenian].json

@@ -515,6 +515,104 @@
         "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Predpona računa -t.j. Kontroler\\ iz kontrolerja\\Uporabniško ime in AD -uid= zaOpenLDAP",
         "Account Prefix": "Predpona računa",
         "LDAP Backend Type": "LDAP vrsta orodja",
-        "Strict Plex Friends": "Strogo Prijatelji iz Plexa"
+        "Strict Plex Friends": "Strogo Prijatelji iz Plexa",
+        "Unifi": "Unifi",
+        "Pi-hole": "Pi-hole",
+        "Check For Updates": "Check For Updates",
+        "I will try and import new strings every Friday": "I will try and import new strings every Friday",
+        "Custom definitions": "Custom definitions",
+        "Show on small screens": "Show on small screens",
+        "Show on medium screens": "Show on medium screens",
+        "Show on large screens": "Show on large screens",
+        "Size": "Size",
+        "Colour": "Colour",
+        "Chart": "Chart",
+        "Data": "Data",
+        "Info": "Info",
+        "Netdata": "Netdata",
+        "Toggle Title": "Toggle Title",
+        "Speedtest": "Speedtest",
+        "Unit of Measurement": "Unit of Measurement",
+        "Enable Pollen": "Enable Pollen",
+        "Enable Air Quality": "Enable Air Quality",
+        "Enable Weather": "Enable Weather",
+        "Need Help With Coordinates?": "Need Help With Coordinates?",
+        "Longitude": "Longitude",
+        "Latitude": "Latitude",
+        "Weather-Air": "Weather-Air",
+        "Compact view": "Compact view",
+        "http://domain.com/monitorr/": "http://domain.com/monitorr/",
+        "Monitorr": "Monitorr",
+        "Top Platforms": "Top Platforms",
+        "Top Users": "Top Users",
+        "http://<ip>:<port>": "http://<ip>:<port>",
+        "Tautulli": "Tautulli",
+        "Combine stat cards": "Combine stat cards",
+        "http(s)://hostname:port/admin/": "http(s)://hostname:port/admin/",
+        "Youtube API Key": "Youtube API Key",
+        "Misc": "Misc",
+        "Multiple tags using CSV - tag1,tag2": "Multiple tags using CSV - tag1,tag2",
+        "Tags": "Tags",
+        "HealthChecks API URL": "HealthChecks API URL",
+        "HealthChecks": "HealthChecks",
+        "Get Unifi Site": "Get Unifi Site",
+        "Grab Unifi Site": "Grab Unifi Site",
+        "Site Name": "Site Name",
+        "Unifi API URL": "Unifi API URL",
+        "Show Denied": "Show Denied",
+        "Show Unapproved": "Show Unapproved",
+        "Show Approved": "Show Approved",
+        "Show Unavailable": "Show Unavailable",
+        "Show Available": "Show Available",
+        "Disable Certificate Check": "Disable Certificate Check",
+        "Organizr appends the url with": "Organizr appends the url with",
+        "unless the URL ends in": "unless the URL ends in",
+        "ATTENTION": "ATTENTION",
+        "API Version": "API Version",
+        "JDownloader": "JDownloader",
+        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin",
+        "Emby-Jellyfin": "Emby-Jellyfin",
+        "Tab Auto Action Minutes": "Tab Auto Action Minutes",
+        "Tab Auto Action": "Tab Auto Action",
+        "To revert back to default, save with no value defined in the relevant field.": "To revert back to default, save with no value defined in the relevant field.",
+        "e.g. UA-XXXXXXXXX-X": "e.g. UA-XXXXXXXXX-X",
+        "Google Analytics Tracking ID": "Google Analytics Tracking ID",
+        "Show Debug Errors": "Show Debug Errors",
+        "Use Logo instead of Title on Login Page": "Use Logo instead of Title on Login Page",
+        "Login Logo": "Login Logo",
+        "Meta Description": "Meta Description",
+        "HealthChecks Settings": "HealthChecks Settings",
+        "AdamSmith": "AdamSmith",
+        "Emby User to be used as template for new users": "Emby User to be used as template for new users",
+        "localhost:8086": "localhost:8086",
+        "Emby server adress": "Emby server adress",
+        "enter key from emby": "enter key from emby",
+        "Emby API key": "Emby API key",
+        "Music Labels (comma separated)": "Music Labels (comma separated)",
+        "Movies Labels (comma separated)": "Movies Labels (comma separated)",
+        "TV Labels (comma separated)": "TV Labels (comma separated)",
+        "Template #1": "Template #1",
+        "Enable Debug Output on Email Test": "Enable Debug Output on Email Test",
+        "i.e. 10.0.0.0/24 or 10.0.0.20": "i.e. 10.0.0.0/24 or 10.0.0.20",
+        "Auth Proxy Whitelist": "Auth Proxy Whitelist",
+        "i.e. X-Forwarded-User": "i.e. X-Forwarded-User",
+        "Auth Proxy Header Name": "Auth Proxy Header Name",
+        "Auth Proxy": "Auth Proxy",
+        "Enable Local Address Forward": "Enable Local Address Forward",
+        "http://home.local": "http://home.local",
+        "Local Address": "Local Address",
+        "only domain and tld - i.e. domain.com": "only domain and tld - i.e. domain.com",
+        "WAN Domain": "WAN Domain",
+        "i.e. 123.123.123.123": "i.e. 123.123.123.123",
+        "Override Local IP To": "Override Local IP To",
+        "Override Local IP From": "Override Local IP From",
+        "Disable Image Dropdown": "Disable Image Dropdown",
+        "Disable Icon Dropdown": "Disable Icon Dropdown",
+        "Enable Traefik Auth Redirect": "Enable Traefik Auth Redirect",
+        "iFrame Sandbox": "iFrame Sandbox",
+        "Login Lockout Seconds": "Login Lockout Seconds",
+        "Max Login Attempts": "Max Login Attempts",
+        "Test Login": "Test Login",
+        "Ignore External 2FA on Local Subnet": "Ignore External 2FA on Local Subnet"
     }
 }

+ 10 - 10
js/langpack/sv[Swedish].json

@@ -1,6 +1,6 @@
 {
     "token": {
-        "Navigation": "Navigation",
+        "Navigation": "Meny",
         "Date": "Datum",
         "Type": "Typ",
         "IP Address": "IP-adress",
@@ -11,15 +11,15 @@
         "Login/Register": "Logga in/Registrera",
         "Logout": "Logga ut",
         "Inbox": "Inkorg",
-        "Go Back": "Gå tillbaks",
+        "Go Back": "Backa",
         "Reset": "Återställ",
         "Email": "Email",
-        "Enter your Email and instructions will be sent to you!": "Skriv in din e-mail så kommer instruktioner att skickas till dig!",
+        "Enter your Email and instructions will be sent to you!": "Ange din epost-adress så skickas instruktioner till dig!",
         "Register": "Registrera",
-        "Registration Password": "Registreringslösenord",
+        "Registration Password": "Lösenord till registrering",
         "Recover Password": "Återställ lösenord",
         "Password": "Lösenord",
-        "Sign Up": "Skapa konto",
+        "Sign Up": "Registrera",
         "Don't have an account?": "Saknar du ett konto?",
         "Forgot pwd?": "Glömt lösenord?",
         "Remember Me": "Kom ihåg mig",
@@ -33,22 +33,22 @@
         "Updates": "Uppdateringar",
         "Logs": "Loggar",
         "Main": "Huvudmeny",
-        "Plugins": "Plugin",
+        "Plugins": "Tillägg",
         "Manage Users": "Hantera användare",
-        "Customize Organizr": "Redigera Organizr",
+        "Customize Organizr": "Anpassa Organizr",
         "Edit Categories": "Redigera kategorier",
         "Edit Tabs": "Redigera flikar",
         "Tabs": "Flikar",
         "System Settings": "Systeminställningar",
-        "User Management": "Hantera användare",
+        "User Management": "Användarhantering",
         "Customize": "Skräddarsy",
         "Tab Editor": "Flikredigerare",
         "Settings": "Inställningar",
         "Organizr Settings": "Organizr-inställningar",
         "Categories": "Kategorier",
         "Login Logs": "Inloggningsloggar",
-        "Login Log": "Inloggningslog",
-        "Organizr Log": "Organizr-log",
+        "Login Log": "Inloggningslogg",
+        "Organizr Log": "Organizr-logg",
         "FIXED": "LÖST",
         "NEW": "NYTT",
         "NOTE": "NOTERA",

+ 99 - 1
js/langpack/zh[Chinese].json

@@ -515,6 +515,104 @@
         "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP",
         "Account Prefix": "Account Prefix",
         "LDAP Backend Type": "LDAP Backend Type",
-        "Strict Plex Friends": "Strict Plex Friends"
+        "Strict Plex Friends": "Strict Plex Friends",
+        "Unifi": "Unifi",
+        "Pi-hole": "Pi-hole",
+        "Check For Updates": "Check For Updates",
+        "I will try and import new strings every Friday": "I will try and import new strings every Friday",
+        "Custom definitions": "Custom definitions",
+        "Show on small screens": "Show on small screens",
+        "Show on medium screens": "Show on medium screens",
+        "Show on large screens": "Show on large screens",
+        "Size": "Size",
+        "Colour": "Colour",
+        "Chart": "Chart",
+        "Data": "Data",
+        "Info": "Info",
+        "Netdata": "Netdata",
+        "Toggle Title": "Toggle Title",
+        "Speedtest": "Speedtest",
+        "Unit of Measurement": "Unit of Measurement",
+        "Enable Pollen": "Enable Pollen",
+        "Enable Air Quality": "Enable Air Quality",
+        "Enable Weather": "Enable Weather",
+        "Need Help With Coordinates?": "Need Help With Coordinates?",
+        "Longitude": "Longitude",
+        "Latitude": "Latitude",
+        "Weather-Air": "Weather-Air",
+        "Compact view": "Compact view",
+        "http://domain.com/monitorr/": "http://domain.com/monitorr/",
+        "Monitorr": "Monitorr",
+        "Top Platforms": "Top Platforms",
+        "Top Users": "Top Users",
+        "http://<ip>:<port>": "http://<ip>:<port>",
+        "Tautulli": "Tautulli",
+        "Combine stat cards": "Combine stat cards",
+        "http(s)://hostname:port/admin/": "http(s)://hostname:port/admin/",
+        "Youtube API Key": "Youtube API Key",
+        "Misc": "Misc",
+        "Multiple tags using CSV - tag1,tag2": "Multiple tags using CSV - tag1,tag2",
+        "Tags": "Tags",
+        "HealthChecks API URL": "HealthChecks API URL",
+        "HealthChecks": "HealthChecks",
+        "Get Unifi Site": "Get Unifi Site",
+        "Grab Unifi Site": "Grab Unifi Site",
+        "Site Name": "Site Name",
+        "Unifi API URL": "Unifi API URL",
+        "Show Denied": "Show Denied",
+        "Show Unapproved": "Show Unapproved",
+        "Show Approved": "Show Approved",
+        "Show Unavailable": "Show Unavailable",
+        "Show Available": "Show Available",
+        "Disable Certificate Check": "Disable Certificate Check",
+        "Organizr appends the url with": "Organizr appends the url with",
+        "unless the URL ends in": "unless the URL ends in",
+        "ATTENTION": "ATTENTION",
+        "API Version": "API Version",
+        "JDownloader": "JDownloader",
+        "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin": "http(s)://hostname:port - make sure if Jelly fin to end url with /jellyfin",
+        "Emby-Jellyfin": "Emby-Jellyfin",
+        "Tab Auto Action Minutes": "Tab Auto Action Minutes",
+        "Tab Auto Action": "Tab Auto Action",
+        "To revert back to default, save with no value defined in the relevant field.": "To revert back to default, save with no value defined in the relevant field.",
+        "e.g. UA-XXXXXXXXX-X": "e.g. UA-XXXXXXXXX-X",
+        "Google Analytics Tracking ID": "Google Analytics Tracking ID",
+        "Show Debug Errors": "Show Debug Errors",
+        "Use Logo instead of Title on Login Page": "Use Logo instead of Title on Login Page",
+        "Login Logo": "Login Logo",
+        "Meta Description": "Meta Description",
+        "HealthChecks Settings": "HealthChecks Settings",
+        "AdamSmith": "AdamSmith",
+        "Emby User to be used as template for new users": "Emby User to be used as template for new users",
+        "localhost:8086": "localhost:8086",
+        "Emby server adress": "Emby server adress",
+        "enter key from emby": "enter key from emby",
+        "Emby API key": "Emby API key",
+        "Music Labels (comma separated)": "Music Labels (comma separated)",
+        "Movies Labels (comma separated)": "Movies Labels (comma separated)",
+        "TV Labels (comma separated)": "TV Labels (comma separated)",
+        "Template #1": "Template #1",
+        "Enable Debug Output on Email Test": "Enable Debug Output on Email Test",
+        "i.e. 10.0.0.0/24 or 10.0.0.20": "i.e. 10.0.0.0/24 or 10.0.0.20",
+        "Auth Proxy Whitelist": "Auth Proxy Whitelist",
+        "i.e. X-Forwarded-User": "i.e. X-Forwarded-User",
+        "Auth Proxy Header Name": "Auth Proxy Header Name",
+        "Auth Proxy": "Auth Proxy",
+        "Enable Local Address Forward": "Enable Local Address Forward",
+        "http://home.local": "http://home.local",
+        "Local Address": "Local Address",
+        "only domain and tld - i.e. domain.com": "only domain and tld - i.e. domain.com",
+        "WAN Domain": "WAN Domain",
+        "i.e. 123.123.123.123": "i.e. 123.123.123.123",
+        "Override Local IP To": "Override Local IP To",
+        "Override Local IP From": "Override Local IP From",
+        "Disable Image Dropdown": "Disable Image Dropdown",
+        "Disable Icon Dropdown": "Disable Icon Dropdown",
+        "Enable Traefik Auth Redirect": "Enable Traefik Auth Redirect",
+        "iFrame Sandbox": "iFrame Sandbox",
+        "Login Lockout Seconds": "Login Lockout Seconds",
+        "Max Login Attempts": "Max Login Attempts",
+        "Test Login": "Test Login",
+        "Ignore External 2FA on Local Subnet": "Ignore External 2FA on Local Subnet"
     }
 }

+ 7 - 0
js/version.json

@@ -285,5 +285,12 @@
     "new": "API v2 endpoints - Please make sure to update nginx auth_request location block if being used|Update Organizr alert errors|Redid Debug area|Jellyfin homepage item|SOCKS support for sonarr - radarr - lidarr|Redid plex token and machine methods|Redid user management area|Jackett homepage item|redid homepage items settings pages",
     "fixed": "Lots of little misc fixes",
     "notes": "CHECK MIGRATION LINK IN NEWS SECTION!!!!!!!|API v2 is here|If using built-in updater in Organizr and not on Windows - it will fail on cleaning up install - reloading should fix|If using Docker - Please switch to organizr/organizr|Remove any plugins that were downloaded from marketplace prior to upgrade|Please join our discord if you have any issues|Please report bugs in GitHub issues page"
+  },
+  "2.1.60": {
+    "date": "2020-11-06 19:40",
+    "title": "",
+    "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"
   }
 }

BIN
plugins/images/tabs/UniFi.png


BIN
plugins/images/tabs/dozzle.png


BIN
plugins/images/tabs/gitea.png


BIN
plugins/images/tabs/homebridge.png


BIN
plugins/images/tabs/ubnt.png


BIN
plugins/images/tabs/unifi-protect.png


BIN
plugins/images/tabs/unraid.png


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác