fmidue / logic-tasks

0 stars 1 forks source link

Internationalisierung #73

Closed nimec01 closed 7 months ago

nimec01 commented 8 months ago

Mit diesem Pull Request wird es ermöglicht extraText in verschiedenen Sprachen zu definieren (siehe #62). Der Typ wurde entsprechend von Maybe String nach Maybe (Map Language String) geändert. Die Erstellung einer Config mit extraText könnte z.B. so aussehen:

dPickInst :: PickInst
dPickInst =  PickInst
          { cnfs = [mkCnf [mkClause [Literal 'A', Not 'B']], mkCnf [mkClause [Not 'A', Literal 'B']]]
          , correct = 1
          , extraText = Just (fromList [(German, "Hallo Welt"),(English, "Hello World")])
          }

oder so:

dPickInst :: PickInst
dPickInst =  PickInst
          { cnfs = [mkCnf [mkClause [Literal 'A', Not 'B']], mkCnf [mkClause [Not 'A', Literal 'B']]]
          , correct = 1
          , extraText = Just (translations $ do
              german "Hallo Welt"
              english "Hello World"
            )
          }

Bei https://github.com/nimec01/logic-tasks/blob/41812bc5189b511f5c20def13eb6328bb1cd8a2d/src/Formula/Printing.hs#L147 als auch bei https://github.com/nimec01/logic-tasks/blob/41812bc5189b511f5c20def13eb6328bb1cd8a2d/src/Formula/Parsing.hs#L303 musste ich aufgrund des neuen Typs Änderungen vornehmen, bin mir da aber unsicher, ob das so funktioniert wie es soll. Das sollte nochmal jemand überprüfen, der mehr in der Materie ist.