Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Téměř každá aplikace v produkční kvalitě musí používat prostředky. Zdroj je veškerá nespustitelná data, která jsou logicky nasazena s aplikací. V aplikaci se může prostředek zobrazit buď jako chybová hlášení, nebo jako součást uživatelského rozhraní. Prostředky můžou obsahovat data v řadě forem, včetně řetězců, obrázků a perzistentních objektů. (Chcete-li zapisovat trvalé objekty do souboru prostředků, musí být objekty serializovatelné.) Ukládání dat do souboru prostředků umožňuje měnit data bez nutnosti rekompilování celé aplikace. Umožňuje také ukládat data do jednoho umístění a eliminuje nutnost spoléhat se na pevně zakódovaná data uložená v několika umístěních.
.NET poskytuje komplexní podporu pro vytváření a lokalizaci prostředků. Rozhraní .NET navíc podporuje jednoduchý model pro balení a nasazování lokalizovaných prostředků.
Vytváření a lokalizace prostředků
V nelokalizované aplikaci můžete použít soubory prostředků jako úložiště pro data aplikace, zejména pro řetězce, které by jinak mohly být pevně zakódovány na několika místech ve zdrojovém kódu aplikace. Nejčastěji vytváříte prostředky jako textové soubory (.txt) nebo XML (.resx) a pomocí Resgen.exe (Generátor souborů prostředků) je zkompilujete do binárních souborů .resources. Tyto soubory pak mohou být vloženy do spustitelného souboru aplikace kompilátorem jazyka. Další informace o vytváření prostředků najdete v tématu Vytváření souborů prostředků.
Prostředky aplikace můžete také lokalizovat pro konkrétní kultury. Díky tomu můžete vytvářet lokalizované (přeložené) verze vašich aplikací. Při vývoji aplikace, která používá lokalizované prostředky, určíte jazykovou verzi, která slouží jako neutrální nebo záložní jazyková verze, jejíž prostředky se používají, pokud nejsou k dispozici žádné vhodné prostředky. Prostředky neutrální kultury se obvykle ukládají do spustitelného souboru dané aplikace. Zbývající prostředky pro jednotlivé lokalizované kultury se ukládají do samostatných satelitních sestav. Další informace naleznete v tématu Vytváření satelitních sestavení.
Balení a nasazování prostředků
Lokalizované prostředky aplikace nasadíte do satelitních sestavení. Satelitní sestavení obsahuje prostředky jedné kulturní verze; neobsahuje žádný kód aplikace. V modelu nasazení satelitního sestavení vytvoříte aplikaci s jedním výchozím sestavením (což je obvykle hlavní sestavení) a jedním satelitním sestavením pro každou jazykovou verzi, kterou aplikace podporuje. Vzhledem k tomu, že satelitní sestavení nejsou součástí hlavního sestavení, můžete snadno nahradit nebo aktualizovat prostředky odpovídající konkrétní jazykové verzi bez nahrazení hlavního sestavení aplikace.
Pečlivě určete, které prostředky tvoří výchozí sestavení prostředků vaší aplikace. Vzhledem k tomu, že je součástí hlavního sestavení, všechny změny v něm budou vyžadovat nahrazení hlavního sestavení. Pokud nezadáte výchozí prostředek, při pokusu o jeho nalezení dojde k výjimce. V dobře navržené aplikaci by použití prostředků nikdy nemělo vyvolat výjimku.
Další informace najdete v článku Balení a nasazení prostředků .
Získat prostředky
V době běhu aplikace načte příslušné lokalizované prostředky na základě jednotlivých vláken na základě jazykové verze určené vlastností CultureInfo.CurrentUICulture . Tato hodnota vlastnosti je odvozena takto:
Přímým přiřazením objektu CultureInfo, který představuje lokalizovanou kulturu, k vlastnosti Thread.CurrentUICulture.
Pokud kultura není explicitně přiřazena, pak se vrátí výchozí kultura uživatelského rozhraní vlákna z vlastnosti CultureInfo.DefaultThreadCurrentUICulture.
Pokud není výchozí kultura uživatelského rozhraní vlákna explicitně přiřazena, je použita kultura aktuálního uživatele na místním počítači. Implementace .NET spuštěné ve Windows to dělají voláním funkce Windows
GetUserDefaultUILanguage
.
Další informace o tom, jak je nastavená aktuální jazyková verze uživatelského rozhraní, najdete na referenčních stránkách CultureInfo a CultureInfo.CurrentUICulture.
Prostředky pro aktuální kulturní prostředí uživatelského rozhraní nebo pro konkrétní kulturní prostředí pak můžete načíst pomocí třídy System.Resources.ResourceManager. I když se ResourceManager třída nejčastěji používá k načítání prostředků, System.Resources obor názvů obsahuje další typy, které můžete použít k načtení prostředků. Patří mezi ně:
Třída ResourceReader , která umožňuje vytvořit výčet prostředků vložených do sestavení nebo uložené v samostatném binárním souboru .resources. Je to užitečné, když neznáte přesné názvy prostředků, které jsou k dispozici během spuštění.
Třída ResXResourceReader, která vám umožňuje načíst prostředky ze souboru XML (.resx).
Třída ResourceSet, která umožňuje získat prostředky pro konkrétní jazykovou kulturu bez použití zásad náhrady. Prostředky mohou být uloženy v sestavení nebo samostatném binárním souboru .resources. Můžete také vyvinout implementaci IResourceReader , která umožňuje použít ResourceSet třídu k načtení prostředků z jiného zdroje.
Třída ResXResourceSet , která umožňuje načíst všechny položky v souboru prostředků XML do paměti.