🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #10108

Przegladanie Satellite Assemblies z poziomu kodu

#10108
From: Hilarion
Date: Thu, 17 Nov 2005 16:45
38 lines
3167 bytes
    Hejka

    Szukam tego w MSDNie, Google'uję, łażę po różnych CodeGuru itp.
i nie mogę tego znaleźć. Czego szukam? Metody na wylistowanie z poziomu
kodu aplikacji jej wszystkich dostępnych Satellite Assembly (tzn.
kultur dla jakich są).
    Konstruuję sobie przykładową aplikację wielojęzyczną. Visual Studio
2003 całkiem nieźle wspomaga robienie wielojęzycznych formatek,
natomiast nad dorobieniem wielojęzycznych komunikatów i nad możliwością
przełączania się między kulturami podczas pracy aplikacji bez rekreowania
formatek trzeba się już pobiedzić ręcznie (jak macie proste i sprawdzone
rozwiązanie tej kwestii, to też chętnie posłucham). To wszystko jednak udało
mi się jakoś rozwiązać. Problem w tym, że chciałbym do aplikacji dodać
dynamiczne menu, które pokazywałoby listę obsługiwanych (a więc dostępnych
w Satellite Assembly i w samym Assembly aplikacji) kultur.
    Pewnym rozwiązaniem jest przeglądnięcie folderów znajdujących
się w folderze aplikacji, ale nie jest to zbyt dobre rozwiązanie. Dlaczego?
W końcu w folderze aplikacji mogą być nie tylko foldery z Satellite Assembly,
ale też kupa innych. Poza tym foldery mogą nie zawierać Satellite Assembly
nadającego się do aplikacji (różnica wersji lub podpisu). Dodatkowo
Satellite Assembly może być umieszczone w GAC - wtedy jest dostępne dla
aplikacji, ale nie ma go w jej folderze.
    Drugim rozwiązaniem jakie przyszło mi do głowy jest umieszczenie
nakazanie ResourceManagerowi zwrócenia ResourceSet dla danej kultury
z wyłączeniem Parent Culture lub użyć metody GetSatelliteAssembly
głównego Assembly (pytanie, czy to zwróci nam również Assembly z GAC
oraz główne Assembly dla wyspecyfikowanego w nim NeutralResourcesLanguage).
Wadą tego rozwiązania jest konieczność przeglądnięcia wszystkich istniejących
kultur oraz (chyba przy korzystaniu z ResourceSet) załadowanie w ten sposób
wszystkich zasobów (podczas gdy nie będą one faktycznie używane).
    Oczywiście nie oczekuję gotowych rozwiązań czy w ogóle jakichkolwiek
pomysłów (chociaż będą one mile widziane). Wystarczy jeśli pomożecie
w odnalezieniu takowych w Internecie podając jakiegoś linka lub coś w ten
deseń.
    Z góry dziękuję.

    Hilarion 
Technical Details
Message-ID: <dlic0f$f7m$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
From: "Hilarion" <hilarion@SPAM.op.SMIECI.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Przegladanie Satellite Assemblies z poziomu kodu
Date: Thu, 17 Nov 2005 17:45:04 +0100
Organization: Onet.pl
Lines: 39
Message-ID: <dlic0f$f7m$1@news.onet.pl>
NNTP-Posting-Host: h44.elfin.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1132245839 15606 213.25.37.44 (17 Nov 2005 16:43:59 GMT)
X-Complaints-To: usenet@news.onet.pl
NNTP-Posting-Date: Thu, 17 Nov 2005 16:43:59 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
X-Sender: 9KSiimrLScNqWiVTMiVMJQ==
X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
X-Priority: 3
X-MSMail-Priority: Normal
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit