Lokalizace DLL   otázka

Architektura

Dobrý den,

chtěl bych poprosit o nastínění správného postupu lokalizace externích DLL knihoven.

Jak vytvořit samostatnou lokalizovanou assembly je mi jasné.

Jde mi spíše o tom, jakým způsobem se má z "hlavní" aplikace, která zmíněné DLL referencuje předávat nastavená jazyková kultura.

V mém případě to dělám tak, že všechny knihovny vystavují vlastnost typu Globalization.CultureInfo, kterou z hlavní aplikace nastavuji (předávám jim Threading.Thread.CurrentThread.CurrentUICulture z hlavní aplikace.

Vše funguje dle očekávání, ale raději bych se chtěl zeptat, zda je to tak správně, nebo se v praxi aplikuje nějaký jiný způsob.

Děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zřejmě nechápete, jak to funguje. Projekt Class Library (DLL) má Resources stejně jako obyčejná aplikace. Použijete-li v některé metodě knihovny = My.Resources.Něco, vytáhne se z Resources této knihovny příslušný Resource v kultuře, která je uvedená v Thread.CurrentThread.CurrentUICulture. Není tedy potřeba kvůli tomu budovat žádnou infrastrukturu (psát kód), dělá se to automaticky.

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět

Dobrý den,

děkuji Vám za odpověď. Již je to jasné. Postačuje tedy změnit jazyk v aplikaci a v případě, že referencované knihovny jsou rovněž lokalizované, dojde automaticky k překladu řetězců v nich obsažených.

Děkuji Vám za odpověď.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

V podstatě ano, ale: Každé vlákno má svojí vlastní kulturu, která se dědí z nadřazeného vlákna. Pokud hned na začátku nastavíte nějakou kulturu hlavnímu vláknu, potom jí zdědí všechny ostatní. Ale pozor, nemyslete si, že když změníte kulturu za běhu aplikace, tak se budou načítat Resources v této nové kultuře. Tak to bohužel nefunguje (alespoň to nešlo ve Frameworku 3.5). Jak to obejít je zde: http://www.codeproject.com/Articles/2369...

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Dobrý den,

ještě jednou Vám děkuji za odpověď i podnětný článek, který si samozřejmě rád nastuduji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback