packages feed

terminal-3d-graphics-0.2.0.0: src/Terminal3D/Localization.hs

module Terminal3D.Localization where

data Local = Local { english :: String, spanish :: String, latin :: String, german :: String } deriving (Show, Eq)

appstatePosition, appstateRotation, appstateProjection, appstateScreenSize, appstateSSAA, appstatePPAA, appstateLanguage :: Local
appstatePosition   = Local "Position"   "Posicion"   "Positio"          "Position"
appstateRotation   = Local "Rotation"   "Rotacion"   "Rotatio"          "Rotation"
appstateProjection = Local "Projection" "Proyeccion" "Proiectio"        "Projektion"
appstateScreenSize = Local "ScreenSize" "Pantalla"   "MagnitudoTabulae" "Bildschirmgroesse"
appstateSSAA       = Local "SSAA"       "SSAA"        "SSAA"             "SSAA"
appstatePPAA       = Local "PPAA"       "PPAA"        "PPAA"             "PPAA"
appstateLanguage   = Local "Language"   "Idioma"      "Lingua"           "Sprache"

commandQuit, commandHelp :: Local
commandQuit = Local "quit" "salir" "exi"      "beenden"
commandHelp = Local "help" "ayuda" "auxilium" "hilfe"

inputTypeGaussian, inputTypeBox, inputTypeNone, inputTypeWidth, inputTypeHeight :: Local
inputTypeGaussian = Local "Gaussian" "Gaussiano" "Gaussianus" "Gauss"
inputTypeBox      = Local "box"      "caja"      "capsa"      "Box"
inputTypeNone     = Local "none"     "ninguno"   "nullus"     "keine"
inputTypeWidth    = Local "width"    "ancho"     "latitudo"   "Breite"
inputTypeHeight   = Local "height"   "alto"      "altitudo"   "Hoehe"

inputTypeProjection, inputTypeAffine :: Local
inputTypeProjection = Local "projection" "proyeccion" "proiectio" "Projektion"
inputTypeAffine     = Local "affine"     "afin"       "affinis"   "affin"

feedbackGoodbye, feedbackUnknownCommand, feedbackHelpUnknownCommand, feedbackStartText, feedbackUsage, feedbackPositiveIntegers, feedbackInteger :: Local
feedbackGoodbye            = Local "Goodbye."                  "Adios."                         "Vale."                               "Auf Wiedersehen."
feedbackUnknownCommand     = Local "Unknown command"           "Comando desconocido"            "Mandatum ignotum"                    "Unbekannter Befehl"
feedbackHelpUnknownCommand = Local "Try '?' for help."         "Prueba '?' para ver la ayuda."  "Tempta '?' ad auxilium."             "Versuche '?' fuer Hilfe."
feedbackStartText          = Local "Command (or help/quit)"    "Comando (o ayuda/salir)"        "Mandatum (vel auxilium/exi)"         "Befehl (oder hilfe/beenden)"
feedbackUsage              = Local "Usage"                     "Uso"                            "Usus"                                "Verwendung"
feedbackPositiveIntegers   = Local "Must be Positive Integers" "Deben ser enteros positivos"    "Debent esse numeri integri positivi" "Muessen positive ganze Zahlen sein"
feedbackInteger            = Local "Not a valid integer"       "No es un entero valido"         "Non est numerus integer validus"     "Keine gueltige ganze Zahl"

commandDoNothing, commandForward, commandBackward, commandLeft, commandRight :: Local
commandDoNothing = Local "do nothing"    "no hacer nada"              "nihil agere"           "nichts tun"
commandForward   = Local "move forward"  "avanzar"                    "progredi"              "vorwaerts bewegen"
commandBackward  = Local "move backward" "retroceder"                 "regredi"               "rueckwaerts bewegen"
commandRight     = Local "strafe right"  "desplazarse a la derecha"   "ad dextram transire"   "seitlich nach rechts bewegen"
commandLeft      = Local "strafe left"   "desplazarse a la izquierda" "ad sinistram transire" "seitlich nach links bewegen"

commandTurnLeft, commandTurnRight, commandTurnUp, commandTurnDown :: Local
commandTurnLeft  = Local "turn left"  "girar a la izquierda" "ad sinistram vertere" "nach links drehen"
commandTurnRight = Local "turn right" "girar a la derecha"   "ad dextram vertere"   "nach rechts drehen"
commandTurnUp    = Local "turn up"    "girar hacia arriba"   "sursum vertere"       "nach oben drehen"
commandTurnDown  = Local "turn down"  "girar hacia abajo"    "deorsum vertere"      "nach unten drehen"

data Language = Language { langName :: Local, langPick :: Local -> String }

langEnglish, langSpanish, langLatin, langGerman :: Language
langEnglish = Language (Local "English" "Ingles"  "Anglica"   "Englisch") english
langSpanish = Language (Local "Spanish" "Espanol" "Hispanica" "Spanisch") spanish
langLatin   = Language (Local "Latin"   "Latin"   "Latina"    "Latein")   latin
langGerman  = Language (Local "German"  "Aleman"  "Germanica" "Deutsch")  german

allLanguages :: [Language]
allLanguages = [ langEnglish, langSpanish, langLatin, langGerman ]