Опубликован: 19.09.2008 | Доступ: платный | Студентов: 12 / 2 | Оценка: 4.50 / 5.00 | Длительность: 21:25:00
Лекция 26:

Локализация

< Лекция 25 || Лекция 26 || Лекция 27 >
Аннотация: Языком Haskell занимаются по всему миру и адаптировать язык под каждую страну очень сложно. Для этого придумали библиотеку Local, котороя позволяет настроить программу под какие-то определенные национальные особенности. Именно эту библиотеку мы изучем в этой лекции

module Locale(TimeLocale(..), defaultTimeLocale) where

data TimeLocale = TimeLocale {
        wDays  :: [(String, String)],   - полные и сокращенные названия дней недели
        months :: [(String, String)],   - полные и сокращенные названия месяцев
        amPm   :: (String, String),     - символы AM/PM (a.m. - до полудня, p.m. - после полудня)
        dateTimeFmt, dateFmt,           - строки форматирования
          timeFmt, time12Fmt :: String     
        } deriving (Eq, Ord, Show)

defaultTimeLocale :: TimeLocale

Библиотека Locale предоставляет возможность адаптировать программу к национальным особенностям. В настоящее время она поддерживает только информацию о дате и времени, которая используется функцией calendarTimeToString из библиотеки Time.

25.1. Библиотека Locale

module Locale(TimeLocale(..), defaultTimeLocale) where

data TimeLocale = TimeLocale {
        wDays  :: [(String, String)],   - полные и сокращенные названия дней недели
        months :: [(String, String)],   - полные и сокращенные названия месяцев
        amPm   :: (String, String),     - символы AM/PM (a.m. - до полудня, p.m. - после полудня)
        dateTimeFmt, dateFmt,           - строки форматирования
          timeFmt, time12Fmt :: String     
        } deriving (Eq, Ord, Show)

defaultTimeLocale :: TimeLocale 
defaultTimeLocale =  TimeLocale { 
        wDays  = [("Sunday",   "Sun"),  ("Monday",    "Mon"),   
                  ("Tuesday",  "Tue"),  ("Wednesday", "Wed"), 
                  ("Thursday", "Thu"),  ("Friday",    "Fri"), 
                  ("Saturday", "Sat")],

        months = [("January",   "Jan"), ("February",  "Feb"),
                  ("March",     "Mar"), ("April",     "Apr"),
                  ("May",       "May"), ("June",      "Jun"),
                  ("July",      "Jul"), ("August",    "Aug"),
                  ("September", "Sep"), ("October",   "Oct"),
                  ("November",  "Nov"), ("December",  "Dec")],

        amPm = ("AM", "PM"),
        dateTimeFmt = "%a %b %e %H:%M:%S %Z %Y",
        dateFmt = "%m/%d/%y",
        timeFmt = "%H:%M:%S",
        time12Fmt = "%I:%M:%S %p"
        }
< Лекция 25 || Лекция 26 || Лекция 27 >