[Slim-Checkins] r10803 - in /trunk/server: ./ Plugins/iTunes/ Plugins/iTunes/HTML/ Plugins/iTunes/HTML/EN/ Plugins/iTunes/HTML/EN/plugins/ Plugins/iTunes/HTML/EN/plugins/iTunes/ Plugins/iTunes/HTML/EN/plugins/iTunes/settings/ Slim/Utils/ Slim/Web/ Slim/Web/Pages/

dsully at svn.slimdevices.com dsully at svn.slimdevices.com
Thu Nov 30 14:03:21 PST 2006


Author: dsully
Date: Thu Nov 30 14:03:21 2006
New Revision: 10803

URL: http://svn.slimdevices.com?rev=10803&view=rev
Log:
Bug: N/A
Description: Settings / Plugin rework:

* Move iTunes settings to a subclass of Slim::Web::Settings

* Get rid of addSetupGroups

* Other plugins are likely broken at this point.

* Get rid of 'on the fly' plugin loading.

* Add HTML Template dirs at a higher level.

Added:
    trunk/server/Plugins/iTunes/HTML/
    trunk/server/Plugins/iTunes/HTML/EN/
    trunk/server/Plugins/iTunes/HTML/EN/plugins/
    trunk/server/Plugins/iTunes/HTML/EN/plugins/iTunes/
    trunk/server/Plugins/iTunes/HTML/EN/plugins/iTunes/settings/
    trunk/server/Plugins/iTunes/HTML/EN/plugins/iTunes/settings/itunes.html   (with props)
    trunk/server/Plugins/iTunes/Settings.pm   (with props)
Modified:
    trunk/server/Plugins/iTunes/Plugin.pm
    trunk/server/Slim/Utils/PluginManager.pm
    trunk/server/Slim/Utils/Prefs.pm
    trunk/server/Slim/Web/Pages/Home.pm
    trunk/server/Slim/Web/Setup.pm
    trunk/server/strings.txt

