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.
|