Przeglądaj źródła

Merge pull request #1188 from causefx/v2-develop

V2 develop - v 2.0.225
causefx 7 lat temu
rodzic
commit
04ce38388e

+ 1 - 1
.github/ISSUE_TEMPLATE.md

@@ -1,7 +1,7 @@
 <!-- Please Fill out as much information as possible, Thanks! -->
 ###### Organizr Version: V 1.x
 ###### Branch: Master/Develop
-###### WebSever: Nginx/Apache
+###### WebServer: Nginx/Apache
 ###### Operating System: Windows/MacOS/Ubuntu
 <hr>
 

+ 3 - 2
api/config/default.php

@@ -222,6 +222,7 @@ return array(
 	'localIPTo' => '',
 	'sandbox' => 'allow-presentation,allow-forms,allow-same-origin,allow-pointer-lock,allow-scripts,allow-popups,allow-modals,allow-top-navigation',
 	'description' => 'Organizr - Accept no others',
-	'debugErrors' => true,
-	'healthChecksURL' => 'https://healthchecks.io/api/v1/checks/'
+	'debugErrors' => false,
+	'healthChecksURL' => 'https://healthchecks.io/api/v1/checks/',
+	'gaTrackingID' => ''
 );

+ 13 - 1
api/functions/auth-functions.php

