Skip to content

Commit

Permalink
Merge pull request #193 from eikek/translate-date
Browse files Browse the repository at this point in the history
Translate date
  • Loading branch information
eikek authored Jul 1, 2020
2 parents 8d98a8f + a08575a commit 3aacc33
Show file tree
Hide file tree
Showing 18 changed files with 447 additions and 183 deletions.
11 changes: 5 additions & 6 deletions modules/webapp/src/main/elm/Comp/AccountTable.elm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import Html.Attributes exposing (..)
import Html.Events exposing (onClick)
import Messages.AccountTable exposing (Texts)
import Util.Html
import Util.Time


type alias Model =
Expand Down Expand Up @@ -53,7 +52,7 @@ view texts accounts model =
]
]
, tbody []
(List.map (viewTableLine model) accounts)
(List.map (viewTableLine texts model) accounts)
]


Expand All @@ -64,8 +63,8 @@ isSelected model acc =
|> Maybe.withDefault False


viewTableLine : Model -> AccountDetail -> Html Msg
viewTableLine model acc =
viewTableLine : Texts -> Model -> AccountDetail -> Html Msg
viewTableLine texts model acc =
tr
[ onClick (Select acc)
, classList [ ( "active", isSelected model acc ) ]
Expand All @@ -79,12 +78,12 @@ viewTableLine model acc =
]
, td [] [ String.fromInt acc.loginCount |> text ]
, td []
[ Maybe.map Util.Time.formatIsoDateTime acc.lastLogin
[ Maybe.map texts.dateTime acc.lastLogin
|> Maybe.withDefault ""
|> text
]
, td []
[ Util.Time.formatIsoDateTime acc.created
[ texts.dateTime acc.created
|> text
]
]
3 changes: 1 addition & 2 deletions modules/webapp/src/main/elm/Comp/AliasTable.elm
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import Html.Attributes exposing (..)
import Html.Events exposing (onClick)
import Messages.AliasTable exposing (Texts)
import Util.Html
import Util.Time


type alias Model =
Expand Down Expand Up @@ -77,7 +76,7 @@ viewTableLine texts model alias_ =
|> text
]
, td []
[ Util.Time.formatIsoDateTime alias_.created
[ texts.dateTime alias_.created
|> text
]
]
5 changes: 3 additions & 2 deletions modules/webapp/src/main/elm/Comp/LanguageChoose.elm
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ module Comp.LanguageChoose exposing
import Comp.FixedDropdown exposing (Item)
import Html exposing (..)
import Html.Attributes exposing (..)
import Messages exposing (Language)
import Language exposing (Language)
import Messages
import Messages.FixedDropdown exposing (Texts)


Expand All @@ -24,7 +25,7 @@ type alias Msg =

init : Model
init =
List.map mkLanguageItem Messages.allLanguages
List.map mkLanguageItem Language.allLanguages
|> Comp.FixedDropdown.init


Expand Down
10 changes: 4 additions & 6 deletions modules/webapp/src/main/elm/Comp/ShareTable.elm
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import Messages.ShareTable exposing (Texts)
import Util.Html
import Util.Size
import Util.String
import Util.Time


type alias Model =
Expand Down Expand Up @@ -54,7 +53,7 @@ view texts accounts model =
]
]
, tbody []
(List.map (viewTableLine model) accounts)
(List.map (viewTableLine texts model) accounts)
]


Expand All @@ -65,8 +64,8 @@ isSelected model item =
|> Maybe.withDefault False


viewTableLine : Model -> ShareListItem -> Html Msg
viewTableLine model item =
viewTableLine : Texts -> Model -> ShareListItem -> Html Msg
viewTableLine texts model item =
tr
[ onClick (Select item)
, classList [ ( "active", isSelected model item ) ]
Expand All @@ -86,8 +85,7 @@ viewTableLine model item =
|> text
]
, td [ class "collapsing" ]
[ Util.Time.formatDateTime item.created
|> text
[ texts.dateTime item.created |> text
]
]

Expand Down
18 changes: 18 additions & 0 deletions modules/webapp/src/main/elm/Language.elm
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
module Language exposing
( Language(..)
, allLanguages
)


type Language
= English
| German
| French


