KLWP/KWGTで月名や曜日を英語や自由な言葉で表示する方法

|

KLWPやKWGTでは簡単に月の名前や曜日を表示できます。ただしこれはアプリの言語設定に従った表記になってしまいます。ホーム画面に表示するときは「日曜日」ではなく「Sunday」としたい時もありますよね。これもちょっとした記述で簡単にできます。

通常は言語設定に従う

左:日本語設定 右:英語設定

普通にテキストなどで$df(EEEE)$などとすると、これはアプリの言語設定に従って表示が変わります。サイドメニューの設定から言語設定ができるので、それを英語にすれば英語表記されます。面倒ならそれでもいいのですが、やはりアプリの表示は日本語にしておいたほうがなにかと分かりやすいですよね。

曜日を英語表記する

アプリの言語設定を日本語にしたまま、英語で曜日を表示するには以下のように記述します。

$tc(split, "0#mon#tue#wed#thu#fri#sat#sun", "#", df(f))$

$tc(split, A, B, C)$というのは、「Aの文字列をBの文字で区切ったときにC番目に当たるものを表示」という意味です。(最初のBの前にあるものは0番目として扱われる。)「C番目」に当たる$df(f)$は曜日を数字で表示するもの(月曜=1、日曜=7)なので、これでどの表記にするのか指定します。

上の例では曜日を#で区切っていますが、これは別の文字でも構いません。また、最初にある0もあまり意味のないものです。($df(f)$は1から始まるので0番目は指定されることがありません。)

KLWPでは曜日を数字で表すものとして $df(f)$ と $df(e)$ の2つがあります。 $df(f)$ は月曜日を1として日曜日を7とします。

$df(e)$は少し特殊で、アプリ内の設定で「週の始まり」として指定したものを1とします。そしてその前日を0とします。週の始まりを月曜日とした場合、月曜日は1、火曜日は2、土曜日は6、日曜日は0と表示されます。これを使うのが便利な場合もありますが、通常は$df(f)$のほうが扱いやすいと思います。

今回の例ではアルファベット3文字の短縮表記としましたが、これは自由に設定できます。2文字にしてもいいですし、ひらがな表記にすることもできます。

月名も自由に変更

曜日と同様に、月名も自由に設定できます。書き方は曜日と同じです。

$tc(split, "0, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec", ", ", df(M))$

また、これらはよく使うのであればグローバル変数として登録しておくと使いやすいと思います。私が作成・公開しているテンプレート的プリセット「sotai」では曜日と月名を英語表記できるグローバル変数をあらかじめセットしてあります。

興味ある方は上記記事よりダウンロードしてみてください。


KLWPの使い方については、これまでの記事をまとめたページもあります。使い方に困ったときなど、こちらのページも参考にしてください。