目的 本稿はnode.js+expressにおいて多言語化をどのように行うべきかを考察する。 サンプル このサンプルはログイン画面とユーザ登録画面について、多言語化対応できるように実装している。 基本的な考え方 ユーザに提示する、すべてのメッセージは1つのファイルに記述する。 たとえば、エラー時に表示するメッセージやボタンに表示するテキストがこれにあたる。 今回はroutes/message.jsonがメッセージ情報を格納するファイルとなる。 { "message": { "error": { "NotfoundUser": "ユーザ名(%s)は存在しないかパスワードが間違っています.", "DatabaseError": "データベースの接続に失敗しました。<BR>%s", "ConstraintError": "制約違反が発生しました。%s", "UniqueConstraintErr
![Node.js + expressにおける多言語化の考察 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/b251a01c2da8042eb236ca8376eb6d9ceaff280b/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9Tm9kZS5qcyUyMCUyQiUyMGV4cHJlc3MlRTMlODElQUIlRTMlODElOEElRTMlODElOTElRTMlODIlOEIlRTUlQTQlOUElRTglQTglODAlRTglQUElOUUlRTUlOEMlOTYlRTMlODElQUUlRTglODAlODMlRTUlQUYlOUYmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWMzZWE1NzMxNTZiZmQyZDZkMTEzZjk1MTUxZTAyMDNl%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbWltYV9pdGEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTRjYjg5NTAwZjBjMWM4YzlhMzE1NWRiNThkZGY1ZDIw%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D9a526ba55704f7f507f5b8c69df2c571)