allLanguages : List Language
allLanguages =
[ English
, German
, French
]
86 changes: 36 additions & 50 deletions modules/webapp/src/main/elm/Messages.elm
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
module Messages exposing
( Language(..)
, Messages
, allLanguages
( Messages
, fromFlags
, get
, toIso2
)

import Data.Flags exposing (Flags)
import Language exposing (Language(..), allLanguages)
import Messages.AccountPage
import Messages.AliasPage
import Messages.App
Expand All @@ -21,53 +20,6 @@ import Messages.SharePage
import Messages.UploadPage


type Language
= English
| German
| French


allLanguages : List Language
allLanguages =
[ English
, German
, French
]


{-| Get a ISO-3166-1 code of the given lanugage.
-}
toIso2 : Language -> String
toIso2 lang =
get lang |> .iso2


{-| Return the Language from given iso2 code. If the iso2 code is not
known, return Nothing.
-}
readIso2 : String -> Maybe Language
readIso2 iso =
let
isIso lang =
iso == toIso2 lang
in
List.filter isIso allLanguages
|> List.head


{-| Return the Language from the given iso2 code. If the iso2 code is
not known, return English as a default.
-}
fromIso2 : String -> Language
fromIso2 iso =
readIso2 iso
|> Maybe.withDefault English



-- Messages


{-| The messages record contains all strings used in the application.
-}
type alias Messages =
Expand Down Expand Up @@ -102,6 +54,35 @@ get lang =
fr


{-| Get a ISO-3166-1 code of the given lanugage.
-}
toIso2 : Language -> String
toIso2 lang =
get lang |> .iso2


{-| Return the Language from given iso2 code. If the iso2 code is not
known, return Nothing.
-}
readIso2 : String -> Maybe Language
readIso2 iso =
let
isIso lang =
iso == toIso2 lang
in
List.filter isIso allLanguages
|> List.head


{-| Return the Language from the given iso2 code. If the iso2 code is
not known, return English as a default.
-}
fromIso2 : String -> Language
fromIso2 iso =
readIso2 iso
|> Maybe.withDefault English


fromFlags : Flags -> Messages
fromFlags flags =
let
Expand All @@ -117,6 +98,10 @@ fromFlags flags =
|> get



--- Messages Definitions


gb : Messages
gb =
{ lang = English
Expand Down Expand Up @@ -156,6 +141,7 @@ de =
, settings = Messages.SettingsPage.de
}


fr : Messages
fr =
{ lang = French
Expand Down
12 changes: 11 additions & 1 deletion modules/webapp/src/main/elm/Messages/AccountTable.elm
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
module Messages.AccountTable exposing
( Texts
, de
, gb
, fr
, gb
)

import Language
import Messages.DateFormat exposing (formatDateTime)



-- AccountTable component texts


Expand All @@ -17,6 +22,7 @@ type alias Texts =
, nrLogins : String
, lastLogin : String
, created : String
, dateTime : Int -> String
}


Expand All @@ -30,6 +36,7 @@ gb =
, nrLogins = "#Logins"
, lastLogin = "Last Login"
, created = "Created"
, dateTime = formatDateTime Language.English
}


Expand All @@ -43,8 +50,10 @@ de =
, nrLogins = "#Anmeldungen"
, lastLogin = "Letzte Anmeldung"
, created = "Erstellt"
, dateTime = formatDateTime Language.German
}


fr : Texts
fr =
{ login = "Identifiant"
Expand All @@ -55,4 +64,5 @@ fr =
, nrLogins = "#Connexions"
, lastLogin = "Dernière connexion"
, created = "Créé"
, dateTime = formatDateTime Language.French
}
9 changes: 8 additions & 1 deletion modules/webapp/src/main/elm/Messages/AliasTable.elm
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
module Messages.AliasTable exposing
( Texts
, de
, gb
, fr
, gb
)

import Language
import Messages.DateFormat
import Messages.ValidityField


Expand All @@ -14,6 +16,7 @@ type alias Texts =
, validity : String
, created : String
, validityField : Messages.ValidityField.Texts
, dateTime : Int -> String
}


Expand All @@ -24,6 +27,7 @@ gb =
, validity = "Validity"
, created = "Created"
, validityField = Messages.ValidityField.gb
, dateTime = Messages.DateFormat.formatDateTime Language.English
}


Expand All @@ -34,13 +38,16 @@ de =
, validity = "Gültigkeit"
, created = "Erstellt"
, validityField = Messages.ValidityField.de
, dateTime = Messages.DateFormat.formatDateTime Language.German
}


fr : Texts
fr =
{ name = "Nom"
, enabled = "Activé"
, validity = "Validité"
, created = "Créé"
, validityField = Messages.ValidityField.fr
, dateTime = Messages.DateFormat.formatDateTime Language.French
}
Loading

0 comments on commit 3aacc33

Please sign in to comment.