Findings Site(所見閲覧システム)を作っていく上で、多言語化必須だなぁということに気づいてちまちまコーディング。
とりあえず備忘録的に。
外部JSONファイルとして、eng.json, jp.jsonなど、いくつか言語ファイルを用意。(文字コードはUTF-8にしておくこと!)
それぞれに
・eng.json
{
"EnterPtId":"Enter patient ID.",
"test":"test"
}
・jp.json
{
"EnterPtId":"患者IDを入力してください",
"test":"テスト"
}
って感じでタグと中身を記載。
・conf.jsonも用意。
{
"language":"jp"
}
ユーザー側で、conf.jsonを編集してもらうか、ツール用意してツールで編集するようにする。
で、
var lang;
var resources;
jQuery(function ($) {
$(document).ready(function () {
$("#pt_id").focus();
$.getJSON("/js/conf.json", function (data) {
lang = data.language;
$.getJSON("/js/" + lang + ".json", function (data) {
resources = data;
});
});
});
$("#send_pt_id").on("click", function () {
postPtId();
});
$("#pt_id").keyup(function (e) {
if (e.which == 13) {
postPtId();
}
});
function postPtId() {
if ($("#pt_id").val().length == 0) {
alert(resources.EnterPtId); //"患者IDを入力してください"と表示される。
} else {
//いろんな処理
}
}
});
とまぁ、こんな感じで各国のユーザーには最初だけファイルの編集をしてもらわなければいけないけども、一応これだけで多言語対応システムが作れちゃいます。