@@ -305,11 +305,12 @@ function plugin_auth_emby_local($username, $password)
 	try {
 		$url = qualifyURL($GLOBALS['embyURL']) . '/Users/AuthenticateByName';
 		$headers = array(
-			'Authorization' => 'MediaBrowser UserId="e8837bc1-ad67-520e-8cd2-f629e3155721", Client="None", Device="Organizr", DeviceId="xxx", Version="1.0.0.0"',
+			'Authorization' => 'Emby UserId="e8837bc1-ad67-520e-8cd2-f629e3155721", Client="None", Device="Organizr", DeviceId="xxx", Version="1.0.0.0"',
 			'Content-Type' => 'application/json',
 		);
 		$data = array(
 			'Username' => $username,
+			'pw' => $password,
 			'Password' => sha1($password),
 			'PasswordMd5' => md5($password),
 		);
@@ -319,6 +320,7 @@ function plugin_auth_emby_local($username, $password)
 			if (is_array($json) && isset($json['SessionInfo']) && isset($json['User']) && $json['User']['HasPassword'] == true) {
 				// Login Success - Now Logout Emby Session As We No Longer Need It
 				$headers = array(
+					'X-Emby-Token' => $json['AccessToken'],
 					'X-Mediabrowser-Token' => $json['AccessToken'],
 				);
 				$response = Requests::post(qualifyURL($GLOBALS['embyURL']) . '/Sessions/Logout', $headers, array());
@@ -337,6 +339,10 @@ function plugin_auth_emby_local($username, $password)
 // Authenticate against emby connect
 function plugin_auth_emby_connect($username, $password)
 {
+	// Emby disabled EmbyConnect on their API
+	// https://github.com/MediaBrowser/Emby/issues/3553
+	return plugin_auth_emby_local($username, $password);
+	/*
 	try {
 		// Get A User
 		$connectId = '';
@@ -387,15 +393,21 @@ function plugin_auth_emby_connect($username, $password)
 		writeLog('error', 'Emby Connect Auth Function - Error: ' . $e->getMessage(), $username);
 		return false;
 	}
+	*/
 }
 
 // Authenticate Against Emby Local (first) and Emby Connect
 function plugin_auth_emby_all($username, $password)
 {
+	// Emby disabled EmbyConnect on their API
+	// https://github.com/MediaBrowser/Emby/issues/3553
 	$localResult = plugin_auth_emby_local($username, $password);
+	return $localResult;
+	/*
 	if ($localResult) {
 		return $localResult;
 	} else {
 		return plugin_auth_emby_connect($username, $password);
 	}
+	*/
 }

+ 21 - 2
api/functions/homepage-connect-functions.php

@@ -1231,6 +1231,7 @@ function getCalendar()
 			$icsEvents = getIcsEventsAsArray($value);
 			if (isset($icsEvents) && !empty($icsEvents)) {
 				$timeZone = isset($icsEvents [1] ['X-WR-TIMEZONE']) ? trim($icsEvents[1]['X-WR-TIMEZONE']) : date_default_timezone_get();
+				$originalTimeZone = isset($icsEvents [1] ['X-WR-TIMEZONE']) ? trim($icsEvents[1]['X-WR-TIMEZONE']) : false;
 				unset($icsEvents [1]);
 				foreach ($icsEvents as $icsEvent) {
 					$startKeys = array_filter_key($icsEvent, function ($key) {
@@ -1242,6 +1243,13 @@ function getCalendar()
 					if (!empty($startKeys) && !empty($endKeys) && isset($icsEvent['SUMMARY'])) {
 						/* Getting start date and time */
 						$repeat = isset($icsEvent ['RRULE']) ? $icsEvent ['RRULE'] : false;
+						if (!$originalTimeZone) {
+							$tzKey = array_keys($startKeys);
+							if (strpos($tzKey[0], 'TZID=') !== false) {
+								$originalTimeZone = explode('TZID=', (string)$tzKey[0]);
+								$originalTimeZone = (count($originalTimeZone) >= 2) ? $originalTimeZone[1] : false;
+							}
+						}
 						$start = reset($startKeys);
 						$end = reset($endKeys);
 						$totalDays = $GLOBALS['calendarStart'] + $GLOBALS['calendarEnd'];
@@ -1297,6 +1305,17 @@ function getCalendar()
 							}
 							$calendarStartDiff = date_diff($startDt, $newestDay);
 							$calendarEndDiff = date_diff($startDt, $oldestDay);
+							if ($originalTimeZone && $originalTimeZone !== 'UTC' && (strpos($start, 'Z') == false)) {
+								$dateTimeOriginalTZ = new DateTimeZone($originalTimeZone);
+								$dateTimeOriginal = new DateTime('now', $dateTimeOriginalTZ);
+								$dateTimeUTCTZ = new DateTimeZone(date_default_timezone_get());
+								$dateTimeUTC = new DateTime('now', $dateTimeUTCTZ);
+								$dateTimeOriginalOffset = $dateTimeOriginal->getOffset() / 3600;
+								$dateTimeUTCOffset = $dateTimeUTC->getOffset() / 3600;
+								$diff = $dateTimeUTCOffset - $dateTimeOriginalOffset;
+								$startDt->modify('+ ' . $diff . ' hour');
+								$endDt->modify('+ ' . $diff . ' hour');
+							}
 							$startDt->setTimeZone(new DateTimezone ($timeZone));
 							$endDt->setTimeZone(new DateTimezone ($timeZone));
 							$startDate = $startDt->format(DateTime::ATOM);
@@ -1456,11 +1475,11 @@ function getSonarrCalendar($array, $number)
 			"runtime" => $child['series']['runtime'],
 			"image" => $fanart,
 			"ratings" => $child['series']['ratings']['value'],
-			"videoQuality" => $child["hasFile"] ? $child['episodeFile']['quality']['quality']['name'] : "unknown",
+			"videoQuality" => $child["hasFile"] && isset($child['episodeFile']['quality']['quality']['name']) ? $child['episodeFile']['quality']['quality']['name'] : "unknown",
 			"audioChannels" => $child["hasFile"] && isset($child['episodeFile']['mediaInfo']) ? $child['episodeFile']['mediaInfo']['audioChannels'] : "unknown",
 			"audioCodec" => $child["hasFile"] && isset($child['episodeFile']['mediaInfo']) ? $child['episodeFile']['mediaInfo']['audioCodec'] : "unknown",
 			"videoCodec" => $child["hasFile"] && isset($child['episodeFile']['mediaInfo']) ? $child['episodeFile']['mediaInfo']['videoCodec'] : "unknown",
-			"size" => $child["hasFile"] ? $child['episodeFile']['size'] : "unknown",
+			"size" => $child["hasFile"] && isset($child['episodeFile']['size']) ? $child['episodeFile']['size'] : "unknown",
 			"genres" => $child['series']['genres'],
 		);
 		array_push($gotCalendar, array(

+ 8 - 1
api/functions/organizr-functions.php

@@ -428,7 +428,7 @@ function organizrStatus()
 	$status = array();
 	$dependenciesActive = array();
 	$dependenciesInactive = array();
-	$extensions = array("PDO_SQLITE", "PDO", "SQLITE3", "zip", "cURL", "openssl", "simplexml", "json", "session");
+	$extensions = array("PDO_SQLITE", "PDO", "SQLITE3", "zip", "cURL", "openssl", "simplexml", "json", "session", "filter");
 	$functions = array("hash", "fopen", "fsockopen", "fwrite", "fclose", "readfile");
 	foreach ($extensions as $check) {
 		if (extension_loaded($check)) {
@@ -1115,6 +1115,13 @@ function getCustomizeAppearance()
 							'value' => 'bottom'
 						)
 					)
+				),
+				array(
+					'type' => 'input',
+					'name' => 'gaTrackingID',
+					'label' => 'Google Analytics Tracking ID',
+					'placeholder' => 'e.g. UA-XXXXXXXXX-X',
+					'value' => $GLOBALS['gaTrackingID']
 				)
 			),
 			'Colors & Themes' => array(

+ 19 - 1
api/functions/static-globals.php

@@ -1,7 +1,7 @@
 <?php
 // ===================================
 // Organizr Version
-$GLOBALS['installedVersion'] = '2.0.180';
+$GLOBALS['installedVersion'] = '2.0.225';
 // ===================================
 // Quick php Version check
 $GLOBALS['minimumPHP'] = '7.1.3';
@@ -127,4 +127,22 @@ function matchBrackets($text, $brackets = 's')
 	}
 	preg_match($pattern, $text, $match);
 	return $match[1];
+}
+
+function googleTracking()
+{
+	if (isset($GLOBALS['quickConfig']['gaTrackingID'])) {
+		if ($GLOBALS['quickConfig']['gaTrackingID'] !== '') {
+			return '
+				<script async src="https://www.googletagmanager.com/gtag/js?id=' . $GLOBALS['quickConfig']['gaTrackingID'] . '"></script>
+    			<script>
+				    window.dataLayer = window.dataLayer || [];
+				    function gtag(){dataLayer.push(arguments);}
+				    gtag("js", new Date());
+				    gtag("config","' . $GLOBALS['quickConfig']['gaTrackingID'] . '");
+    			</script>
+			';
+		}
+	}
+	return null;
 }

+ 5 - 2
api/functions/update-functions.php

@@ -69,8 +69,11 @@ function downloadFile($url, $path)
 	ini_set('max_execution_time', 0);
 	set_time_limit(0);
 	$folderPath = dirname(__DIR__, 2) . DIRECTORY_SEPARATOR . "upgrade" . DIRECTORY_SEPARATOR;
-	if (!mkdir($folderPath)) {
-		//writeLog("error", "organizr could not create upgrade folder");
+	if (!file_exists($folderPath)) {
+		if (@!mkdir($folderPath)) {
+			writeLog('error', 'Update Function -  Folder Creation failed', $GLOBALS['organizrUser']['username']);
+			return false;
+		}
 	}
 	$newfname = $folderPath . $path;
 	$file = fopen($url, 'rb');

+ 2 - 3
api/pages/settings-tab-editor-tabs.php

@@ -4,12 +4,11 @@ $pageSettingsTabEditorTabs = '
 buildTabEditor();
 $( \'#tabEditorTable\' ).sortable({
     stop: function () {
-        var inputs = $(\'input.order\');
-        var nbElems = inputs.length;
         $(\'input.order\').each(function(idx) {
             $(this).val(idx + 1);
         });
-        submitTabOrder();
+        var newTabs = $( "#submit-tabs-form" ).serializeToJSON();
+        submitTabOrder(newTabs);
     }
 });
 $(".tabIconImageList").select2({

+ 1 - 0
index.php

@@ -298,6 +298,7 @@
 <script src="https://js.pusher.com/4.1/pusher.min.js"
         integrity="sha384-e9MoFh6Cw/uluf+NZ6MJwfJ1Dm7UOvJf9oTBxxCYDyStJeeAF0q53ztnEbLLDSQP"
         crossorigin="anonymous"></script>
+<?php echo googleTracking(); ?>
 <?php echo pluginFiles('js');
 echo formKey(); ?>
 </body>

+ 6 - 1
js/custom.js

@@ -361,7 +361,12 @@ $(document).on("click", ".login-button", function(e) {
             } else if (html.data == '2FA') {
                 $('div.login-box').unblock({});
                 $('#tfa-div').removeClass('hidden');
-                $('#loginform [name=tfaCode]').focus()
+                $('#loginform [name=tfaCode]').focus();
+            } else if (html.data == '2FA-incorrect') {
+                $('div.login-box').unblock({});
+                $('#tfa-div').removeClass('hidden');
+                $('#loginform [name=tfaCode]').focus();
+                message('Login Error', html.data, activeInfo.settings.notifications.position, '#FFF', 'warning', '10000');
             } else {
                 $('div.login-box').unblock({});
                 message('Login Error', html.data, activeInfo.settings.notifications.position, '#FFF', 'warning', '10000');

Plik diff jest za duży
+ 0 - 0
js/custom.min.js


+ 13 - 3
js/functions.js

@@ -3014,11 +3014,11 @@ function submitHomepageOrder(){
 	    console.log('add error');
 	}
 }
-function submitTabOrder(){
+function submitTabOrder(newTabs){
 	var post = {
 		action:'changeOrder',
 		api:'api/?v1/settings/tab/editor/tabs',
-		tabs:$( "#submit-tabs-form" ).serializeToJSON(),
+		tabs:newTabs,
 		messageTitle:'',
 		messageBody:window.lang.translate('Tab Order Saved'),
 		error:'Organizr Function: API Connection Failed'
@@ -3058,7 +3058,7 @@ function buildTR(array,type,badge){
 }
 function buildVersion(array){
 	var x = 0;
-	var versions = '<h3 class="p-l-10 m-b-0 box-title" lang="en">Organizr Versions</h3>';
+	var versions = '<div class="col-md-3 col-sm-4 col-xs-6 m-b-10 pull-right"><button onclick="manualUpdateCheck()" class="btn btn-sm btn-primary btn-rounded waves-effect waves-light pull-right row b-none buttonManualUpdateCheck" type="button"><span class="btn-label"><i class="fa fa-globe"></i></span><span lang="en">Check For Updates</span></button></div><div class="clearfix"></div>';
 	var listing = '';
 	var currentV = currentVersion;
 	var installed = '';
@@ -3129,6 +3129,16 @@ function loadSettingsPage(api,element,organizrFn){
 		console.error("Organizr Function: API Connection Failed");
 	});
 }
+function manualUpdateCheck(){
+    $('.buttonManualUpdateCheck').addClass('disabled');
+    $('.buttonManualUpdateCheck i').removeClass('fa-globe').addClass('fa-refresh fa-spin');
+    setTimeout(function(){ updateCheck(); checkCommitLoad(); }, 1000);
+    setTimeout(function(){
+        $('.buttonManualUpdateCheck').removeClass('disabled');
+        $('.buttonManualUpdateCheck i').removeClass('fa-refresh fa-spin fa-globe').addClass('fa-check');
+     }, 1500);
+    return true;
+}
 function updateCheck(){
 	githubVersions().success(function(data) {
         try {

+ 159 - 142
js/jquery.serializeToJSON.js

@@ -1,7 +1,7 @@
-/** 
+/**
  * serializeToJSON jQuery plugin
  * https://github.com/raphaelm22/jquery.serializeToJSON
- * @version: v1.2.2 (November, 2017)
+ * @version: v1.3.0 (February, 2019)
  * @author: Raphael Nunes
  *
  * Created by Raphael Nunes on 2015-08-28.
@@ -9,160 +9,177 @@
  * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
  */
 
-
-(function($) {
-    "use strict";
+(function (factory) {
+    if (typeof define === 'function' && define.amd) {
+        define(['jquery'], factory);
+    } else if (typeof module === 'object' && module.exports) {
+        module.exports = function( root, jQuery ) {
+            if ( jQuery === undefined ) {
+                if ( typeof window !== 'undefined' ) {
+                    jQuery = require('jquery');
+                }
+                else {
+                    jQuery = require('jquery')(root);
+                }
+            }
+            factory(jQuery);
+            return jQuery;
+        };
+    } else {
+        factory(jQuery);
+    }
+}(function ($) {
+    'use strict';
 
     $.fn.serializeToJSON = function(options) {
 
-		var f = {
-			settings: $.extend(true, {}, $.fn.serializeToJSON.defaults, options),
+        var f = {
+            settings: $.extend(true, {}, $.fn.serializeToJSON.defaults, options),
 
-			getValue: function($input) {
-				var value = $input.val();
+            getValue: function($input) {
+                var value = $input.val();
+
+                if ($input.is(":radio")) {
+                    value = $input.filter(":checked").val() || null;
+                }
 
-			    if ($input.is(":radio")) {
-			        value = $input.filter(":checked").val() || null;
-			    }
+                if ($input.is(":checkbox")) {
+                    value = $($input).prop('checked');
+                }
 
-			    if ($input.is(":checkbox")) {
-			        value = $($input).prop('checked');
-			    }
+                if (this.settings.parseBooleans) {
+                    var boolValue = (value + "").toLowerCase();
+                    if (boolValue === "true" || boolValue === "false") {
+                        value = boolValue === "true";
+                    }
+                }
 
-				if (this.settings.parseBooleans) {
-					var boolValue = (value + "").toLowerCase();
-					if (boolValue === "true" || boolValue === "false") {
-						value = boolValue === "true";
-					}
-				}
+                var floatCondition = this.settings.parseFloat.condition;
+                if (floatCondition !== undefined && (
+                    (typeof(floatCondition) === "string"   && $input.is(floatCondition)) ||
+                    (typeof(floatCondition) === "function" && floatCondition($input)))) {
 
-				var floatCondition = this.settings.parseFloat.condition;
-				if (floatCondition !== undefined && (
-				    (typeof(floatCondition) === "string"   && $input.is(floatCondition)) ||
-				    (typeof(floatCondition) === "function" && floatCondition($input)))) {
+                    value = this.settings.parseFloat.getInputValue($input);
+                    value = Number(value);
 
-					value = this.settings.parseFloat.getInputValue($input);
-					value = Number(value);
-					
                     if (this.settings.parseFloat.nanToZero && isNaN(value)){
                         value = 0;
-                    }                   
+                    }
                 }
 
-				return value;
-			},
-
-			createProperty: function(o, value, names, $input) {
-				var navObj = o;
-
-				for (var i = 0; i < names.length; i++) {
-					var currentName = names[i];
-
-					if (i === names.length - 1) {								
-						var isSelectMultiple = $input.is("select") && $input.prop("multiple");
-						
-						if (isSelectMultiple && value !== null){
-							navObj[currentName] = new Array();
-							
-							if (Array.isArray(value)){
-								$(value).each(function() {
-									navObj[currentName].push(this);
-								});
-							}
-							else{
-								navObj[currentName].push(value);
-							}
-						} else {
-							navObj[currentName] = value;
-						}
-					} else {
-						var arrayKey = /\[\w+\]/g.exec(currentName);
-						var isArray = arrayKey != null && arrayKey.length > 0;
-
-						if (isArray) {
-							currentName = currentName.substr(0, currentName.indexOf("["));
-
-							if (this.settings.associativeArrays) {
-								if (!navObj.hasOwnProperty(currentName)) {
-									navObj[currentName] = {};
-								}
-							} else {
-								if (!Array.isArray(navObj[currentName])) {
-									navObj[currentName] = new Array();
-								}
-							}
-
-							navObj = navObj[currentName];
-
-							var keyName = arrayKey[0].replace(/[\[\]]/g, "");
-							currentName = keyName;
-						}
-
-						if (!navObj.hasOwnProperty(currentName)) {
-							navObj[currentName] = {};
-						}
-
-						navObj = navObj[currentName];
-					}
-				}
-			},
-			
-			includeUncheckValues: function(selector, formAsArray){
-				$(":radio", selector).each(function(){
-					var isUncheckRadio = $("input[name='" + this.name + "']:radio:checked").length === 0;
-					if (isUncheckRadio)
-					{
-						formAsArray.push({
-							name: this.name,
-							value: null
-						});
-					}
-				});
-				
-				$("select[multiple]", selector).each(function(){					
-					if ($(this).val() === null){
-						formAsArray.push({
-							name: this.name,
-							value: null
-						});
-					}
-				});
-			},
-
-			serializer: function(selector) {
-				var self = this;
-				
-				var formAsArray = $(selector).serializeArray();
-				this.includeUncheckValues(selector, formAsArray);
-
-				var serializedObject = {}
-				
-				$.each(formAsArray, function(i, item) {
-					var $input = $(":input[name='" + item.name + "']", selector);
-					
-					var value = self.getValue($input);
-					var names = item.name.split(".");					
-
-					self.createProperty(serializedObject, value, names, $input);
-				});
-
-				return serializedObject;
-			}
-		};
-
-		return f.serializer(this);
+                return value;
+            },
+
+            createProperty: function(o, value, names, $input) {
+                var navObj = o;
+
+                for (var i = 0; i < names.length; i++) {
+                    var currentName = names[i];
+
+                    if (i === names.length - 1) {
+                        var isSelectMultiple = $input.is("select") && $input.prop("multiple");
+
+                        if (isSelectMultiple && value !== null){
+                            navObj[currentName] = new Array();
+
+                            if (Array.isArray(value)){
+                                $(value).each(function() {
+                                    navObj[currentName].push(this);
+                                });
+                            }
+                            else{
+                                navObj[currentName].push(value);
+                            }
+                        } else {
+                            navObj[currentName] = value;
+                        }
+                    } else {
+                        var arrayKey = /\[\w+\]/g.exec(currentName);
+                        var isArray = arrayKey != null && arrayKey.length > 0;
+
+                        if (isArray) {
+                            currentName = currentName.substr(0, currentName.indexOf("["));
+
+                            if (this.settings.associativeArrays) {
+                                if (!navObj.hasOwnProperty(currentName)) {
+                                    navObj[currentName] = {};
+                                }
+                            } else {
+                                if (!Array.isArray(navObj[currentName])) {
+                                    navObj[currentName] = new Array();
+                                }
+                            }
+
+                            navObj = navObj[currentName];
+
+                            var keyName = arrayKey[0].replace(/[\[\]]/g, "");
+                            currentName = keyName;
+                        }
+
+                        if (!navObj.hasOwnProperty(currentName)) {
+                            navObj[currentName] = {};
+                        }
+
+                        navObj = navObj[currentName];
+                    }
+                }
+            },
+
+            includeUncheckValues: function(selector, formAsArray){
+                $(":radio", selector).each(function(){
+                    var isUncheckRadio = $("input[name='" + this.name + "']:radio:checked").length === 0;
+                    if (isUncheckRadio)
+                    {
+                        formAsArray.push({
+                            name: this.name,
+                            value: null
+                        });
+                    }
+                });
+
+                $("select[multiple]", selector).each(function(){
+                    if ($(this).val() === null){
+                        formAsArray.push({
+                            name: this.name,
+                            value: null
+                        });
+                    }
+                });
+            },
+
+            serializer: function(selector) {
+                var self = this;
+
+                var formAsArray = $(selector).serializeArray();
+                this.includeUncheckValues(selector, formAsArray);
+
+                var serializedObject = {}
+
+                $.each(formAsArray, function(i, item) {
+                    var $input = $(":input[name='" + item.name + "']", selector);
+
+                    var value = self.getValue($input);
+                    var names = item.name.split(".");
+
+                    self.createProperty(serializedObject, value, names, $input);
+                });
+
+                return serializedObject;
+            }
+        };
+
+        return f.serializer(this);
     };
-	
-	$.fn.serializeToJSON.defaults = {
+
+    $.fn.serializeToJSON.defaults = {
         associativeArrays: true,
         parseBooleans: true,
-		parseFloat: {
-			condition: undefined,
-			nanToZero: true,
-			getInputValue: function($input){
-				return $input.val().split(",").join("");
-			}
-		}
+        parseFloat: {
+            condition: undefined,
+            nanToZero: true,
+            getInputValue: function($input){
+                return $input.val().split(",").join("");
+            }
+        }
     };
-
-})(jQuery);
+}));

+ 34 - 34
js/langpack/ca[Catalan].json

@@ -11,30 +11,30 @@
         "Login/Register": "Entreu / Registreu-vos",
         "Logout": "Tancar sessió",
         "Inbox": "Safata d'entrada",
-        "Go Back": "Torna",
+        "Go Back": "Torna enrere",
         "Reset": "Restableix",
         "Email": "Correu electrònic",
         "Enter your Email and instructions will be sent to you!": "Introduïu el vostre correu electrònic i us enviaran les instruccions.",
-        "Register": "Registrar-se",
+        "Register": "Registre",
         "Registration Password": "Contrasenya de registre",
-        "Recover Password": "Recuperar contrasenya",
+        "Recover Password": "Recupereu la contrasenya",
         "Password": "Contrasenya",
-        "Sign Up": "Registra't",
+        "Sign Up": "Registreu-vos",
         "Don't have an account?": "No teniu un compte?",
         "Forgot pwd?": "Heu oblidat la contrasenya?",
         "Remember Me": "Recorda'm",
         "Login": "Inicieu Sessió",
         "Installed": "Instal·lat",
         "Install Update": "Instal·la l'actualització",
-        "Organizr Versions": "Versions Organizr",
+        "Organizr Versions": "Versions d'Organizr",
         "About": "Quant a",
-        "Organizr Logs": "Registres Organizr",
+        "Organizr Logs": "Registres d'Organizr",
         "Main Settings": "Configuració principal",
         "Updates": "Actualitzacions",
         "Logs": "Registres",
         "Main": "Principal",
         "Plugins": "Connectors",
-        "Manage Users": "Gestioneu els usuaris",
+        "Manage Users": "Gestió d'usuaris",
         "Customize Organizr": "Personalitza Organizr",
         "Edit Categories": "Editeu categories",
         "Edit Tabs": "Editeu pestanyes",
@@ -44,11 +44,11 @@
         "Customize": "Personalitza",
         "Tab Editor": "Editor de pestanyes",
         "Settings": "Configuració",
-        "Organizr Settings": "Configuració Organizr",
+        "Organizr Settings": "Configuració d'Organizr",
         "Categories": "Categories",
         "Login Logs": "Registres d’inici de sessió",
         "Login Log": "Registre d'inici de sessió",
-        "Organizr Log": "Registre Organizr",
+        "Organizr Log": "Registre d'Organizr",
         "FIXED": "FIXAT",
         "NEW": "NOU",
         "NOTE": "NOTA",
@@ -59,16 +59,16 @@
         "Database Name": "Nom de la base de dades",
         "Database Location:": "Ubicació de la base de dades:",
         "Database Location": "Ubicació de la base de dades",
-        "Hover to show": "Passa per mostrar",
-        "API Key:": "Clau de l'API:",
-        "API Key": "Clau de l'API",
+        "Hover to show": "Passa per sobre per mostrar",
+        "API Key:": "Clau API:",
+        "API Key": "Clau API",
         "Registration Password:": "Contrasenya de registre:",
         "Hash Key:": "Clau de Hash:",
         "Hash Key": "Clau de Hash",
         "Password:": "Contrasenya:",
         "Attention": "Atenció",
         "The Hash Key will be used to decrypt all passwords etc... on the server.": "La clau de Hash s'utilitzarà per desxifrar totes les contrasenyes, etc ... al servidor.",
-        "The API Key will be used for all calls to organizr for the UI. [Auto-Generated]": "La clau de l’API s’utilitzarà per a totes les peticions a Organizr per a la IU. [Generada automàticament]",
+        "The API Key will be used for all calls to organizr for the UI. [Auto-Generated]": "La clau API s’utilitzarà per a totes les peticions a Organizr per a la IU. [Generada automàticament]",
         "Notice": "Avís",
         "Business": "Negocis",
         "Personal": "Personal",
@@ -93,8 +93,8 @@
         "License": "Llicència",
         "Webserver Version": "Versió del servidor web",
         "PHP Version": "Versió de PHP",
-        "Organizr Branch": "branca Organizr",
-        "Organizr Version": "Versió Organizr",
+        "Organizr Branch": "Branca d'Organizr",
+        "Organizr Version": "Versió d'Organizr",
         "Information": "Informació",
         "Below you will find all the links for everything that has to do with Organizr": "A continuació trobareu tots els enllaços per a tot allò que tingui a veure amb Organizr",
         "Loading...": "Carregant ...",
@@ -121,7 +121,7 @@
         "Edit Tab": "Edita la pestanya",
         "Add Tab": "Afegeix una pestanya",
         "Add New Tab": "Afegeix una pestanya nova",
-        "SPLASH": "SPLASH",
+        "SPLASH": "Pantalla de benvinguda",
         "ACTIVE": "ACTIU",
         "TYPE": "TIPUS",
         "GROUP": "GRUP",
@@ -143,7 +143,7 @@
         "Changed Language To": "Canvi de llengua a",
         "Groups": "Grups",
         "Users": "Usuaris",
-        "Appearance": "Aparició",
+        "Appearance": "Aparença",
         "Customize Appearance": "Personalitza l'aparença",
         "Request Me!": "Demaneu-me!",
         "Would you like to Request it?": "Voleu sol·licitar-ho?",
@@ -156,10 +156,10 @@
         "No Results": "Sense resultats",
         "Airs Today TV": "Emssions diàries TV",
         "Popular TV": "TV popular",
-        "Top TV": "Top TV",
+        "Top TV": "Les millors sèries",
         "Upcoming Movies": "Properes pel·lícules",
         "Popular Movies": "Pel·lícules populars",
-        "Top Movies": "Top Movies",
+        "Top Movies": "Les millors pel·lícules",
         "In Theatres": "En cinemes",
         "Suggestions": "Suggeriments",
         "TV": "TV",
@@ -182,8 +182,8 @@
         "Active Plugins": "Connectors actius",
         "Inactive": "Inactiu",
         "Everything Active": "Tot actiu",
-        "Nothing Active": "Res activ",
-        "Choose Plex Machine": "Trieu la màquina Plex",
+        "Nothing Active": "Res actiu",
+        "Choose Plex Machine": "Trieu el servidor Plex",
         "Test Speed to Server": "Prova la velocitat al servidor",
         "Test Server Speed": "Prova de velocitat del servidor",
         "Subject": "Assignatura",
@@ -212,14 +212,14 @@
         "Want to help translate?": "Voleu ajudar a traduir?",
         "Single Sign-On": "Inici de sessió únic",
         "Coming Soon...": "Pròximament...",
-        "Homepage Order": "Ordre de pàgina d'inici",
+        "Homepage Order": "Ordre de la pàgina d'inici",
         "Homepage Items": "Articles de la pàgina d'inici",
         "Image Manager": "Gestor d'imatges",
         "Edit User": "Edita l'usuari",
         "Password Again": "Contrasenya una altra vegada",
         "Template": "Plantilla",
-        "Plex Machine": "Màquina Plex",
-        "Get Plex Machine": "Obteniu la màquina Plex",
+        "Plex Machine": "Servidor Plex",
+        "Get Plex Machine": "Obteniu el servidor Plex",
         "Grab It": "Agafar",
         "Plex Password": "Contrasenya Plex",
         "Plex Username": "Nom d’usuari de Plex",
@@ -242,7 +242,7 @@
         "Organizr Mod Picks": "Organització Modificacions",
         "Requests": "Sol·licituds",
         "Become Sponsor": "Fes-te patrocinador",
-        "Splash Page": "Splash Page",
+        "Splash Page": "Pàgina de benvinguda",
         "Lock Screen": "Pantalla de bloqueig",
         "If you signed in with a Emby Acct... Please use the following link to change your password there:": "Si heu iniciat la sessió amb Emby Acct ... Utilitzeu el següent enllaç per canviar la vostra contrasenya allà:",
         "Password Notice": "Avís de contrasenya",
@@ -282,7 +282,7 @@
         "Tab can be set as iFrame": "La pestanya es pot configurar com a iFrame",
         "Premier": "Premier",
         "Missing": "Falta",
-        "Unaired": "Unaired",
+        "Unaired": "No emès",
         "Downloaded": "Descarregat",
         "All": "Tots",
         "Choose Media Status": "Trieu Estat del suport",
@@ -325,7 +325,7 @@
         "Lockout Groups From": "Grups de bloqueig des de",
         "Inactivity Lock": "Bloqueig d'inactivitat",
         "Inactivity Timer [Minutes]": "Temporitzador d'inactivitat [minuts]",
-        "Emby Token": "Emby Token",
+        "Emby Token": "Token d'Emby",
         "http(s)://hostname:port": "http (s): // hostname: port",
         "Emby URL": "URL Emby",
         "cn=%s,dc=sub,dc=domain,dc=com": "cn =% s, dc = sub, dc = domini, dc = com",
@@ -334,14 +334,14 @@
         "Host Address": "Adreça de l’amfitrió",
         "Enable Plex oAuth": "Habiliteu Plex oAuth",
         "Retrieve": "Recuperar",
-        "Use Get Plex Machine Button": "Utilitzeu el botó de la màquina Get Plex",
+        "Use Get Plex Machine Button": "Utilitzeu el botó GET de la servidor Plex",
         "Use Get Token Button": "Utilitzeu el botó Get Token",
         "Plex Token": "Token de Plex",
         "Authentication Backend": "Backend d’autenticació",
         "Authentication Type": "Tipus d'autenticació",
         "Generate": "Genera",
         "Generate New API Key": "Genera una nova clau d’API",
-        "Organizr API": "Organizr API",
+        "Organizr API": "API d'Organizr",
         "Force Install Branch": "Força la branca d'instal·lació",
         "Branch": "Branca",
         "SSO": "SSO",
@@ -390,14 +390,14 @@
         "NZBGet": "NZBGet",
         "SabNZBD": "SabNZBD",
         "Image Cache Size": "Mida de la memòria cau de la imatge",
-        "Emby Tab WAN URL": "Tab emby URL WAN",
+        "Emby Tab WAN URL": "URL WAN de la pestanya d'Emby",
         "Only use if you have Emby in a reverse proxy": "Utilitzeu-lo només si teniu Emby en un servidor intermediari invers",
         "Emby Tab Name": "Nom de la fitxa Emby",
         "Item Limit": "Límit d’element",
         "Minimum Authorization": "Autorització mínima",
         "User Information": "Informació de l'usuari",
         "Emby": "Emby",
-        "Plex Tab WAN URL": "Plex URL WAN de la pestanya Plex",
+        "Plex Tab WAN URL": "URL WAN de la pestanya Plex",
         "Only use if you have Plex in a reverse proxy": "Utilitzeu-lo només si teniu Plex en un servidor intermediari invers",
         "Plex Tab Name": "Nom de la pestanya Plex",
         "Media Server": "Servidor de suports",
@@ -433,7 +433,7 @@
         "Nav Bar Text Color": "Color del text de la barra de navegació",
         "Nav Bar Color": "Color de la barra de navegació",
         "Unsorted Tab Placement": "Col·locació de pestanyes sense classificar",
-        "Alternate Homepage Titles": "Títols alternatius de pàgina d'inici",
+        "Alternate Homepage Titles": "Títols alternatius de la pàgina d'inici",
         "Minimal Login Screen": "Pantalla d’inici de sessió mínima",
         "Login Wallpaper": "Fons de pantalla d'inici de sessió",
         "Use Logo instead of Title": "Utilitzeu el logotip en lloc del títol",
@@ -506,7 +506,7 @@
         "http(s)://hostname:port/xmlrpc": "http(s)://hostname:port/xmlrpc\n",
         "rTorrent API URL Override": "Anular l’URL de l’APT rTorrent",
         "Enable Notify Sounds": "Activa els sons de notificacions",
-        "Remember Me Length": "Recorda la meva longitud",
+        "Remember Me Length": "Duració del token de seguretat",
         "Minimum Authentication for Debug Area": "Autenticació mínima per a l'àrea de depuració",
         "Account DN": "Compte DN",
         "Bind Username": "Enllaçar nom d’usuari",
@@ -514,7 +514,7 @@
         "Account Suffix": "Sufix de compte",
         "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Prefix del compte: és a dir, controlador del controlador Nom d’usuari per a AD - uid = per a OpenLDAP",
         "Account Prefix": "Prefix del compte",
-        "LDAP Backend Type": "Tipus de dorsal LDAP",
+        "LDAP Backend Type": "Tipus de motor LDAP",
         "Strict Plex Friends": "Amics de Plex estrictes"
     }
 }

+ 159 - 159
js/langpack/da[Danish].json

@@ -100,26 +100,26 @@
         "Loading...": "Indlæser...",
         "Donate": "Donér",
         "Edit Group": "Redigér Gruppe",
-        "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",
+        "For icons, use the following format:": "Til ikoner brug følgende format:",
+        "For images, use the following format:": "Til billeder brug følgende format:",
+        "You may use an image or icon in this field": "Du kan bruge et billede eller et ikon i dette felt",
+        "Image Legend": "Billedtekst",
+        "Category Image": "Kategori billede",
+        "Category Name": "Kategorinavn",
+        "Edit Category": "Rediger kategori",
+        "Add Category": "Tilfjøj kategori",
+        "Add New Category": "Tilføj ny kategori",
+        "DELETE": "FJERN",
+        "EDIT": "REDIGER",
+        "DEFAULT": "STANDARDINDSTILLING",
+        "TABS": "FANER",
+        "NAME": "NAVN",
+        "Category Editor": "Kategori editor",
+        "Tab Image": "Fanebillede",
+        "Tab URL": "Fane URL",
+        "Tab Name": "Fanenavn",
+        "Edit Tab": "Rediger fane",
+        "Add Tab": "Tilføje fane",
         "Add New Tab": "Tilføj ny fane",
         "SPLASH": "SPLASH",
         "ACTIVE": "AKTIV",
@@ -140,22 +140,22 @@
         "USERS": "BRUGERE",
         "GROUP NAME": "GRUPPE NAVN",
         "MANAGE GROUPS": "ADMINISTRER GRUPPER",
-        "Changed Language To": "Changed Language To",
-        "Groups": "Groups",
-        "Users": "Users",
-        "Appearance": "Appearance",
+        "Changed Language To": "Sprog skiftet til",
+        "Groups": "Grupper",
+        "Users": "Brugere",
+        "Appearance": "Udseende",
         "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",
+        "Would you like to Request it?": "Vil du gerne anmode?",
+        "No Results for:": "Ingen resultator fundet for:",
+        "Nothing in queue": "Intet i kø",
         "Nothing in history": "Nothing in history",
         "Nothing in hitsory": "Nothing in hitsory",
-        "Load More": "Load More",
-        "Request": "Request",
-        "No Results": "No Results",
+        "Load More": "Indlæs flere",
+        "Request": "Anmod",
+        "No Results": "Ingen resultater",
         "Airs Today TV": "Airs Today TV",
-        "Popular TV": "Popular TV",
+        "Popular TV": "Populært TV",
         "Top TV": "Top TV",
         "Upcoming Movies": "Upcoming Movies",
         "Popular Movies": "Populære Film",
@@ -180,36 +180,36 @@
         "Account Information": "Konto 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",
+        "Inactive": "Inaktiv",
+        "Everything Active": "Alt aktiv",
+        "Nothing Active": "Intet aktivt",
+        "Choose Plex Machine": "Vælg plex maskine",
+        "Test Speed to Server": "Test hastighed til server",
+        "Test Server Speed": "Test server hastighed",
+        "Subject": "emne",
+        "To:": "Til:",
+        "Email Users": "Email brugere",
         "E-Mail Center": "E-Mail Center",
-        "You have been invited. Please goto ": "You have been invited. Please goto ",
-        "Use Invite Code": "Use Invite Code",
+        "You have been invited. Please goto ": "Du er blevet inviteret. Gå til_",
+        "Use Invite Code": "Brug invitationskode",
         "VALID": "VALID",
-        "IP ADDRESS": "IP ADDRESS",
-        "USED BY": "USED BY",
-        "DATE USED": "DATE USED",
-        "DATE SENT": "DATE SENT",
+        "IP ADDRESS": "IP ADRESSE",
+        "USED BY": "BRUGT AF",
+        "DATE USED": "DATO BRUGT",
+        "DATE SENT": "DATO SENDT",
         "INVITE CODE": "INVITATIONS KODE",
         "USERNAME": "BRUGERNAVN",
         "Manage Invites": "Administrer Invitationer",
         "No Invites": "Ingen Invitationer",
-        "Create/Send Invite": "Create/Send Invite",
+        "Create/Send Invite": "Opret/send invitation",
         "Name or Username": "Navn eller Brugernavn",
         "New Invite": "Ny Invitation",
         "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": "Jeg Vil Gerne Hjælpe",
+        "The Database will contain sensitive information. Please place in directory outside of root Web Directory.": "Databasen vil indeholde følsom information. Placer den uden for root web directoriet",
+        "I Want to Help": "Jeg vil gerne hjælpe",
         "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?",
+        "Want to help translate?": "Vil du hjælpe med at oversætte?",
         "Single Sign-On": "Single Sign-On",
         "Coming Soon...": "Kommer Snart",
         "Homepage Order": "Homepage Order",
@@ -217,8 +217,8 @@
         "Image Manager": "Image Manager",
         "Edit User": "Redigér Bruger",
         "Password Again": "Gentag Adgangskode",
-        "Template": "Template",
-        "Plex Machine": "Plex Machine",
+        "Template": "Skabelon",
+        "Plex Machine": "Plex maskine",
         "Get Plex Machine": "Get Plex Machine",
         "Grab It": "Grab It",
         "Plex Password": "Plex Password",
@@ -240,43 +240,43 @@
         "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",
+        "Requests": "Anmodninger",
+        "Become Sponsor": "Bliv sponsor",
+        "Splash Page": "Splash side",
         "Lock Screen": "Låse Skærm",
-        "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:",
+        "If you signed in with a Emby Acct... Please use the following link to change your password there:": "Hvis du er logget ind med en Emby konto, så brug følgende link for at skifte dit kodeord:",
         "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",
+        "If you signed in with a Plex Acct... Please use the following link to change your password there:": "Hvis du er logget ind med en Plex konto, så brug følgende link for at skifte dit kodeord",
+        "Active Tokens": "Aktive tokens",
+        "Deactivate": "Deaktiver",
+        "Activate": "Aktiver",
+        "Current": "Nuværende",
         "Save": "Gem",
         "STATUS": "STATUS",
         "PLUGIN": "PLUGIN",
-        "Plugin Marketplace": "Plugin Marketplace",
-        "Marketplace": "Marketplace",
+        "Plugin Marketplace": "Plugin markedsplads",
+        "Marketplace": "Markedsplads",
         "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",
+        "Business has Media items hidden [Plex, Emby etc...]": "Forretning har medieindhold skjult (plex, Emby etc.)",
+        "Personal has everything unlocked - no restrictions": "Personlig har alt uden begrænsninger",
         "Continue To Website": "Fortsæt til Hjemmesiden",
         "Patreon": "Patreon",
         "Cryptos": "Cryptos",
         "Square Cash": "Square Cash",
         "PayPal": "PayPal\n",
         "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",
+        "Sponsors": "Sponsorer",
+        "THEME": "Tema",
+        "Theme Marketplace": "Tema markedsplads",
+        "Test Tab": "Test tab",
+        "Select or type Icon": "Vælg eller indtast ikon",
+        "Choose Icon": "Vælg ikon",
+        "Choose Image": "Vælg billede",
         "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",
@@ -285,31 +285,31 @@
         "Unaired": "Unaired",
         "Downloaded": "Hentet",
         "All": "Alle",
-        "Choose Media Status": "Choose Media Status",
+        "Choose Media Status": "Vælg medie status",
         "Music": "Musik",
-        "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.",
+        "Choose Media Type": "Vælg medie type",
+        "PHP Version Check": "PHP Versions check",
+        "Don\\'t have an account?": "Ingen konto?",
+        "The value of #987654 is just a placeholder, you can change to any value you like.": "Værdien af #987654 er blot et eksempel, du kan skifte den til hvilken somhelst værdi du ønsker",
         "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",
+        "This module requires XMLRPC": "Dette modul kræver XMLRPC",
+        "Misc Options": "Diverse indstillinger",
+        "Search My Media": "Søg mine medier",
+        "Import Plex Users": "Importer plex brugere",
         "Import": "Importér",
         "INSTALL": "INSTALLÉR",
-        "INFO": "INFO",
-        "Day": "Day",
-        "Week": "Week",
-        "Month": "Month",
-        "List": "List",
+        "INFO": "Info",
+        "Day": "Dag",
+        "Week": "Uge",
+        "Month": "Måned",
+        "List": "Liste",
         "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",
+        "Request Show or Movie": "Anmod serie eller film",
+        "Mark as Unavailable": "Marker som utilgængelig",
+        "Mark as Available": "Marker som tilgængelig",
+        "Approve": "Godkend",
         "Start": "Start",
         "Everyone Refresh Seconds": "Everyone Refresh Seconds",
         "Admin Refresh Seconds": "Admin Refresh Seconds",
@@ -320,93 +320,93 @@
         "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",
+        "Hide Registration": "Gem registrering",
         "Lockout Groups To": "Lockout Groups To",
         "Lockout Groups From": "Lockout Groups From",
-        "Inactivity Lock": "Inactivity Lock",
-        "Inactivity Timer [Minutes]": "Inactivity Timer [Minutes]",
+        "Inactivity Lock": "Inaktivitets lås",
+        "Inactivity Timer [Minutes]": "Inaktivitets timer [Minutter]",
         "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",
+        "Host Address": "Host adresse",
+        "Enable Plex oAuth": "Aktiver Plex oAuth",
+        "Retrieve": "Hent",
         "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",
+        "Generate": "Generer",
+        "Generate New API Key": "Generer ny API nøgle",
+        "Organizr API": "Organizr API\n",
         "Force Install Branch": "Force Install Branch",
         "Branch": "Branch",
         "SSO": "SSO",
-        "Enable": "Enable",
+        "Enable": "Aktiver",
         "Tautulli URL": "Tautulli URL",
         "Ombi URL": "Ombi URL",
         "Plex Note": "Plex Note",
-        "Admin username for Plex": "Admin username for Plex",
-        "Admin Username": "Admin Username",
+        "Admin username for Plex": "Admin brugernavn til Plex",
+        "Admin Username": "Admin brugernavn",
         "Click Main on the sub-menu above.": "Click Main on the sub-menu above.",
-        "Important Information": "Important Information",
-        "PING": "PING",
+        "Important Information": "Vigtig 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",
+        "Refresh Seconds": "Genopfrisk sekunder",
+        "Limit to User": "Begræns til bruger",
         "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",
+        "Time Format": "Tidsformat",
+        "Default View": "Standard view",
+        "Start Day": "Start dag",
         "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",
+        "Test Connection": "Test forbindelse",
+        "Please Save before Testing": "Gem venligst før du tester",
+        "# of Days After": "Antal af dage efter",
+        "# of Days Before": "Antal af dage før",
         "Radarr": "Radarr",
         "Lidarr": "Lidarr",
         "Show Unmonitored": "Show Unmonitored",
         "Sonarr": "Sonarr",
-        "Hide Completed": "Hide Completed",
+        "Hide Completed": "Gem udførte",
         "Hide Seeding": "Hide Seeding",
         "Deluge": "Deluge",
         "Order": "Order",
         "Status: [": "Status: [",
         "]": "]",
         "rTorrent": "rTorrent",
-        "Reverse Sorting": "Reverse Sorting",
+        "Reverse Sorting": "Omvendt sortering",
         "qBittorrent": "qBittorrent",
         "Transmission": "Transmission",
         "NZBGet": "NZBGet",
         "SabNZBD": "SabNZBD",
-        "Image Cache Size": "Image Cache Size",
+        "Image Cache Size": "Billede cache størrelse",
         "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",
+        "Only use if you have Emby in a reverse proxy": "Brug kun hvis du har Embi i reverse proxy",
+        "Emby Tab Name": "Emby tab navn",
         "Item Limit": "Item Limit",
         "Minimum Authorization": "Minimum Authorization",
-        "User Information": "User Information",
+        "User Information": "Bruger 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",
+        "Only use if you have Plex in a reverse proxy": "Brug kun hvis du har Plex i reverse proxy",
         "Plex Tab Name": "Plex Tab Name",
-        "Media Server": "Media Server",
+        "Media Server": "Medie server",
         "Plex": "Plex",
-        "separate by comma's": "separate by comma's",
+        "separate by comma's": "Seperer med komma",
         "iCal URL's": "iCal URL's",
-        "Enable iCal": "Enable iCal",
-        "Calendar": "Calendar",
-        "Theme Javascript": "Theme Javascript",
+        "Enable iCal": "Aktiver iCal",
+        "Calendar": "Kalender",
+        "Theme Javascript": "Javascript tema",
         "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]",
@@ -418,14 +418,14 @@
         "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",
+        "Instructions": "Instruktioner",
         "Fav Icon Code": "Fav Icon Code",
-        "Test Message": "Test Message",
+        "Test Message": "Test besked",
         "Position": "Position",
-        "Style": "Style",
-        "Theme": "Theme",
+        "Style": "Stil",
+        "Theme": "Tema",
         "Button Text Color": "Button Text Color",
-        "Button Color": "Button Color",
+        "Button Color": "Knap farve",
         "Accent Text Color": "Accent Text Color",
         "Accent Color": "Accent Color",
         "Side Bar Text Color": "Side Bar Text Color",
@@ -435,63 +435,63 @@
         "Unsorted Tab Placement": "Unsorted Tab Placement",
         "Alternate Homepage Titles": "Alternate Homepage Titles",
         "Minimal Login Screen": "Minimal Login Screen",
-        "Login Wallpaper": "Login Wallpaper",
+        "Login Wallpaper": "Login baggrundsbillede",
         "Use Logo instead of Title": "Use Logo instead of Title",
-        "Title": "Title",
+        "Title": "Titel",
         "Logo": "Logo",
-        "Import Users": "Import Users",
+        "Import Users": "Importer brugere",
         "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 ",
+        "SpeedTest Settings": "SpeedTest indstillinger",
+        "PHP Mailer Settings": "PHP mail indstillinger",
+        "Invites Settings": "Invitations indstillinger",
+        "Chat Settings": "Chat indstillinger",
+        "Delete ": "Slet_",
         "App Cluster": "App Cluster",
         "App ID": "App ID",
-        "API Secret": "API Secret",
+        "API Secret": "API hemmelige",
         "Auth Key": "Auth Key",
         "Use Pusher SSL": "Use Pusher SSL",
-        "Message Sound": "Message Sound",
-        "# of Previous Messages": "# of Previous Messages",
+        "Message Sound": "Besked lyd",
+        "# of Previous Messages": "Antal af forrige beskeder",
         "Note": "Note",
-        "Libraries": "Libraries",
+        "Libraries": "Biblioteker",
         "Body": "Body",
-        "Name": "Name",
+        "Name": "Navn",
         "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",
+        "Invite User": "Inviter bruger",
+        "Reset Password": "Nulstil kodeord",
+        "New Registration": "Ny registreret",
         "Edit Template": "Edit Template",
-        "Send Welcome E-Mail": "Send Welcome E-Mail",
-        "Full URL": "Full URL",
+        "Send Welcome E-Mail": "Send velkomst e-mail",
+        "Full URL": "Fuld 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",
+        "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",
+        "Sender Email": "Afsender email",
+        "Sender Name": "Afsender navn",
+        "Verify Certificate": "Verioficer certifikat",
         "Authentication": "Authentication",
-        "SMTP Port": "SMTP Port",
-        "SMTP Host": "SMTP Host",
-        "Results For cmd:": "Result For cmd:",
+        "SMTP Port": "SMTP port",
+        "SMTP Host": "SMTP host",
+        "Results For cmd:": "Resultat for cmd:",
         "Organizr Information:": "Organizr Information:",
         "DB Schema": "DB Schema",
         "Misc SSO": "Misc SSO",
         "Tautulli SSO": "Tautulli SSO",
-        "Plex SSO": "Plex SSO",
+        "Plex SSO": "Ples SSO",
         "Ombi SSO": "Ombi SSO",
-        "Commands": "Commands",
+        "Commands": "Kommandoer",
         "Input Command": "Input Command",
         "Organizr Debug Area": "Organizr Debug Area",
         "Google Ads": "Google Ads",
         "DB Folder": "DB Folder",
-        "API Folder": "API Folder",
+        "API Folder": "API folder",
         "Root Folder": "Root Folder",
         "Organizr Paths": "Organizr Paths",
         "Organizr News": "Organizr News",
@@ -505,7 +505,7 @@
         "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": "Aktiver notifikationslyde",
         "Remember Me Length": "Remember Me Length",
         "Minimum Authentication for Debug Area": "Minimum Authentication for Debug Area",
         "Account DN": "Account DN",

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

@@ -235,7 +235,7 @@
         "Organizr Dependency Check": "Organizr Dependencies Check",
         "Please make sure both Token and Machine are filled in": "Bitte stellen sie Sicher dass Token und Maschine ausgefüllt sind",
         "Loading Requests...": "Lade Anfragen...",
-        "Loading Recent...": "Lade kürzlich...",
+        "Loading Recent...": "Lade kürzlich Hinzugefügtes...",
         "Loading Now Playing...": "Lade Aktuelle Wiedergabe...",
         "Loading Playlists...": "Lade Playlists...",
         "Loading Download Queue...": "Lade Downloadschlange...",
@@ -482,10 +482,10 @@
         "Results For cmd:": "Ergebnis für cmd:",
         "Organizr Information:": "Organizr Informationen:",
         "DB Schema": "DB Schema",
-        "Misc SSO": "Misc SSO",
-        "Tautulli SSO": "Tautulli SSO",
-        "Plex SSO": "Plex SSO",
-        "Ombi SSO": "Ombi SSO",
+        "Misc SSO": "gemischter einmaliger Login",
+        "Tautulli SSO": "Tautulli einmaliger Login",
+        "Plex SSO": "Plex einmaliger Login",
+        "Ombi SSO": "Ombi einmaliger Login",
         "Commands": "Kommandos",
         "Input Command": "Eingabekommando",
         "Organizr Debug Area": "Organizr Debug Area",
@@ -498,23 +498,23 @@
         "Close Error": "Fehler schließen",
         "An Error Occured": "Ein Fehler ist aufgetreten",
         "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",
+        "Tab Local URL": "Tab Lokale URL",
+        "PRELOAD": "Vorladen",
+        "Use Ombi Alias Names": "benutze Ombi alias Namen",
+        "TV Show Default Request": "TV Show standard Anfrage",
+        "Add to Combined Downloader": "Füge zu kombinierten Downloader hinzu",
         "http(s)://hostname:port/xmlrpc": "http(s)://hostname:port/xmlrpc",
-        "rTorrent API URL Override": "rTorrent API URL Override",
-        "Enable Notify Sounds": "Enable Notify Sounds",
+        "rTorrent API URL Override": "rTorrent API URL überschreiben",
+        "Enable Notify Sounds": "aktiviere Sounds für Meldungen",
         "Remember Me Length": "Remember Me Length",
-        "Minimum Authentication for Debug Area": "Minimum Authentication for Debug Area",
+        "Minimum Authentication for Debug Area": "minimale Authentifizierung für 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",
+        "Bind Username": "binde Benutzername",
+        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "Account Anhang - startet mit einem Komma - ,ou=people,dc=domain,dc=tld",
+        "Account Suffix": "Account Anhang",
+        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Account Prefix - z.b. Controller\\ von Controller\\Username für AD - uid= for OpenLDAP",
         "Account Prefix": "Account Prefix",
-        "LDAP Backend Type": "LDAP Backend Type",
-        "Strict Plex Friends": "Strict Plex Friends"
+        "LDAP Backend Type": "LDAP Backend Typ",
+        "Strict Plex Friends": "grundsätzliche Plex Freunde"
     }
 }

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

@@ -481,14 +481,14 @@
         "SMTP Host": "Servidor de correo electrónico",
         "Results For cmd:": "Resultado Para cmd:",
         "Organizr Information:": "Información sobre Organizr",
-        "DB Schema": "DB Schema",
+        "DB Schema": "Esquema BB",
         "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",
+        "Commands": "Comandos",
+        "Input Command": "Comandos de entrada",
+        "Organizr Debug Area": "Area de depuración de Organizr",
         "Google Ads": "\n Google Ads",
         "DB Folder": "Carpeta Bases de Datos",
         "API Folder": "Carpeta API",
@@ -499,22 +499,22 @@
         "An Error Occured": "Ha ocurrido un error",
         "Debug Area": "Zona Debug",
         "Tab Local URL": "Pestaña 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"
+        "PRELOAD": "PRECARGA",
+        "Use Ombi Alias Names": "Usar alias Ombi",
+        "TV Show Default Request": "Configuración Predeterminada para TV Show",
+        "Add to Combined Downloader": "Añadir a Descarga combinada",
+        "http(s)://hostname:port/xmlrpc": "http(s)://nombrehost:puerto/xmlrpc\n",
+        "rTorrent API URL Override": "Manual URL API para rTorrent",
+        "Enable Notify Sounds": "Permitir notificaciones con sonido",
+        "Remember Me Length": "Tiempo para recordar",
+        "Minimum Authentication for Debug Area": "Autenticación mínima para el Área de Depuración",
+        "Account DN": "DN de la cuenta",
+        "Bind Username": "Nombre de usuario de BIND",
+        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "Sufijo de cuenta - empieza con una coma - ,ou=people,dc=domain,dc=tld",
+        "Account Suffix": "Sufijo Cuenta",
+        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Prefijo de cuenta - por ejemplo: Controller\\ from Controller\\Nombre de usuario para AD - uid= for OpenLDAP",
+        "Account Prefix": "Prefijo Cuenta",
+        "LDAP Backend Type": "Tipo de backend para LDAP",
+        "Strict Plex Friends": "Solamente \"Amigos\" de Plex"
     }
 }

+ 89 - 89
js/langpack/it[Italian].json

@@ -242,11 +242,11 @@
         "Organizr Mod Picks": "Organizr Mod Picks",
         "Requests": "Richieste",
         "Become Sponsor": "Diventa Sponsor",
-        "Splash Page": "Splash Page",
+        "Splash Page": "Pagina di Caricamento",
         "Lock Screen": "Blocca schermo",
-        "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:",
+        "If you signed in with a Emby Acct... Please use the following link to change your password there:": "Se hai fatto l'accesso con un Emby Acct... Usa il link seguente per cambiare lì la tua password:",
+        "Password Notice": "Avviso di Password",
+        "If you signed in with a Plex Acct... Please use the following link to change your password there:": "Se hai fatto l'accesso con un Plex Acct... Usa il link seguente per cambiare lì la tua password:",
         "Active Tokens": "Token attivi",
         "Deactivate": "Disattiva",
         "Activate": "Attiva",
@@ -259,11 +259,11 @@
         "Chat": "Chat",
         "Current Directory: ": "Cartella corrente: ",
         "Suggested Directory: ": "Cartella suggerita: ",
-        "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",
+        "The Registration Password will lockout the registration field with this password. {User-Generated]": "La Password di Registrazione bloccherà il campo di registrazione con questa password. {User-Generated]",
+        "The Hash Key will be used to decrypt all passwords etc... on the server. {User-Generated]": "La Chiave di Hash verrà usata per decifrare tutte le password etc... sul server. {User-Generated]",
+        "If using Plex or Emby - It is suggested that you use the username and email of the Admin account.": "Se stai usando Plex o Emby - È consigliato usare lo stesso username e password per l'account Admin.",
+        "Business has Media items hidden [Plex, Emby etc...]": "Business ha gli elementi di Media nascosti [Plex, Emby etc...]",
+        "Personal has everything unlocked - no restrictions": "Personal ha tutto sbloccato - nessuna restrizione",
         "Continue To Website": "Continua al sito",
         "Patreon": "Patreon",
         "Cryptos": "Crypto",
@@ -278,42 +278,42 @@
         "Choose Icon": "Scegli icona",
         "Choose Image": "Scegli immagine",
         "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",
+        "Please set tab as [New Window] on next screen": "Imposta tab come [Nuova Finestra] nella prossima schermata",
+        "Tab can be set as iFrame": "Il tab può essere impostato come iFrame",
         "Premier": "Premier",
         "Missing": "Mancante",
-        "Unaired": "Unaired",
+        "Unaired": "Non Trasmesso",
         "Downloaded": "Scaricato",
-        "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.",
+        "All": "Tutti",
+        "Choose Media Status": "Seleziona lo Status dei Media",
+        "Music": "Musica",
+        "Choose Media Type": "Scegli Tipo di Media",
+        "PHP Version Check": "Controllo Versione PHP",
+        "Don\\'t have an account?": "Non hai un account?",
+        "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",
-        "Misc Options": "Misc Options",
+        "Misc Options": "Opzioni Varie",
         "Search My Media": "Search My Media",
-        "Import Plex Users": "Import Plex Users",
+        "Import Plex Users": "Importa gli Utenti di Plex",
         "Import": "Importa",
-        "INSTALL": "INSTALL",
+        "INSTALL": "Installa",
         "INFO": "INFO",
         "Day": "Giorno",
         "Week": "Settimana",
         "Month": "Mese",
-        "List": "List",
+        "List": "Lista",
         "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",
+        "Request Show or Movie": "Richiedi Serie o Film",
+        "Mark as Unavailable": "Segna come Non-Disponibile",
+        "Mark as Available": "Segna come Disponibile",
+        "Approve": "Approva",
         "Start": "Start",
-        "Everyone Refresh Seconds": "Everyone Refresh Seconds",
-        "Admin Refresh Seconds": "Admin Refresh Seconds",
-        "Minimum Authentication for Time Display": "Minimum Authentication for Time Display",
+        "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",
@@ -331,101 +331,101 @@
         "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",
+        "Host Address": "Indirizzo di Host",
+        "Enable Plex oAuth": "Abilita oAuth di Plex",
+        "Retrieve": "Recupera",
         "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",
+        "Authentication Backend": "Backend di Autenticazione",
+        "Authentication Type": "Tipo di Autenticazione",
+        "Generate": "Genera",
+        "Generate New API Key": "Genera una Nuova API Key",
         "Organizr API": "Organizr API",
-        "Force Install Branch": "Force Install Branch",
+        "Force Install Branch": "Indirizzo di Host",
         "Branch": "Branch",
         "SSO": "SSO",
-        "Enable": "Enable",
+        "Enable": "Abilita",
         "Tautulli URL": "Tautulli URL",
         "Ombi URL": "Ombi URL",
-        "Plex Note": "Plex Note",
-        "Admin username for Plex": "Admin username for Plex",
+        "Plex Note": "Ho",
+        "Admin username for Plex": "Admin username per Plex",
         "Admin Username": "Admin Username",
-        "Click Main on the sub-menu above.": "Click Main on the sub-menu above.",
-        "Important Information": "Important Information",
+        "Click Main on the sub-menu above.": "Click Main sul sotto-menu sopra.",
+        "Important Information": "Informazioni Importanti",
         "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",
+        "Custom HTML/JavaScript": "HTML/JavaScript Personalizzati",
+        "CustomHTML-2": "HTML-2 Personalizzato",
+        "CustomHTML-1": "HTML-1 Personalizzato",
+        "Refresh Seconds": "Secondi per Ricaricare",
+        "Limit to User": "Limite per Utente",
+        "Minimum Group to Request": "Gruppo Minimo per Richiedere",
         "Token": "Token",
         "URL": "URL",
         "Ombi": "Ombi",
-        "Items Per Day": "Items Per Day",
-        "Time Format": "Time Format",
-        "Default View": "Default View",
-        "Start Day": "Start Day",
+        "Items Per Day": "Oggetti Per Giorno",
+        "Time Format": "Formato di Tempo",
+        "Default View": "Vista di Default",
+        "Start Day": "Giorno d'Inizio",
         "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",
+        "Test Connection": "Test di Connessione",
+        "Please Save before Testing": "Salva Prima di Testare",
+        "# of Days After": "# di Giorni Dopo",
+        "# of Days Before": "# di Giorni Prima",
         "Radarr": "Radarr",
         "Lidarr": "Lidarr",
-        "Show Unmonitored": "Show Unmonitored",
+        "Show Unmonitored": "Mostra Non-Monitorati",
         "Sonarr": "Sonarr",
-        "Hide Completed": "Hide Completed",
-        "Hide Seeding": "Hide Seeding",
+        "Hide Completed": "Nascondi Completati",
+        "Hide Seeding": "Nascondi in Seeding",
         "Deluge": "Deluge",
-        "Order": "Order",
+        "Order": "Ordine",
         "Status: [": "Status: [",
         "]": "]",
         "rTorrent": "rTorrent",
-        "Reverse Sorting": "Reverse Sorting",
+        "Reverse Sorting": "Ordine Inverso",
         "qBittorrent": "qBittorrent",
         "Transmission": "Transmission",
         "NZBGet": "NZBGet",
         "SabNZBD": "SabNZBD",
-        "Image Cache Size": "Image Cache Size",
+        "Image Cache Size": "Dimensione Cache Immagine",
         "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",
+        "Only use if you have Emby in a reverse proxy": "Da usare solo se hai Emby in un reverse proxy",
         "Emby Tab Name": "Emby Tab Name",
-        "Item Limit": "Item Limit",
-        "Minimum Authorization": "Minimum Authorization",
-        "User Information": "User Information",
+        "Item Limit": "Limite di Oggetti",
+        "Minimum Authorization": "Autorizzazione Minima",
+        "User Information": "Informazioni su Utente",
         "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",
+        "Only use if you have Plex in a reverse proxy": "Da usare solo se hai Plex in un reverse proxy",
         "Plex Tab Name": "Plex Tab Name",
         "Media Server": "Media Server",
         "Plex": "Plex",
-        "separate by comma's": "separate by comma's",
+        "separate by comma's": "separati da virgole",
         "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",
+        "Enable iCal": "Abilita iCal",
+        "Calendar": "Calendario",
+        "Theme Javascript": "Tema Javascript",
+        "Custom Javascript": "Javascript Personalizzato",
+        "Theme CSS [Can replace colors from above]": "Tema CSS [Può rimpiazzare i colori dall'alto]",
+        "Custom CSS [Can replace colors from above]": "CSS Personalizzato [Può rimpiazzare i colori dall'alto]",
+        "Copy code and paste inside left box": "Copia il codice e incollalo dentro il box di sinistra",
+        "Download and unzip file and place in": "Scarica, decomprimi il file e inseriscilo",
+        "Click [Generate your Favicons and HTML code]": "Click [Genera i tuoi Favicons e codice HTML]",
+        "Enter this path": "Inserisci questo percorso",
+        "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.]": "In fondo alla pagina, su [Opzioni di Generazione Favicon] sotto [Percorso] scegli [Non posso o voglio mettere i file favicon alla base del mio sito web.]",
+        "Edit settings to your liking": "Modifica le impostazioni come vuoi",
+        "Choose your image to use": "Scegli l'immagine da usare",
+        "Click [Select your Favicon picture]": "Click [Scegli la tua immagine Favicon]",
+        "Instructions": "Istruzioni",
         "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",
+        "Position": "Posizione",
+        "Style": "Stile",
+        "Theme": "Tema",
+        "Button Text Color": "Colore del Testo nel Pulsante",
+        "Button Color": "Colore del Pulsante",
         "Accent Text Color": "Accent Text Color",
         "Accent Color": "Accent Color",
         "Side Bar Text Color": "Side Bar Text Color",

+ 9 - 9
js/langpack/nb[Bokm&aring;l].json

@@ -259,8 +259,8 @@
         "Chat": "Chat",
         "Current Directory: ": "Nåværende mappe:␣",
         "Suggested Directory: ": "Foreslått mappe:␣",
-        "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]",
+        "The Registration Password will lockout the registration field with this password. {User-Generated]": "Registreringspassordet vil låse registreringsskjemaet med dette passordet. {User-Generated]",
+        "The Hash Key will be used to decrypt all passwords etc... on the server. {User-Generated]": "Hash-nøkkelen brukes til å dekryptere alle passord og lignende på serveren. {User-Generated]",
         "If using Plex or Emby - It is suggested that you use the username and email of the Admin account.": "Ved bruk av Plex eller Emby - Anbefales det bruk av bruker og passord fra Admin konto.",
         "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",
@@ -290,20 +290,20 @@
         "Choose Media Type": "Velg media type\n",
         "PHP Version Check": "PHP versjonskontroll",
         "Don\\'t have an account?": "Har du ikke konto?",
-        "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.",
+        "The value of #987654 is just a placeholder, you can change to any value you like.": "Fargekoden #987654 er bare en \"placeholder\". Denne kan du endre til hva som helst. Fargen #987654 vil ikke vises noen steder.",
         "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": "Denne modulen krever XMLRPC",
-        "Misc Options": "Misc Options",
+        "Misc Options": "Diverse innstillinger",
         "Search My Media": "Search My Media",
-        "Import Plex Users": "Import Plex Users",
+        "Import Plex Users": "Importer plex-brukere",
         "Import": "Importer",
-        "INSTALL": "INSTALL",
+        "INSTALL": "INSTALLER",
         "INFO": "INFO",
         "Day": "Dag",
-        "Week": "Week",
-        "Month": "Month",
-        "List": "List",
+        "Week": "Uke",
+        "Month": "Måned",
+        "List": "Liste",
         "Streams": "Streams",
         "javascript:void(0)": "javascript:void(0)",
         "Request Show or Movie": "Request Show or Movie",

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

@@ -21,7 +21,7 @@
         "Password": "Hasło",
         "Sign Up": "Zarejestruj się",
         "Don't have an account?": "Nie masz konta?",
-        "Forgot pwd?": "Zapomniałeś(-aś)?",
+        "Forgot pwd?": "Zapomniałeś(aś)?",
         "Remember Me": "Zapamiętaj",
         "Login": "Zaloguj się",
         "Installed": "Zainstalowane",

+ 1 - 1
js/langpack/pt[Portuguese].json

@@ -500,7 +500,7 @@
         "Debug Area": "Debug Area",
         "Tab Local URL": "Tab Local URL",
         "PRELOAD": "PRELOAD",
-        "Use Ombi Alias Names": "Use Ombi Alias Names",
+        "Use Ombi Alias Names": "Usar Apelidos do Ombi",
         "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",

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

@@ -3,123 +3,123 @@
         "Navigation": "Navigation",
         "Date": "Datum",
         "Type": "Typ",
-        "IP Address": "IP Adress",
+        "IP Address": "IP-adress",
         "Username": "Användarnamn",
         "Message": "Meddelande",
         "My Profile": "Min Profil",
-        "Account Settings": "Konto Inställningar",
+        "Account Settings": "Kontoinställningar",
         "Login/Register": "Logga in/Registrera",
         "Logout": "Logga ut",
         "Inbox": "Inkorg",
         "Go Back": "Gå tillbaka",
         "Reset": "Återställ",
         "Email": "Email",
-        "Enter your Email and instructions will be sent to you!": "Skriv in din Email så kommer instruktioner att skickas till dig!",
+        "Enter your Email and instructions will be sent to you!": "Skriv in din e-mail så kommer instruktioner att skickas till dig!",
         "Register": "Registrera",
-        "Registration Password": "Registrerings Lösenord",
-        "Recover Password": "Återställ Lösenord",
+        "Registration Password": "Registreringslösenord",
+        "Recover Password": "Återställ lösenord",
         "Password": "Lösenord",
-        "Sign Up": "Skapa Konto",
+        "Sign Up": "Skapa konto",
         "Don't have an account?": "Saknar du ett konto?",
-        "Forgot pwd?": "Glömt Lösenord?",
+        "Forgot pwd?": "Glömt lösenord?",
         "Remember Me": "Kom ihåg mig",
         "Login": "Logga in",
         "Installed": "Installerad",
         "Install Update": "Installera uppdatering",
-        "Organizr Versions": "Organizr verisioner",
+        "Organizr Versions": "Organizr-versioner",
         "About": "Om",
-        "Organizr Logs": "Organizr loggar",
+        "Organizr Logs": "Organizr-loggar",
         "Main Settings": "Huvudinställningar",
         "Updates": "Uppdateringar",
         "Logs": "Loggar",
         "Main": "Huvudmeny",
         "Plugins": "Plugin",
-        "Manage Users": "Hantera Användare",
+        "Manage Users": "Hantera användare",
         "Customize Organizr": "Redigera Organizr",
-        "Edit Categories": "Editera Kategorier",
-        "Edit Tabs": "Editera Filkar",
+        "Edit Categories": "Redigera kategorier",
+        "Edit Tabs": "Redigera flikar",
         "Tabs": "Flikar",
-        "System Settings": "System Inställningar",
-        "User Management": "Hantera Användare",
+        "System Settings": "Systeminställningar",
+        "User Management": "Hantera användare",
         "Customize": "Skräddarsy",
-        "Tab Editor": "Flik Editerare",
+        "Tab Editor": "Flikredigerare",
         "Settings": "Inställningar",
-        "Organizr Settings": "Organizr Inställningar",
+        "Organizr Settings": "Organizr-inställningar",
         "Categories": "Kategorier",
-        "Login Logs": "Inloggnings Loggar",
-        "Login Log": "Inloggnings Log",
-        "Organizr Log": "Organizr Log",
+        "Login Logs": "Inloggningsloggar",
+        "Login Log": "Inloggningslog",
+        "Organizr Log": "Organizr-log",
         "FIXED": "LÖST",
         "NEW": "NYTT",
         "NOTE": "NOTERA",
-        "Update Available": "Uppdatering Tillgänglig",
+        "Update Available": "Uppdatering tillgänglig",
         "is available, goto": "är redo, gå till",
-        "Update Tab": "Uppdatera Flik",
-        "Database Name:": "Databas Namn:",
-        "Database Name": "Databas Namn:",
-        "Database Location:": "Databas Lokalisering",
-        "Database Location": "Databas Lokalisering",
+        "Update Tab": "Uppdatera flik",
+        "Database Name:": "Databasnamn:",
+        "Database Name": "Databasnamn",
+        "Database Location:": "Databaslokalisering:",
+        "Database Location": "Databaslokalisering",
         "Hover to show": "Sväva för att visa",
-        "API Key:": "API Nyckel:",
-        "API Key": "API Nyckel:",
-        "Registration Password:": "Registrerings Lösenord:",
-        "Hash Key:": "Hash Nyckel:",
-        "Hash Key": "Hash Nyckel:",
+        "API Key:": "API-nyckel:",
+        "API Key": "API-nyckel:",
+        "Registration Password:": "Registreringslösenord:",
+        "Hash Key:": "Hashnyckel:",
+        "Hash Key": "Hashnyckel",
         "Password:": "Lösenord:",
-        "Attention": "OBS",
-        "The Hash Key will be used to decrypt all passwords etc... on the server.": "Hash Nyckeln kommer att användas för att decryptera alla lösenord etc... på servern",
-        "The API Key will be used for all calls to organizr for the UI. [Auto-Generated]": "API Nyckeln kommer att användas för att kalla på Organizr för UI:n [Auto-Genererad]",
+        "Attention": "OBS!",
+        "The Hash Key will be used to decrypt all passwords etc... on the server.": "Hashnyckeln kommer att användas för att dekryptera alla lösenord etc... på servern.",
+        "The API Key will be used for all calls to organizr for the UI. [Auto-Generated]": "API-nyckeln kommer att användas för alla anrop till Organizrs UI [Autogenererad]",
         "Notice": "Notis",
         "Business": "Företag",
         "Personal": "Privat",
-        "Choose License": "Välj Licens",
-        "Install Type": "Installerings Typ",
+        "Choose License": "Välj licens",
+        "Install Type": "Installationstyp",
         "Verify": "Verifiera",
         "Database": "Databas",
         "Security": "Säkerhet",
-        "Admin Info": "Administratörs Info",
+        "Admin Info": "Administratörsinfo",
         "Parent Directory:": "Rotkatalog",
-        "Admin Creation": "Administratör Skapande",
-        "The Database will contain sensitive information.  Please place in directory outside of root Web Directory.": "Databasen kommer innehålla känslig information. Vänligen lägg mappen utanför root web mappen.",
+        "Admin Creation": "Administratörsskapande",
+        "The Database will contain sensitive information.  Please place in directory outside of root Web Directory.": "Databasen kommer innehålla känslig information. Vänligen lägg mappen utanför root-webmappen.",
         "MANAGE": "HANTERA",
         "CATEGORY": "KATEGORI",
         "ADDED": "TILLAGD",
         "NAME & EMAIL": "NAMN & EMAIL",
         "MANAGE USERS": "HANTERA ANVÄNDARE",
-        "Add User": "Lägg Till Användare",
-        "Manage Groups": "Hantera Grupper",
-        "Choose Language": "Välj Språk",
+        "Add User": "Lägg till användare",
+        "Manage Groups": "Hantera grupper",
+        "Choose Language": "Välj språk",
         "Welcome": "Välkommen",
         "License": "Licens",
-        "Webserver Version": "Webserver Verision",
-        "PHP Version": "PHP Verision",
-        "Organizr Branch": "Organizr uppdateringskanal",
-        "Organizr Version": "Organizr Verision",
+        "Webserver Version": "Webserverversion",
+        "PHP Version": "PHP-version",
+        "Organizr Branch": "Organizr-uppdateringskanal",
+        "Organizr Version": "Organizr-version",
         "Information": "Information",
-        "Below you will find all the links for everything that has to do with Organizr": "Nedanför finner du länkar till allting som har att göra med Organizr",
+        "Below you will find all the links for everything that has to do with Organizr": "Nedanför finner du länkar till allt som har att göra med Organizr",
         "Loading...": "Laddar...",
         "Donate": "Donera",
-        "Edit Group": "Editera Grupp",
+        "Edit Group": "Redigera grupp",
         "For icons, use the following format:": "För ikoner, använd följande format:",
         "For images, use the following format:": "För bilder, använd följande format:",
         "You may use an image or icon in this field": "I detta fält kan du använda en bild eller ikon",
-        "Image Legend": "Bild Information",
-        "Category Image": "Bild för kategori",
-        "Category Name": "Kategori Namn",
-        "Edit Category": "Editera Kategori",
+        "Image Legend": "Bildinformation",
+        "Category Image": "Kategoribild",
+        "Category Name": "Kategorinamn",
+        "Edit Category": "Redigera kategori",
         "Add Category": "Lägg till kategori",
         "Add New Category": "Lägg till en ny kategori",
         "DELETE": "RADERA",
-        "EDIT": "EDITERA",
+        "EDIT": "REDIGERA",
         "DEFAULT": "STANDARD",
         "TABS": "FLIKAR",
         "NAME": "NAMN",
-        "Category Editor": "Kategori Redigerare",
-        "Tab Image": "Flik Bild",
-        "Tab URL": "Flik URL",
-        "Tab Name": "Flik Namn",
-        "Edit Tab": "Editera Flik",
-        "Add Tab": "Lägg till Flik",
+        "Category Editor": "Kategoriredigerare",
+        "Tab Image": "Flikbild",
+        "Tab URL": "Flik-URL",
+        "Tab Name": "Fliknamn",
+        "Edit Tab": "Redigera flik",
+        "Add Tab": "Lägg till flik",
         "Add New Tab": "Lägg till ny flik",
         "SPLASH": "Uppstartsbild",
         "ACTIVE": "AKTIV",
@@ -128,78 +128,78 @@
         "Delete": "Radera",
         "No": "Nej",
         "Yes": "Ja",
-        "Deleted Category": "Raderad Kategori",
-        "Add New User": "Lägg Till Användare",
+        "Deleted Category": "Raderad kategori",
+        "Add New User": "Lägg till användare",
         "EMAIL": "EPOST",
-        "Deleted User": "Raderad Användare",
-        "Category Order Saved": "Kategori Order Sparad",
-        "Group Image": "Grupp Bild",
-        "Group Name": "Grupp Namn",
-        "Add Group": "Lägg Till Grupp",
+        "Deleted User": "Raderad användare",
+        "Category Order Saved": "Kategoriordning sparad",
+        "Group Image": "Gruppbild",
+        "Group Name": "Gruppnamn",
+        "Add Group": "Lägg till grupp",
         "Add New Group": "Lägg till ny grupp",
         "USERS": "ANVÄNDARE",
-        "GROUP NAME": "GRUPP NAMN",
+        "GROUP NAME": "GRUPPNAMN",
         "MANAGE GROUPS": "HANTERA GRUPPER",
-        "Changed Language To": "Språk Ändrad Till",
+        "Changed Language To": "Språk ändrat till",
         "Groups": "Grupper",
         "Users": "Användare",
         "Appearance": "Utseende",
-        "Customize Appearance": "Redigera Utseenede",
+        "Customize Appearance": "Redigera utseende",
         "Request Me!": "Begäran",
-        "Would you like to Request it?": "Skulle ni vilja begära det?",
-        "No Results for:": "Inga Resultat för",
+        "Would you like to Request it?": "Vill du begära det?",
+        "No Results for:": "Inga resultat för",
         "Nothing in queue": "Kön är tom",
         "Nothing in history": "Historiken är tom",
         "Nothing in hitsory": "Historiken är tom",
-        "Load More": "Ladda Fler",
-        "Request": "Förfråga",
-        "No Results": "Inga Resultat",
-        "Airs Today TV": "TV-Serier som sänds idag",
-        "Popular TV": "Populära TV-Serier",
-        "Top TV": "Top TV-Serier",
-        "Upcoming Movies": "Kommande Filmer",
-        "Popular Movies": "Populära Filmer",
-        "Top Movies": "Top Filmer",
-        "In Theatres": "På Bio",
+        "Load More": "Ladda fler",
+        "Request": "Förfrågan",
+        "No Results": "Inga resultat",
+        "Airs Today TV": "TV-serier som sänds idag",
+        "Popular TV": "Populära TV-serier",
+        "Top TV": "Topp TV-Serier",
+        "Upcoming Movies": "Kommande filmer",
+        "Popular Movies": "Populära filmer",
+        "Top Movies": "Toppfilmer",
+        "In Theatres": "På bio",
         "Suggestions": "Förslag",
-        "TV": "TV-Serier",
+        "TV": "TV-serier",
         "Movie": "Film",
         "Denied": "Nekad",
-        "Unapproved": "Ej Godkänd",
+        "Unapproved": "Ej godkänd",
         "Approved": "Godkänd",
-        "Unavailable": "Inte Tillgänglig",
+        "Unavailable": "Inte tillgänglig",
         "Available": "Tillgänglig",
         "Recently Added": "Nyligen tillagt",
         "Active": "Aktiv",
-        "Requested By:": "Förfrågad Av:",
+        "Requested By:": "Förfrågad av:",
         "Request Options": "Förfrågningsalternativ",
-        "Deny": "Nekad",
+        "Deny": "Neka",
         "OK": "OK",
         "Seconds": "Sekunder",
-        "Verify Password": "Verifera Lösenord",
-        "Account Information": "Konto Information",
-        "Inactive Plugins": "Inaktiva Plugins-Program",
-        "Active Plugins": "Aktiva Plugins-Program",
+        "Verify Password": "Verifera lösenord",
+        "Account Information": "Kontoinformation",
+        "Inactive Plugins": "Inaktiva plugins",
+        "Active Plugins": "Aktiva plugins",
         "Inactive": "Inaktiv",
-        "Everything Active": "Aktivera Allt",
-        "Nothing Active": "Avaktivera Allt",
-        "Choose Plex Machine": "Välj Plex-Maskin",
-        "Test Speed to Server": "Testa Hastigheten till Servern",
-        "Test Server Speed": "Testa Serverhastighet",
+        "Everything Active": "Aktivera allt",
+        "Nothing Active": "Inaktivera allt",
+        "Choose Plex Machine": "Välj Plex-maskin",
+        "Test Speed to Server": "Testa hastigheten mot servern",
+        "Test Server Speed": "Testa serverhastighet",
         "Subject": "Ämne",
-        "To:": "Till",
-        "Email Users": "Email Användare",
+        "To:": "Till:",
+        "Email Users": "Email-användare",
         "E-Mail Center": "Email Center",
         "You have been invited. Please goto ": "Du har blivit inbjuden. Gå till␣",
         "Use Invite Code": "Använd inbjudingskod",
-        "VALID": "Giltig",
-        "IP ADDRESS": "Ip Adress",
+        "VALID": "GILTIG",
+        "IP ADDRESS": "IP-adress",
         "USED BY": "ANVÄND AV",
-        "DATE USED": "Datum Använd",
-        "DATE SENT": "Datum Skickad",
+        "DATE USED": "DATUM ANVÄND",
+        "DATE SENT": "DATUM SKICKAD",
         "INVITE CODE": "INBJUDNINGSKOD",
         "USERNAME": "ANVÄNDARNAMN",
-        "Manage Invites": "Hantera Inbjudningar",
+        "Manage Invites": "Hantera inbjudningar",
         "No Invites": "Inga Inbjudningar",
         "Create/Send Invite": "Skapa/Skicka Inbjudan",
         "Name or Username": "Namn eller Användarnamn",

+ 5 - 5
js/langpack/zh[Chinese].json

@@ -239,8 +239,8 @@
         "Loading Now Playing...": "加载正在播放的...",
         "Loading Playlists...": "加载播放列表…",
         "Loading Download Queue...": "正在加载下载队列…",
-        "Organizr Mod Picks": "组织者Mod Picks",
-        "Requests": "求",
+        "Organizr Mod Picks": "Organizr模式选择",
+        "Requests": "求",
         "Become Sponsor": "成为赞助商",
         "Splash Page": "启动页面",
         "Lock Screen": "锁屏",
@@ -253,13 +253,13 @@
         "Current": "当前",
         "Save": "保存",
         "STATUS": "状态",
-        "PLUGIN": "插",
+        "PLUGIN": "插",
         "Plugin Marketplace": "插件市场",
         "Marketplace": "市场",
-        "Chat": "聊",
+        "Chat": "聊",
         "Current 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]": "注册密码将使用此密码锁定注册字段。 {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.": "如果使用Plex或Emby  - 建议您使用管理员帐户的用户名和电子邮件。",
         "Business has Media items hidden [Plex, Emby etc...]": "商家隐藏了媒体项目[Plex,Emby等...]",

+ 7 - 0
js/news.json

@@ -1,4 +1,11 @@
 [
+  {
+    "title": "Emby Discontinued Support",
+    "subTitle": "Emby API - EmbyConnect Deprecated",
+    "date": "2019-05-14 19:15",
+    "body": "Emby has discontinued support for matching users against Emby Connect via API.  Therefore, we will no longer be supporting this method of Authentication for Organizr.  If Emby decides to support this again, I will re-enable it once more.  You can find more information here: <a href=\"https:\/\/github.com\/MediaBrowser\/Emby\/issues\/3553\" target=\"_blank\">Emby API Discussion<\/a>",
+    "author": "CauseFX"
+  },
   {
     "title": "Welcome to Version 2.0",
     "subTitle": "We finally made it...",

+ 7 - 0
js/version.json

@@ -173,5 +173,12 @@
     "new": "Emby Invites|HealthChecks.io to homepage|Added ability to have more than one api token for healthchecks.io|Updated SweetAlert to new version|Option to define local IP override|LDAP login test|iFrame sandbox options|Refreshes to plex and emby recent|OPNsense to Default Icon Library (#1131)|Added refresh to calendar|Added refresh to Streams|Added keybinding for next and previous tabs|Toggle to turn of organizr debug errors|Added method to login with API|Add header to auth line for current user - used for Grafana SSO|Shortcut to edit homepage item on tab page|Allow custom URL for selfhosted version of healthchecks (#1161)",
     "fixed": "Ombi SSO error (#1117)|Changed Windows update method|Multiple CSS fixes|Invite select2 box code|V2 emby unexpected token (#1121)|Fix Menu overlapping (#1122)|Calendar does not show recurring events (#1104)|Fix big log files (#990)|Ignore js error for downloader (#1133)|Make all urls without scheme http (#1133)|Mobile login form autocapitalises and auto-corrects (#1138)|Undefined index: description (#1154)|http and https check (#1154)|Tab Url choose image text/image is misaligned (#1146)|invite settings box|Misaligned trashcan icon in Tab Editor menu (#1147)",
     "notes": "Updated language translations|Added more default tab images|Please report bugs in GitHub issues page"
+  },
+  "2.0.225": {
+    "date": "2019-05-31 21:20",
+    "title": "Small Things and Language Updates",
+    "new": "Support for custom GA Tracking code|Manual update checker",
+    "fixed": "Download file function|2FA if using Password Manager|Calendar Localization|Emby local Auth|Sonarr JSON issue|Typos",
+    "notes": "Disabled Emby Connect due to Emby|Made Debug error false by default|Updated language translations|Added more default tab images|Please report bugs in GitHub issues page"
   }
 }

BIN
plugins/images/tabs/cardigann.png


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików