Skip to content

Commit

Permalink
Add Czech localization + date format (#420)
Browse files Browse the repository at this point in the history
* Add Czech localization + date format

* Fix expose Czech date format

* Fix syntax errors
  • Loading branch information
mdobes authored Dec 11, 2023
1 parent 15e7252 commit a08542e
Show file tree
Hide file tree
Showing 3 changed files with 198 additions and 0 deletions.
168 changes: 168 additions & 0 deletions ui/web/src/Localization/Cz.elm
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
module Localization.Cz exposing (czLocalization, czTranslations)

import Localization.Base exposing (..)
import Util.DateFormat exposing (..)


czLocalization : Localization
czLocalization =
{ t = czTranslations
, dateConfig = czDateConfig
}


czTranslations : Translations
czTranslations =
{ search =
{ search = "Hledat"
, start = "Start"
, destination = "Cíl"
, date = "Datum"
, time = "Čas"
, startTransports = "Doprava na startu"
, destinationTransports = "Doprava v cíli"
, departure = "Odjezd"
, arrival = "Příjezd"
, trainNr = "Číslo vlaku"
, maxDuration = "Max. délka (minuty)"
, searchProfile =
{ profile = "Profil"
, walkingSpeed = "Rychlost chůze (m/s)"
, stairsUp = "Schody (nahoru)"
, stairsDown = "Schody (dolů)"
, stairsWithHandrailUp = "Schody se zábradlím (nahoru)"
, stairsWithHandrailDown = "Schody se zábradlím (dolů)"
, timeCost = "Časová náročnost"
, accessibilityCost = "Přístupnost"
, streetCrossings = "Přechody pro chodce"
, signals = "Semafory"
, marked = "Přechody pro chodce"
, island = "Osrůvky"
, unmarked = "Neoznačené"
, primary = "Primární"
, secondary = "Sekundární"
, tertiary = "Terciální"
, residential = "Rezidenční"
, elevationUp = "Výškový rozdíl (nahoru)"
, elevationDown = "Výškový rozdíl (dolů)"
, roundAccessibility = "Round accessibility"
, elevators = "Výtahy"
, escalators = "Eskalátory"
, movingWalkways = "Pohyblivé chodníky"
}
, useParking = "Použít parkoviště"
}
, connections =
{ timeHeader = "Čas"
, durationHeader = "Jízdní doba"
, transportsHeader = "Transports"
, scheduleRange =
\begin end ->
"Možné rozmezí dat: "
++ formatDate enDateConfig begin
++ ""
++ formatDate enDateConfig end
, loading = "Hledám..."
, noResults = "Nebyla nalezena žádná spojení"
, extendBefore = "Dřívější"
, extendAfter = "Pozdější"
, interchanges =
\count ->
case count of
0 ->
"Bez přestupů"

1 ->
"1 přestup"

2 ->
"2 přestupy"

3 ->
"3 přestupy"

4 ->
"4 přestupy"

_ ->
toString count ++ " přestupů"
, walkDuration = \duration -> duration ++ " chůže"
, interchangeDuration = \duration -> duration ++ " přestup"
, arrivalTrack = \track -> "Arrival track " ++ track
, track = "Track"
, tripIntermediateStops =
\count ->
case count of
0 ->
"Bez mezizastávek"

1 ->
"1 mezizastávka"

2 ->
"2 mezizastávky"

3 ->
"3 mezizastávky"

4 ->
"4 mezizastávky"

_ ->
toString count ++ " mezizastávek"
, tripWalk = \duration -> "Chůze (" ++ duration ++ ")"
, tripBike = \duration -> "Jízdní kolo (" ++ duration ++ ")"
, tripCar = \duration -> "Car (" ++ duration ++ ")"
, provider = "Dopravce"
, walk = "Walk"
, bike = "Jízdní kolo"
, car = "Car"
, trainNr = "Číslo vlaku"
, lineId = "Linka"
, parking = "Parkování"
}
, station =
{ direction = "Směr"
, noDepartures = "Žádné odjezdy"
, noArrivals = "Žádné příjezdy"
, loading = "Načítám..."
, trackAbbr = "Nást."
}
, railViz =
{ noTrains = "Žádné vlaky"
, delayColors = "Podle zpoždení"
, classColors = "Podle kategorie"
, simActive = "Mód simulace aktivní"
}
, mapContextMenu =
{ routeFromHere = "Trasa odtud"
, routeToHere = "Trasa sem"
}
, errors =
{ journeyDateNotInSchedule = "Datum není v jízdních řádech"
, internalError = \msg -> "Interní chyba (" ++ msg ++ ")"
, timeout = "Časový limit odpovědi vypršel"
, network = "Chyba sítě"
, http = \code -> "HTTP chyba " ++ toString code
, decode = \msg -> "Neplatná odpověď (" ++ msg ++ ")"
, moduleNotFound = "Modul nenalezen"
, osrmProfileNotAvailable = "OSRM: Profil není dostupný"
, osrmNoRoutingResponse = "OSRM: Žádná odpověď trasování"
, pprProfileNotAvailable = "PPR: Profil není dostupný"
}
, trips =
{ noResults = "Nebyl nalezen žádný odpovídající vlak"
}
, misc =
{ permalink = "Trvalý odkaz" }
, simTime =
{ simMode = "Mód simulace"
}
, searchProfiles =
{ default = "Výchozí"
, accessibility1 = "Zahrnout přístupné trasy"
, wheelchair = "Invalidní vozík"
, elevation = "Vyhněte se výškovým změnám"
, custom = "Vlastní"
}
}
4 changes: 4 additions & 0 deletions ui/web/src/Main.elm
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ import Localization.En exposing (..)
import Localization.Fr exposing (..)
import Localization.Pl exposing (..)
import Localization.Es exposing (..)
import Localization.Cz exposing (..)
import Maybe.Extra exposing (isJust, isNothing, orElse)
import Navigation exposing (Location)
import Port
Expand Down Expand Up @@ -1094,6 +1095,9 @@ getLocale language =
"es" ->
esLocalization

"cz" ->
czLocalization

_ ->
deLocalization

Expand Down
26 changes: 26 additions & 0 deletions ui/web/src/Util/DateFormat.elm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ module Util.DateFormat exposing
, durationText
, enDateConfig
, esDateConfig
, czDateConfig
, formatDate
, formatDateTime
, formatDateTimeWithSeconds
Expand Down Expand Up @@ -139,6 +140,31 @@ esDateConfig =
]
}

czDateConfig : DateConfig
czDateConfig =
{ seperator = "."
, shortFormatTrailingSeperator = "."
, yearPos = 2
, monthPos = 1
, dayPos = 0
, weekDayNames = [ "Po", "Út", "St", "Čt", "", "So", "Ne" ]
, monthNames =
[ ""
, "Leden"
, "Únor"
, "Březen"
, "Duben"
, "Květen"
, "Červen"
, "Červenec"
, "Srpen"
, "Září"
, "Říjen"
, "Listopad"
, "Prosinec"
]
}


parseDate : DateConfig -> String -> Maybe Date
parseDate conf str =
Expand Down

0 comments on commit a08542e

Please sign in to comment.