From 992722d079cd4287d0076d0b4157f9cc7047d057 Mon Sep 17 00:00:00 2001 From: Chris Jaekl Date: Sun, 4 Jan 2015 19:07:38 -0500 Subject: [PATCH] Add translations for fr and jp. Also, force UTF8 encoding on servlet responses, so that jp shows up correctly in the browser. --- WEB-INF/classes/frank_fr.properties | 22 ++ WEB-INF/classes/frank_jp.properties | 22 ++ WEB-INF/web.xml | 10 + index.html | 19 +- index_fr.html | 47 +++++ index_jp.html | 47 +++++ .../jaekl/frank/ForceUtf8EncodingFilter.java | 28 +++ test/net/jaekl/frank/FilterChainMock.java | 37 ++++ .../frank/ForceUtf8EncodingFilterTest.java | 36 ++++ test/net/jaekl/frank/ServletRequestMock.java | 195 ++++++++++++++++++ test/net/jaekl/frank/ServletResponseMock.java | 105 ++++++++++ 11 files changed, 565 insertions(+), 3 deletions(-) create mode 100644 WEB-INF/classes/frank_fr.properties create mode 100644 WEB-INF/classes/frank_jp.properties create mode 100644 index_fr.html create mode 100644 index_jp.html create mode 100644 prod/net/jaekl/frank/ForceUtf8EncodingFilter.java create mode 100644 test/net/jaekl/frank/FilterChainMock.java create mode 100644 test/net/jaekl/frank/ForceUtf8EncodingFilterTest.java create mode 100644 test/net/jaekl/frank/ServletRequestMock.java create mode 100644 test/net/jaekl/frank/ServletResponseMock.java diff --git a/WEB-INF/classes/frank_fr.properties b/WEB-INF/classes/frank_fr.properties new file mode 100644 index 0000000..8c34140 --- /dev/null +++ b/WEB-INF/classes/frank_fr.properties @@ -0,0 +1,22 @@ +answer.received=Réponse reçue: +data.collected=Données reçues il y a 0m 0s à {0}. +destination=Destination +error.page=Page d'erreur +eta=Prévue +frank=Frank +gps.off=Aucun signal GPS +gps.read=Position GPS +hide.details=Détails +invalid.response=Frank a demandé des informations du serveur OC Transpo, mais a reçu une réponse non-valide. +m=m +maybe.server.problem=Cela peut indiquer un problème avec le serveur qui a été contacté, mais il est également possible que vous avez découvert un bogue dans Frank. +remain=Dans +request.made=Requête faite: +return.to.main.page=Cliquez ici pour revenir à la page principale. +route=Route +s=s +server.timeout=Frank a demandé des informations du serveur d'OC Transpo, mais il n'a pas répondu en temps opportun. Le serveur d'OC Transpo probablement indisponible pour cet instant. Il pourrait revenir bientôt en ligne; veuillez essayer de nouveau dans quelques minutes. +show.details=Détails +unexpected.error=Erreure inattendue +unexpected.exception=Une exception inattendue a été rencontrée. Cela indique probablement un bogue dans Frank. +url.contacted=URL contacté: diff --git a/WEB-INF/classes/frank_jp.properties b/WEB-INF/classes/frank_jp.properties new file mode 100644 index 0000000..5dda068 --- /dev/null +++ b/WEB-INF/classes/frank_jp.properties @@ -0,0 +1,22 @@ +answer.received=\u5FDC\u7B54\uFF1A +data.collected=\u30C7\u30FC\u30BF\u3092{0}\u306B(0\u52060\u79D2\u524D)\u96C6\u3081\u305F\u3002 +destination=\u76EE\u7684\u5730 +error.page=\u30A8\u30E9\u30FC\u30DA\u30FC\u30B8 +eta=\u5230\u7740\u4E88\u5B9A +frank=\u30D5\u30E9\u30F3\u30AF +gps.off=GPS\u306A\u3057 +gps.read=GPS +hide.details=\u8A73\u7D30\u3092\u96A0\u3059 +invalid.response=\u30D5\u30E9\u30F3\u30AF\u306F\u3001OC\u30C4\u30E9\u30F3\u30B9\u30DD\u30FC\u306E\u30B5\u30FC\u30D0\u304B\u3089\u4E88\u671F\u305B\u306C\u56DE\u7B54\u3092\u3082\u3089\u3044\u307E\u3057\u305F\u3002 +m=\u5206 +maybe.server.problem=\u3072\u3087\u3063\u3068\u3059\u308B\u3068OC\u30C4\u30E9\u30F3\u30B9\u30DD\u30FC\u306E\u30B5\u30FC\u30D0\u306E\u554F\u984C\u304C\u3042\u308B\u304B\u3082\u3057\u308C\u306A\u3044\u3057\u3001\u30D5\u30E9\u30F3\u30AF\u306E\u554F\u984C\u304C\u3042\u308B\u304B\u3082\u3057\u308C\u306A\u3044\u3002 +remain=\u6B8B\u308A\u6642\u9593 +request.made=\u8981\u6C42\u304C\u884C\u308F\uFF1A +return.to.main.page=\u30E1\u30A4\u30F3\u30DA\u30FC\u30B8\u306B\u623B\u308B\u306B\u306F\u3001\u3053\u3053\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u4E0B\u3055\u3044\u3002 +route=\u30EB\u30FC\u30C8 +s=\u79D2 +server.timeout=\u30D5\u30E9\u30F3\u30AF\u306FOC\u30C4\u30E9\u30F3\u30B9\u30DD\u30FC\u306E\u30B5\u30FC\u30D0\u304B\u3089\u5FDC\u7B54\u3092\u3082\u3089\u3044\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u3042\u306E\u30B5\u30FC\u30D0\u306F\u3059\u3050\u306B\u3088\u304F\u306A\u308B\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002\u3042\u3068\uFF15\u5206\u3001\u518D\u8A66\u884C\u3057\u3066\u4E0B\u3055\u3044\u3002 +show.details=\u8A73\u7D30\u3092\u8868\u793A +unexpected.error=\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC +unexpected.exception=\u4E88\u671F\u3057\u306A\u3044\u4F8B\u5916\u3002\u3053\u308C\u306F\u304A\u305D\u3089\u304F\u3001\u30D5\u30E9\u30F3\u30AF\u306E\u30D0\u30B0\u3092\u793A\u3057\u3066\u3044\u308B\u3002 +url.contacted=URL\uFF1A diff --git a/WEB-INF/web.xml b/WEB-INF/web.xml index a6d2aef..e07bdc1 100644 --- a/WEB-INF/web.xml +++ b/WEB-INF/web.xml @@ -14,6 +14,16 @@ ViewSchedule /ViewSchedule + + + ForceUtf8Encoding + /* + + + + ForceUtf8Encoding + net.jaekl.frank.ForceUtf8EncodingFilter +