Read Article

kintoneで多言語対応化カスタマイズをする時の注意点

kintoneで多言語対応化カスタマイズをする時の注意点

こんにちは。武井です。

多言語化の罠

前回のアプリ一覧プラグインの記事でサラッと多言語化対応したと書きましたが、
これに意外な罠がありましたので、共有しておきしたいと思います。

アプリ自体に「言語」設定はない

これは意外に引っかかります。
言語設定は常に「ユーザー」にあるのです。
kintoneの言語はすべて「ユーザーがどの言語に設定しているか」にかかって来ます。

すなわち、

の返り値が「ja」なら日本語、「zh」なら中国語、「en」なら英語設定のユーザーということになります。

しかし、アプリにも言語で可変の要素があった

kintoneの仕様として、アプリ作成者の言語設定によって、アプリのデフォルトフィールドコードが変化します。

以下、その一覧を公開しますので、ご参考ください。

■言語別フィールドコード一覧

問題の諸相

このデフォルトフィールドコードの設定だけは、ユーザーの言語設定に依拠しません。

この認識のズレによってどのような問題が発生するかというと、
中国語設定のユーザーが作成したアプリのレコードの「作成日時」フィールドデータを取得しようとしても、
「record.作成日時.value」では取得できず、「record.创建时间.value」でなければ取得できないことになります。

multilingual

アプリの設定で、「言語ごとの名称」で各言語フィールド名の設定ができますが、
ユーザーの言語設定によって切り替わるのはあくまでフィールド名です。

フィールドコードは、ユーザーの言語設定にかかわらず、
アプリの作成者の言語設定のままになってしまいます。

取得する手段としては、
取得したレコードの「record.フィールドコード.type」が「CREATED_TIME」であるフィールドを総当たりで調べていけば、
フィールドコードの如何にかかわらず、それが作成日時フィールドであると目星をつけることができます。

kintone API GET時にレコード番号が「record.$id.value」と、
フィールドコードにかかわらず取得できるように、
すべての「デフォルトフィールド」についても、代替取得手段を用意していただけると、
カスタマイズ利用者には嬉しいかもしれません。

加えて、アプリ作成時の問題もあるので、デフォルトフィールドコードは総じて英語で統一されると、多国籍で使用する環境の場合は、便利になる余地があるかもしれません。

この記事を書いた人

武井 琢治
武井 琢治
サイボウズスタートアップス株式会社の武井と申します。
kintoneカスタマイズを行う上での勘所を敷衍して発信していきたいと考えております。
kintoneは中国語対応しているため、中国語でも発信していきたいと思います。
大家好,我叫QB,请多关照。我喜欢吃肠粉。

趣味は漢字です。
所持する資格は、日本漢字能力検定一級です。
URL :
TRACKBACK URL :

LEAVE A REPLY

*
*
* (公開されません)

Return Top