fluent-1.0.0: src/Language/Fluent.hs
{-# LANGUAGE Trustworthy #-}
-- |
-- Module : Language.Fluent
-- Copyright : (c) 2026 Institute for Digital Autonomy
-- License : EUPL-1.2
-- Maintainer : IDA
--
-- <https://projectfluent.org Project Fluent> is a localisation system designed
-- to unleash the entire expressive power of natural language translations.
--
-- This library provides the core Fluent translation machinery to go from parsed
-- 'Resource's to translated messages:
--
-- * the 'Locale' typeclass which supplies locale-specific operations
-- * the 'Bundle' type which combines 'Locale's with parsed 'Resources'
-- * the 'Translate' typeclass which translates messages from a 'Bundle'
--
-- This library does not provide any concrete instances of 'Locale'.
-- It is not intended to be used directly for translating messages.
--
-- Applications should instead use a library built on top of this one, such as:
--
-- * <https://hackage.package.org/package/fluent-icu fluent-icu>,
-- backed by <https://hackage.package.org/package/text-icu text-icu>
-- * <https://hackage.package.org/package/miso-fluent miso-fluent>,
-- backed by the browser's @Intl@ API
module Language.Fluent
( module Language.Fluent.AST
, module Language.Fluent.Bundle
, module Language.Fluent.Locale
, module Language.Fluent.Number
, module Language.Fluent.Parser
, module Language.Fluent.Pattern
, module Language.Fluent.Plural
, module Language.Fluent.TH
, module Language.Fluent.Time
, module Language.Fluent.Translate
, module Language.Fluent.Value
, module Language.Fluent.Width
)
where
import Language.Fluent.AST (Identifier, Resource)
import Language.Fluent.Bundle (Bundle (..), Override (..), bundle)
import Language.Fluent.Locale
import Language.Fluent.Number
( CurrencyDisplay (..)
, NumberOptions (..)
, Style (..)
, numberOptions
)
import Language.Fluent.Parser (parseResource)
import Language.Fluent.Pattern (Pattern (..), PatternElement (..))
import Language.Fluent.Plural (Form (..))
import Language.Fluent.TH (fluent, messageIdentifiers)
import Language.Fluent.Time (Digits (..), TimeOptions (..), timeOptions)
import Language.Fluent.Translate (Reference (..), Translate (..))
import Language.Fluent.Value (CustomValue (..), SomeValue (..), Value (..))
import Language.Fluent.Width (Width (..))