Index: Slim/Utils/PluginManager.pm =================================================================== --- Slim/Utils/PluginManager.pm (revision 11841) +++ Slim/Utils/PluginManager.pm (working copy) @@ -238,20 +238,28 @@ } # load up the localized strings, if available - my $strings = eval { &{$fullname . "::strings"}() }; + my $stringfunc = eval { &{$fullname . "::strings"}() }; - if (!$@ && $strings) { - # flag strings as UTF8 - if ($] > 5.007) { - $strings = pack "U0C*", unpack "C*", $strings; - } else { - # for the 5.6 laggers. - if (Slim::Utils::Unicode::currentLocale() =~ /^iso-8859/) { - $strings = Slim::Utils::Unicode::utf8toLatin1($strings); + my $strings; + if (!$@ && $stringfunc) { + + for my $dir (Slim::Utils::Strings::stringsDirs()) { + $strings = ${ Slim::Utils::Strings::load_strings_file(catdir($dir,'Plugins',$plugin,'strings.txt')) }; + + if (!$@ && $strings) { + # flag strings as UTF8 + if ($] > 5.007) { + $strings = pack "U0C*", unpack "C*", $strings; + } else { + # for the 5.6 laggers. + if (Slim::Utils::Unicode::currentLocale() =~ /^iso-8859/) { + $strings = Slim::Utils::Unicode::utf8toLatin1($strings); + } + } + + Slim::Utils::Strings::addStrings(\$strings); } } - - Slim::Utils::Strings::addStrings(\$strings); } my $displayName = eval { &{$fullname . "::getDisplayName"}() }; Index: Plugins/Rescan.pm =================================================================== --- Plugins/Rescan.pm (revision 11841) +++ Plugins/Rescan.pm (working copy) @@ -328,7 +328,7 @@ }; sub strings { - return ${ Slim::Utils::Strings::load_strings_file('Plugins/Rescan/strings.txt') }; + return 'strings.txt'; } 1;