[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