Lokalizace řetězců   zodpovězená otázka

Architektura, .NET

Dobrý den,

Potřeboval bych trochu pomoci s lokalizací řetězců na formu, řešilo se to na http://www.vbnet.cz/forum-tema--1905-mul...

S lokalizací prvků problém není to dělá designér sám bez zásahu do resx.

Ale nevím jestli jsem správně pochopil lokalizaci řetězců.

Do projektu musím přidat pro každou kulturu jeden resx soubor a v projektu se pak na něj odkazovat ?

>> Zjistit jakou kulturu mám právě navolenou a na jejím základě vybrat string z konkrétního resx souboru ?

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

Celá aplikace má neutrální jazykovou kulturu, což je jazyk, ve kterém by měla být celá aplikace bez jakékoliv lokalizace (ideálně angličtina). Lokalizované řetězce z formulářů se automaticky ukládají do sattelite assemblies, což jsou DLL obsahující lokalizované texty (jedno DLL pro jeden jazyk). Řetězce, které používáte v aplikaci se definují ve vlastnostech projektu na kartě Resources a tyto mají být v neutrální kultuře. Pokud chcete přidat lokalizované řetězce, musíte do projektu ručně přidat Resources File a pojmenovat ho podle příslušné jazykové kultury. Tento resx soubor se potom upravuje stejně jako Resources ve vlastnostech projektu a položky v něm se musí jmenovat stejně. Máte-li tedy neutrální kulturu například češtinu a chcete anglickou lokalizaci, přidáte soubor Resources.en.resx do projektu a zkopírujete do něj položky z Resources ve vlastnostech projektu.

Resources se potom používají klasicky pomocí My.Resources.Něco a jazyk se automaticky vybere podle My.Application.UICulture, který se nastavuje automaticky při spuštění aplikace podle jazyku uživatelského rozhraní operačního systému. Takže v anglickém Windows se automaticky vybere anglický resource, v českém český resource. Pokud chcete vynutit jinou kulturu než tu systémovou, musíte jí při spuštění nastavit pomocí My.Application.ChangeUICulture.

Dávejte si ale pozor u aplikací pro mobilní zařízení, tam to funguje trochu jinak.

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

Děkuji za vyčerpávající odpověď.

Tentokráte to nemám pro CF. NET.

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