Added: trunk/server/Plugins/iTunes/HTML/EN/plugins/iTunes/settings/itunes.html
URL: http://svn.slimdevices.com/trunk/server/Plugins/iTunes/HTML/EN/plugins/iTunes/settings/itunes.html?rev=10803&view=auto
==============================================================================
--- trunk/server/Plugins/iTunes/HTML/EN/plugins/iTunes/settings/itunes.html (added)
+++ trunk/server/Plugins/iTunes/HTML/EN/plugins/iTunes/settings/itunes.html Thu Nov 30 14:03:21 2006
@@ -1,0 +1,69 @@
+[% PROCESS settings/header.html %]
+
+	<div class="settingSection">
+		<div class="prefHead">[% "ITUNES" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_ITUNES_DESC" | string %]</div>
+
+		<input type="checkbox" [% IF prefs.itunes %]checked [% END %] class="stdedit" name="itunes" id="itunes" />
+
+		<!--
+		<option [% IF NOT prefs.itunes %]selected [% END %]value="0">[% 'DONT_USE_ITUNES' | getstring %]</option>
+		<option [% IF prefs.itunes %]selected [% END %]value="1">[% 'USE_ITUNES' | getstring %]</option>
+		-->
+	</div>
+
+	<div class="settingSection">
+		<div class="prefHead">[% "SETUP_ITUNESSCANINTERVAL" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_ITUNESSCANINTERVAL_DESC" | string %]</div>
+
+		<input type="text" class="stdedit" name="itunesscaninterval" id="itunesscaninterval" value="[% prefs.itunesscaninterval %]" size="5">
+	</div>
+
+	<div class="settingSection">
+	
+		<div class="groupHead">[% "SETUP_IGNOREDISABLEDITUNESTRACKS" | string | upper %]</div>
+		<div class="groupDesc">[% "SETUP_IGNOREDISABLEDITUNESTRACKS_DESC" | string %]</div>
+
+		<select class="stdedit" name="ignoredisableditunestracks" id="rescantype">
+
+			<option value="0" [% IF NOT prefs.ignoredisableditunestracks %]selected[% END %]>
+				[% "SETUP_IGNOREDISABLEDITUNESTRACKS_0" | string %]
+			</option>
+
+			<option value="1" [% IF prefs.ignoredisableditunestracks %]selected[% END %]>
+				[% "SETUP_IGNOREDISABLEDITUNESTRACKS_1" | string %]
+			</option>
+
+		</select>
+
+	</div>
+
+	<div class="settingSection">
+		<div class="prefHead">[% "SETUP_ITUNES_LIBRARY_XML_PATH" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_ITUNES_LIBRARY_XML_PATH_DESC" | string %]</div>
+
+		<input type="text" class="stdedit" name="itunes_library_xml_path" id="itunes_library_xml_path" value="[% prefs.itunes_library_xml_path %]" size="40">
+	</div>
+
+	<div class="settingSection">
+		<div class="prefHead">[% "SETUP_ITUNES_LIBRARY_MUSIC_PATH" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_ITUNES_LIBRARY_MUSIC_PATH_DESC" | string %]</div>
+
+		<input type="text" class="stdedit" name="itunes_library_music_path" id="itunes_library_music_path" value="[% prefs.itunes_library_music_path %]" size="40">
+	</div>
+
+	<div class="settingSection">
+		<div class="prefHead">[% "SETUP_ITUNESPLAYLISTPREFIX" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_ITUNESPLAYLISTPREFIX_CHOOSE" | string %]</div>
+
+		<input type="text" class="stdedit" name="iTunesplaylistprefix" id="iTunesplaylistprefix" value="[% prefs.iTunesplaylistprefix %]" size="40">
+	</div>
+
+	<div class="settingSection">
+		<div class="prefHead">[% "SETUP_ITUNESPLAYLISTSUFFIX" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_ITUNESPLAYLISTSUFFIX_CHOOSE" | string %]</div>
+
+		<input type="text" class="stdedit" name="iTunesplaylistsuffix" id="iTunesplaylistsuffix" value="[% prefs.iTunesplaylistsuffix %]" size="40">
+	</div>
+
+[% PROCESS settings/footer.html %]

Propchange: trunk/server/Plugins/iTunes/HTML/EN/plugins/iTunes/settings/itunes.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/server/Plugins/iTunes/HTML/EN/plugins/iTunes/settings/itunes.html
------------------------------------------------------------------------------
    svn:keywords = Id Author LastChangedDate LastChangedBy

Propchange: trunk/server/Plugins/iTunes/HTML/EN/plugins/iTunes/settings/itunes.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Modified: trunk/server/Plugins/iTunes/Plugin.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/iTunes/Plugin.pm?rev=10803&r1=10802&r2=10803&view=diff
==============================================================================
--- trunk/server/Plugins/iTunes/Plugin.pm (original)
+++ trunk/server/Plugins/iTunes/Plugin.pm Thu Nov 30 14:03:21 2006
@@ -7,6 +7,8 @@
 
 use strict;
 use base qw(Plugins::iTunes::Common);
+
+use Plugins::iTunes::Settings;
 
 use Slim::Player::ProtocolHandlers;
 use Slim::Utils::Log;
@@ -33,8 +35,6 @@
 sub initPlugin {
 	my $class = shift;
 
-	addGroups();
-
 	return 1 if $class->initialized;
 
 	if (!$class->canUseiTunesLibrary) {
@@ -44,6 +44,8 @@
 	Slim::Player::ProtocolHandlers->registerHandler('itunesplaylist', 0);
 
 	Slim::Music::Import->addImporter($class, { 'use' => 1 });
+
+	Plugins::iTunes::Settings->new;
 
 	$class->initialized(1);
 	$class->checker(1);
@@ -61,10 +63,6 @@
 	Slim::Player::ProtocolHandlers->registerHandler('itunesplaylist', 0);
 
 	$class->initialized(0);
-
-	# delGroups, categories and prefs
-	Slim::Web::Setup::delCategory('ITUNES');
-	Slim::Web::Setup::delGroup('BASIC_SERVER_SETTINGS','itunes',1);
 
 	# set importer to not use
 	Slim::Music::Import->useImporter($class, 0);
@@ -99,142 +97,6 @@
 	Slim::Utils::Timers::setTimer(0, Time::HiRes::time() + $interval, \&checker);
 }
 
-sub addGroups {
-	Slim::Web::Setup::addChildren('BASIC_SERVER_SETTINGS','ITUNES',3);
-	Slim::Web::Setup::addCategory('ITUNES',&setupCategory);
-
-	my ($groupRef,$prefRef) = setupUse();
-
-	Slim::Web::Setup::addGroup('BASIC_SERVER_SETTINGS', 'itunes', $groupRef, 2, $prefRef);
-}
-
-sub setupUse {
-	my $client = shift;
-
-	my %setupGroup = (
-		'PrefOrder' => ['itunes'],
-		'PrefsInTable' => 1,
-		'Suppress_PrefHead' => 1,
-		'Suppress_PrefDesc' => 1,
-		'Suppress_PrefLine' => 1,
-		'Suppress_PrefSub' => 1,
-		'GroupHead' => 'SETUP_ITUNES',
-		'GroupDesc' => 'SETUP_ITUNES_DESC',
-		'GroupLine' => 1,
-		'GroupSub' => 1,
-	);
-
-	my %setupPrefs = (
-
-		'itunes' => {
-
-			'validate' => \&Slim::Utils::Validate::trueFalse,
-			'changeIntro' => "",
-			'options' => {
-				'1' => string('USE_ITUNES'),
-				'0' => string('DONT_USE_ITUNES'),
-			},
-
-			'onChange' => sub {
-				my ($client, $changeref, $paramref, $pageref) = @_;
-
-				foreach my $tempClient (Slim::Player::Client::clients()) {
-					Slim::Buttons::Home::updateMenu($tempClient);
-				}
-
-				Slim::Music::Import->useImporter('Plugin::iTunes::Plugin', $changeref->{'itunes'}{'new'});
-			},
-
-			'optionSort' => 'KR',
-			'inputTemplate' => 'setup_input_radio.html',
-		}
-	);
-
-	return (\%setupGroup, \%setupPrefs);
-}
-
-sub setupCategory {
-
-	my %setupCategory = (
-
-		'title' => string('SETUP_ITUNES'),
-
-		'parent' => 'BASIC_SERVER_SETTINGS',
-
-		'GroupOrder' => [qw(Default iTunesPlaylistFormat)],
-
-		'Groups' => {
-
-			'Default' => {
-				'PrefOrder' => [qw(
-					itunesscaninterval
-					ignoredisableditunestracks
-					itunes_library_xml_path
-					itunes_library_music_path
-				)]
-			},
-
-			'iTunesPlaylistFormat' => {
-				'PrefOrder' => ['iTunesplaylistprefix','iTunesplaylistsuffix'],
-				'PrefsInTable' => 1,
-				'Suppress_PrefHead' => 1,
-				'Suppress_PrefDesc' => 1,
-				'Suppress_PrefLine' => 1,
-				'Suppress_PrefSub' => 1,
-				'GroupHead' => 'SETUP_ITUNESPLAYLISTFORMAT',
-				'GroupDesc' => 'SETUP_ITUNESPLAYLISTFORMAT_DESC',
-				'GroupLine' => 1,
-				'GroupSub' => 1,
-			}
-		},
-
-		'Prefs' => {
-
-			'itunesscaninterval' => {
-				'validate' => \&Slim::Utils::Validate::number,
-				'validateArgs' => [0,undef,1000],
-			},
-
-			'iTunesplaylistprefix' => {
-				'validate' => \&Slim::Utils::Validate::acceptAll,
-				'PrefSize' => 'large'
-			},
-
-			'iTunesplaylistsuffix' => {
-				'validate' => \&Slim::Utils::Validate::acceptAll,
-				'PrefSize' => 'large'
-			},
-
-			'ignoredisableditunestracks' => {
-
-				'validate' => \&Slim::Utils::Validate::trueFalse,
-				'options' => {
-					'1' => string('SETUP_IGNOREDISABLEDITUNESTRACKS_1'),
-					'0' => string('SETUP_IGNOREDISABLEDITUNESTRACKS_0'),
-				},
-			},
-
-			'itunes_library_xml_path' => {
-				'validate' => \&Slim::Utils::Validate::isFile,
-				'validateArgs' => [1],
-				'changeIntro' => string('SETUP_OK_USING'),
-				'rejectMsg' => string('SETUP_BAD_FILE'),
-				'PrefSize' => 'large',
-			},
-
-			'itunes_library_music_path' => {
-				'validate' => \&Slim::Utils::Validate::isDir,
-				'validateArgs' => [1],
-				'changeIntro' => string('SETUP_OK_USING'),
-				'rejectMsg' => string('SETUP_BAD_DIRECTORY'),
-				'PrefSize' => 'large',
-			},
-		}
-	);
-
-	return \%setupCategory;
-}
-
 sub strings {
 	return '';
 }

Added: trunk/server/Plugins/iTunes/Settings.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/iTunes/Settings.pm?rev=10803&view=auto
==============================================================================
--- trunk/server/Plugins/iTunes/Settings.pm (added)
+++ trunk/server/Plugins/iTunes/Settings.pm Thu Nov 30 14:03:21 2006
@@ -1,0 +1,78 @@
+package Plugins::iTunes::Settings;
+
+# SlimServer Copyright (C) 2001-2006 Slim Devices Inc.
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License,
+# version 2.
+
+use strict;
+use base qw(Slim::Web::Settings);
+
+use Slim::Utils::Log;
+use Slim::Utils::Misc;
+use Slim::Utils::Strings qw(string);
+
+my $log = Slim::Utils::Log->addLogCategory({
+	'category'     => 'plugin.itunes',
+	'defaultLevel' => 'WARN',
+});
+
+sub name {
+        return 'ITUNES';
+}
+
+sub page {
+        return 'plugins/iTunes/settings/itunes.html';
+}
+
+sub handler {
+        my ($class, $client, $params) = @_;
+
+	# These are lame preference names.
+	my @prefs = qw(
+		itunes
+		itunesscaninterval
+		ignoredisableditunestracks
+		itunes_library_xml_path
+		itunes_library_music_path
+		iTunesplaylistprefix
+		iTunesplaylistsuffix
+	);
+
+	# Cleanup the checkbox
+	$params->{'itunes'} = defined $params->{'itunes'} ? 1 : 0;
+
+	if ($params->{'submit'}) {
+
+		if ($params->{'itunes'} != Slim::Utils::Prefs::get('itunes')) {
+
+			for my $c (Slim::Player::Client::clients()) {
+
+				Slim::Buttons::Home::updateMenu($c);
+			}
+
+			Slim::Music::Import->useImporter('Plugin::iTunes::Plugin', $params->{'itunes'});
+		}
+
+		for my $pref (@prefs) {
+
+			# XXX - need validation!
+			#'itunesscaninterval' => { 'validate' => \&Slim::Utils::Validate::number, },
+			#'itunes_library_xml_path' => { 'validate' => \&Slim::Utils::Validate::isFile, },
+			#'itunes_library_music_path' => { 'validate' => \&Slim::Utils::Validate::isDir, },
+
+			Slim::Utils::Prefs::set($pref, $params->{$pref});
+		}
+	}
+
+	for my $pref (@prefs) {
+
+		$params->{'prefs'}->{$pref} = Slim::Utils::Prefs::get($pref);
+        }
+
+        return $class->SUPER::handler($client, $params);
+}
+
+1;
+
+__END__

Propchange: trunk/server/Plugins/iTunes/Settings.pm
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/server/Plugins/iTunes/Settings.pm
------------------------------------------------------------------------------
    svn:keywords = Id Author LastChangedDate LastChangedBy

Propchange: trunk/server/Plugins/iTunes/Settings.pm
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: trunk/server/Slim/Utils/PluginManager.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Utils/PluginManager.pm?rev=10803&r1=10802&r2=10803&view=diff
==============================================================================
--- trunk/server/Slim/Utils/PluginManager.pm (original)
+++ trunk/server/Slim/Utils/PluginManager.pm Thu Nov 30 14:03:21 2006
@@ -26,7 +26,6 @@
 use Slim::Utils::Prefs;
 use Slim::Utils::Unicode;
 
-my $addGroups = 0;
 my $plugins_read;
 my @pluginDirs = ();
 my @pluginRootDirs = ();
@@ -96,7 +95,6 @@
 sub init {
 	no strict 'refs';
 	initPlugins() unless $plugins_read;
-	addSetupGroups() unless $addGroups;
 }
 
 sub enabledPlugins {
@@ -187,7 +185,7 @@
 }
 
 sub initPlugins {
-	return if $plugins_read || $addGroups;
+	return if $plugins_read;
 
 	my %disabledplugins = map { $_ => 1 } Slim::Utils::Prefs::getArray('disabledplugins');
 
@@ -196,15 +194,28 @@
 		next if (exists $disabledplugins{$plugin});
 
 		if (addPlugin($plugin, \%disabledplugins)) {
+
 			addMenus($plugin, \%disabledplugins);
 			addScreensavers($plugin, \%disabledplugins);
 			addDefaultMaps($plugin, \%disabledplugins);
 			addWebPages($plugin, \%disabledplugins);
-		}
-
-	}
-
-	$plugins_read = 1 unless Slim::Utils::Prefs::get('plugins-onthefly');
+
+			# Add any template directories.
+			my $path = ($plugin =~ /^(.+?)::/) ? $1 : $plugin;
+
+			for my $plugindir (pluginDirs()) {
+
+				my $htmldir = catdir($plugindir, $path, "HTML");
+
+				if (-r $htmldir) {
+
+					Slim::Web::HTTP::addTemplateDirectory($htmldir);
+				}
+			}
+		}
+	}
+
+	$plugins_read = 1;
 }
 
 sub canPlugin {
@@ -470,15 +481,6 @@
 				Slim::Web::HTTP::addPageFunction($urlbase . $page, $pagesref->{$page});
 			}
 
-			# Add any template directories that may exist for the plugin
-			for my $plugindir (pluginDirs()) {
-				my $htmldir = catdir($plugindir, $path, "HTML");
-
-				if (-r $htmldir) {
-					Slim::Web::HTTP::addTemplateDirectory($htmldir);
-				}
-			}
-
 			if ($index) {
 				Slim::Web::Pages->addPageLinks("plugins", { $plugins{$plugin}->{'name'} => $urlbase . $index });
 			}
@@ -490,76 +492,12 @@
 
 	$log->info("Resetting plugins.");
 
-	$addGroups = 0;
 	$plugins_read = 0;
 }
 
 sub clearPlugins {
 	%plugins = {};
 	clearGroups();
-}
-
-sub addSetupGroups {
-	no strict 'refs';
-	
-	my %disabledplugins = map { $_ => 1 } Slim::Utils::Prefs::getArray('disabledplugins');
-
-	return if $addGroups;
-
-	for my $plugin (keys %{installedPlugins()}) {
-		my ($groupRef, $prefRef, $isClient, $noSetupGroup);
-
-		if (UNIVERSAL::can("Plugins::${plugin}","setupGroup")) {
-			($groupRef, $prefRef, $isClient) = eval { &{"Plugins::${plugin}::setupGroup"}() };
-			$noSetupGroup = $@;
-		}
-
-		if ($noSetupGroup) {
-
-			$log->warn("Can't get setup group for plugin $plugin : $noSetupGroup");
-
-			next;
-		}
-
-		if ($groupRef && $prefRef && exists($plugins{$plugin})) {
-			my %params = (
-				'title'      => $plugins{$plugin}->{'name'},
-				'parent'     => 'BASIC_SERVER_SETTINGS',
-				'Groups'     => { 'Default' => $groupRef },
-				'GroupOrder' => ['Default'],
-				'Prefs'      => $prefRef
-			);
-
-			my $menu = 'PLUGINS';
-			if (UNIVERSAL::can("Plugins::${plugin}","addMenu")) {
-				$menu = eval { &{"Plugins::${plugin}::addMenu"}() };
-				$menu = 'PLUGINS' if (not $menu || $@);
-			}
-	
-			if (defined $isClient && $isClient) {
-				if ($menu eq 'PLUGINS') {
-					$menu = 'PLAYER_PLUGINS';
-					$params{'parent'} = 'BASIC_PLAYER_SETTINGS';
-					#Slim::Web::Pages->addPageLinks("playerplugin",{"$plugins{$plugin}->{'name'}"  => "setup.html?page=$plugins{$plugin}->{'name'}"});
-				}
-				$playerplugins{$plugins{$plugin}->{'name'}} = not exists $disabledplugins{$plugin};
-			}
-	
-			if (exists $disabledplugins{$plugin}) {
-				Slim::Web::Setup::delGroup($menu, $plugin);
-			}
-			else {
-				Slim::Web::Setup::addGroup($menu, $plugin, $groupRef, undef, $prefRef);
-				Slim::Web::Setup::addCategory("PLUGINS.${plugin}", \%params);
-				#Slim::Web::Pages->addPageLinks("plugin",{"$plugins{$plugin}->{'name'}"  => "setup.html?page=$plugins{$plugin}->{'name'}"});
-			}
-		}
-		
-		if (exists $disabledplugins{$plugin}) {
-			shutdownPlugin($plugin);
-		}
-	}
-	$addGroups = 1 unless Slim::Utils::Prefs::get('plugins-onthefly');
 }
 
 sub shutdownPlugins {

Modified: trunk/server/Slim/Utils/Prefs.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Utils/Prefs.pm?rev=10803&r1=10802&r2=10803&view=diff
==============================================================================
--- trunk/server/Slim/Utils/Prefs.pm (original)
+++ trunk/server/Slim/Utils/Prefs.pm Thu Nov 30 14:03:21 2006
@@ -172,7 +172,6 @@
 		'coverArt'		=> '',
 		'thumbSize'		=> 100,
 		'itemsPerPass'		=> 5,
-		'plugins-onthefly'	=> 0,
 		'longdateFormat'	=> q(%A, %B |%d, %Y),
 		'shortdateFormat'	=> q(%m/%d/%Y),
 		'showYear'		=> 0,

Modified: trunk/server/Slim/Web/Pages/Home.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Web/Pages/Home.pm?rev=10803&r1=10802&r2=10803&view=diff
==============================================================================
--- trunk/server/Slim/Web/Pages/Home.pm (original)
+++ trunk/server/Slim/Web/Pages/Home.pm Thu Nov 30 14:03:21 2006
@@ -101,7 +101,7 @@
 	# If our current player has digital inputs, show the menu.
 	eval { Plugins::DigitalInput::Plugin::webPages($client->hasDigitalIn) };
 
-	Slim::Utils::PluginManager::addSetupGroups();
+	#Slim::Utils::PluginManager::addSetupGroups();
 	$params->{'additionalLinks'} = \%Slim::Web::Pages::additionalLinks;
 
 	$class->addPlayerList($client, $params);

Modified: trunk/server/Slim/Web/Setup.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Web/Setup.pm?rev=10803&r1=10802&r2=10803&view=diff
==============================================================================
--- trunk/server/Slim/Web/Setup.pm (original)
+++ trunk/server/Slim/Web/Setup.pm Thu Nov 30 14:03:21 2006
@@ -1206,8 +1206,8 @@
 	}
 
 	Slim::Web::HTTP::initSkinTemplateCache();
-	Slim::Utils::PluginManager::initPlugins();
-	Slim::Utils::PluginManager::addSetupGroups();
+	#Slim::Utils::PluginManager::initPlugins();
+	#Slim::Utils::PluginManager::addSetupGroups();
 
 	$i = 0;
 

Modified: trunk/server/strings.txt
URL: http://svn.slimdevices.com/trunk/server/strings.txt?rev=10803&r1=10802&r2=10803&view=diff
==============================================================================
--- trunk/server/strings.txt (original)
+++ trunk/server/strings.txt Thu Nov 30 14:03:21 2006
@@ -2316,43 +2316,6 @@
 	PT	O cliente SlimServer inclui algumas funcionalidades extras que podem ser usadas através do controlo remoto. Pode activar ou desactivar cada uma dessas opções adicionais activando a opção junto ao nome abaixo. Para desactivar, remova a opção. Para guardar, escolha "Mudar".
 	SV	SlimServer inkluderar tilläggs-funktioner som du kan konfigurera och/eller använda via din fjärrkontroll. Tilläggen finns i Plugins-mappen och kan aktiveras eller avaktiveras var för sig. Kryssa i rutan bredvid tillägget nedan för att aktivera ett tillägg. Ta bort krysset när du vill avaktivera ett tillägg. Spara dina ändringar genom att klicka på "Ändra".
 	ZH_CN	SlimServer设有一些称为插件程序(Plugins)的额外功能。这些功能都可通过遥控器操控。您可选择激活或撤销在Plugins目录下的各类插件程序。如要激活某个插件程序,请在å
¶å¤é€‰æ¡†ä¸­æ ‡è®°ã€‚如要撤销某个插件程序,请æ¸
除å
¶å¤é€‰æ¡†ä¸­çš„æ ‡è®°ã€‚您可选择是否让服务器在每当漫游到插件程序的菜单或设置时进行插件程序扫瞄。在服务器启动时è£
载插件程序为缺省。请点击《更动》以保存您所作的设定。
-
-SETUP_PLUGINS-ONTHEFLY
-	CS	Načítat pluginy za běhu
-	DE	Plugins während der Programmausführung laden
-	EN	Load Plugins On-The-Fly
-	ES	Cargar Plugins en el momento
-	FR	Charger les modules à la volée
-	IT	Carica i Plugins al volo
-	JA	プラグインを逐次チェックする。
-	NL	Plugins direct laden
-	SV	Ladda tilläggsprogram direkt
-	ZH_CN	即时è£
载插件程序
-
-SETUP_PLUGINS-ONTHEFLY_0
-	CS	Načítat pluginy pouze při startu
-	DE	Plugins nur beim Programmstart laden
-	EN	Load Plugins at startup Only
-	ES	Cargar plugins solo al inicio
-	FR	Charger les modules au démarrage uniquement
-	HE	טען תוספים בזמן טעינת השרת
-	IT	Carica i Plugins solo alla partenza
-	JA	プラグインをスタートアップの時のみチェックする。
-	NL	Plugins alleen bij opstarten laden
-	SV	Ladda tilläggsprogram endast vid serverstart
-	ZH_CN	只在启动时è£
载插件程序
-
-SETUP_PLUGINS-ONTHEFLY_1
-	DE	Plugins während der Programmausführung laden
-	EN	Load Plugins On-The-Fly
-	ES	Cargar Plugins en el momento
-	FR	Charger les modules à la volée
-	HE	טען תוספים בעת השימוש בהם
-	IT	Carica i Plugins al volo
-	JA	プラグインを逐次チェックする。
-	NL	Plugins direct laden
-	SV	Laddar tilläggsprogram
-	ZH_CN	即时è£
载插件程序
 
 SETUP_GROUP_FORMATS_CONVERSION
 	CS	Nastavení konverze formátů



More information about the checkins mailing list