taip, labai panasu vaizdeli ir mes kure esam
gal DisplayNameAttribute ir DescriptionAttribute naudojami kaip
paprasciausias budas pvz. property name padaryti is daugiau ne vieno zodzio
(na, jei kode "ManoMiestas", o PropertyGrid'e kad butu parasyta "Mano
miestas"; gal be reikalo as cia keliau triuksma; nepamenu
o del to, kad "nepatiko negalejimas sukurt universalios vienos klases kuri
tiktu bet kokiam assembly" - tai ar neiseina metoduose get (o gal ir set)
pabandyti paieskoti kaip su kokiu RTTI informacijos: kokiame modulyje yra
klase, ir krauti reikiamos lokalizacijos *.resx bylos string'o turini?
Manager'iai .NET itariu turtingesni galimybemis nei koks RTTI.
"Jornada Del Muerto" <Jornada@Lythum.lt> wrote in message
news:ifq47e$acg$1@trimpas.omnitel.net...
>> a siaip, jei teisingai pamenu, tai gal ne tik viena ale ir dvi funkcijos
>> buvo skirtos kalbai keisti;
>> nepamenu tiksliai
>
> Sveiks,
>
> Na taip kas liecia:
>
> 1. ComponentModel ir PropertyGrid tai visumoje reikejo susikurti savo
> DisplayNameAttribute ir DescriptionAttribute veldint nuo esamu
> System.ComponentModel, tai man ne idealus sprendimas, nes rasant headerius
> negalima nurodyt nieko isskyrus konstantas, kas padaro sias klases ne
> universaliom, nes viduje ju tenka dirbti su
> Properties.Resources.ResourceManager kur tas resursas yra konkretus to
> assembly resursas, jei tas klases apsirasau kazkokiam lib'e tai jos dirbs
> tik su to assembly resursu failu.
>
> Jeigu turiu Resources.resx (tipo neutral, pvz.english) irasa pvz:
>
> SomeDialogName - "Hello!", o Resources.lt.resx tai butu "Sveiki!";
>
> tai aprasant toki property rasosi:
>
> [MyCustomDisplayName("SomeDialogName")]
> public string Hello
> {
> get .. set...
> }
>
> 2. Ko as butent ir klausiau pirmame paciame post'e - kaip perjungt
> kazkokia kalba - darosi labai paprastai:
>
> // LT Localization
> System.Threading.Thread.CurrentThread.CurrentUICulture =
> new System.Globalization.CultureInfo ("lt");
>
> Ir viskas persijungs pagal lt koda, ta prasme jei assembly tures
> Resources.lt.resx tai dirbs su jais, jei ten neras tokio string tai manau
> ims is Resources.resx ir viskas.
>
>
> PS. Dabar kaip ir viskas veikia, gal kiek nepatiko negalejimas sukurt
> universalios vienos klases kuri tiktu bet kokiam assembly, bet jeigu
> padarius atskira lokalizacijos dll tai gal irgi visai nieko sprendimas
> butu, ta prasme tik jame laikant visus stringus kiek tik naudojasi kur
> nors ir po to visur naudoti is jo juos ir tik ten tureti
> DisplayNameAttribute ir DescriptionAttribute, tai viens bent is galimu
> sprendimu.
>
> JDM.
>
>
>
>