Jak na datum a čas nejenom v ASP – lokalizace funkcí
V úplně prvním článku byla publikována funkce pro zobrazení data a času nezávisle na národním nastavení serveru. Dnes si mimo jiné ukážeme, jak tuto funkci upravit pro použití ve více jazycích.
Jako základ použijeme funkci z výše zmiňovaného článku a rozšíříme ji o jeden parametr, který bude určovat, v jakém jazyce chceme datum zobrazit. V původní verzi jsme měli textové údaje o měsíci a dnu v týdnu umístěné v jednorozměrném poli. Pro více jazyků musíme použít pole dvourozměrné. Toto pole si lze představit jako tabulku, kde v každém sloupci je uvedena jedna jazyková verze.
Pro jednoduchost uvedu funkci upravenou do dvou jazykových verzí a ukáži, jak přidat jednoduchým způsobem další jazykovou verzi. Jako první krok si deklarujeme pole pro uložení názvu měsíců a dní.
|
Takto jsme si definovali jedno pole pro názvy dní a jedno pole pro názvy měsíců. V obou případech jde o dvourozměrné pole. Toto pole si lze představit jako tabulku o dvou sloupcích a dvanácti řádcích.Každém sloupci je uložena jedna jazyková verze a každý řádek odpovídá jednomu měsíci.
Po deklaraci pole si jej naplníme příslušnými hodnatami.
|
Námi vytvořená funkce bude mít oproti funkci ceskydatumcas jeden parametr navíc. Pomocí tohoto parametru určujeme jazyk, ve kterém bude psán název měsíce a název dne v týdnu. Hlavička funkce je uvedena v následují tabulce:
|
Nyní vytvoříme vlastní tělo funkce, která bude na základě předaných parametrů zobrazovat datum a čas v různých formátech a ke všemu ještě v několika jazycích.
|
Na základě parametrů co, den a plnedatum sestavíme text, který je posléze vrácen jako návratová hodnota funkce. Volba jazykové verze je provedena pomocí parametru jazyk. Tento parametr vlastně určuje, ze kterého sloupce tabulky má funkce „vzít“ název dne a měsíce.
Pro pořádek si ješte uvedeme celý kód funkce:
|
Někteří z vás si určitě položí otázku: „Jak přidat další jazyk?“ Odpověď je jednoduchá. Pouhou modifikací jednoho řádku a přidáním pole s názvy v jiném jazyce. Vlastní přidání dalšího jazyka spočívá v rozšíření velikosti pole (přidání dalšího sloupce do tabulky) a doplnění kódu, který zajistí naplnění přidaných sloupců. Následující kód obsahuje názvy dní a měsíců v němčině:
|
A na závěr ještě jedna funkce. Možná jste si všimli, že ve výpisu diskuzí jsou datum a čas formátovány poněkud nestandardním způsobem. Je to díky existenci následující funkce, které se předá jako parametr datum pro zformátování. Funkce vrátí výsledek ve formě řetězce.
|
Funkce je dostatečně komentována přímo v kódu a tak pouze uvedu jednu možnou změnu. Pokud by vám vadila 0 (nula) v případě dnů měsíců, hodin a minut, můžete ji nahradit například mezerou, anebo celou příslušnou část kódu (označená hvězdičkou na konci řádku) vypustit. Pokud však tuto část kódu vypustíte, musíte počítat s tím, že vracená délka řetězce bude variabilní, což se může mepříznivě projevit v designu vašich stránek.
Dnes jsem vám přinesl dvě podle mého názoru docela užitečné funkce pro práci s datem a časem při tvorbě webových aplikací. Výhodou těchto funkce je fakt, že jsou nezávislé na národním nastavení serveru. Tato skutečnost umožnuje bezproblémovou práci datumovými položkami a zajištuje vždy naprosto stejné zobrazení bez ohledu na server na němž jsou ASP provozována.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024 -
Vaše pošta může být špatně nastavena – svěřte ji profesionálům
13. července 2023
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024