module Language.Fluent.Locale where
import Data.List.NonEmpty (NonEmpty)
import Data.Scientific (Scientific)
import Data.Text (Text)
import Data.Time (UTCTime)
import Language.Fluent.Number (NumberOptions)
import Language.Fluent.Plural qualified as Plural
import Language.Fluent.Time (TimeOptions)
import Prelude
class Locale l where
fromCode :: Text -> Maybe l
toCode :: l -> Text
displayLanguage
:: l
-> l
-> Maybe Text
localDisplayLanguage :: l -> Maybe Text
localDisplayLanguage l
l = l -> l -> Maybe Text
forall l. Locale l => l -> l -> Maybe Text
displayLanguage l
l l
l
capitalise :: l -> Text -> Text
pluralCategory :: l -> Scientific -> NumberOptions -> Plural.Category
formatNumber :: NonEmpty l -> Scientific -> NumberOptions -> Either String Text
formatTime :: NonEmpty l -> UTCTime -> TimeOptions -> Either String Text