SlideShare uma empresa Scribd logo
1 de 65
Notes データベースの多言語対応
マルチリンガルデータベース
を検証してみた
中野 晴幸 ( Haruyuki Nakano )
Blog:
ノーツってやつぁ…二児の父の苦悩つ
https://harunakano.blogspot.jp
Twitter:
@harunakano
Facebook:
https://www.facebook.com/haruyuki.nakano.94
ワタシは600万を超える言語に精通して
いますが Notes はどんな言語に対応して
いますか?
52の言語
121の言語および国(または地域)
「有効な言語」
121の言語および国(または地域)
「デフォルトの言語」
52の言語
@Locale で見てみると…
言語コード
言語コードってなに?
en-US
言語コード
言語
副言語
(国または地域)
どうして多言語対応するのか
日本語がわからない
外国人との情報共有
本文は翻訳サイトへコピペして
理解できるけど
ナビゲータやボタンなどがわからない…
いちいち手動で切り替えるのは
面倒だし...
併記はブサイクだし…
式言語での切り替えは
複雑になりがち…
多言語対応するとどうなるのか
Notesクライアントの言語設定に合う
設計要素を自動で表示します。
日本語英語
データベースを多言語対応しよう
多言語対応の3要素
1. DB「マルチリンガルオプション」
2. 設計要素「別名言語」
3. クライアント「内容の言語」
多言語対応の3要素
1. DB「マルチリンガルオプション」
2. 設計要素「別名言語」
3. クライアント「内容の言語」
多言語対応の3要素
1. DB「マルチリンガルオプション」
2. 設計要素「言語」
3. クライアント「内容の言語」
言語別に設計要素を作成し
「別名」に同じ名前を指定します
設計要素のプロパティにある
「別名言語」で言語を指定します
多言語対応の3要素
1. DB「マルチリンガルオプション」
2. 設計要素「別名言語」
3. クライアント「内容の言語」
表示したい言語を、
1つ指定する、または
最上位に移動します
※変更後は Notes クライアントの再起動が必要です
ちょっとイジワルな検証
3つのフォームを作りました
次の条件を変えたとき…
• DBのプロパティ「デフォルトの言語」
• フォームの「名前」、「別名」、「言語」
• クライアントの設定「内容の言語」
@Command([Compose]; “Main”)
で開くのは、どのフォームでしょうか?
データベース
「デフォルトの言語」
フォーム
「名前、別名」
クライアント
「内容の言語」
英語
韓国語(名前:Main)
英語(別名:Main)
日本語(別名:Main)
韓国語
韓国語
「名前または別名」かつ
「内容の言語」が一致する
フォームが開きました
データベース
「デフォルトの言語」
フォーム
「設計要素の言語」
クライアント
「内容の言語」
英語 英語
日本語
韓国語
韓国語
英語
「デフォルトの言語」が
一致するフォームが
開きました
データベース
「デフォルトの言語」
フォーム
「設計要素の言語」
クライアント
「内容の言語」
英語 英語
日本語
<設定なし>
韓国語
言語 未設定
フォーム名が一致し、
かつ言語を設定しない
フォームが開きました
データベース
「デフォルトの言語」
フォーム
「設計要素の言語」
クライアント
「内容の言語」
<設定しない> 英語
日本語
<設定なし>
韓国語
言語 未設定
フォーム名が一致し、
かつ言語を設定しない
フォームが開きました
データベース
「デフォルトの言語」
フォーム
「設計要素の言語」
クライアント
「内容の言語」
ロシア語 英語
日本語
<設定なし>
韓国語
言語 未設定
フォーム名が一致し、
かつ言語を設定しない
フォームが開きました
データベース
「デフォルトの言語」
フォーム
「設計要素の言語」
クライアント
「内容の言語」
英語 英語
日本語
韓国語
中国語
韓国語
英語
英語
DBの「デフォルトの言語」と
一致するフォームが
開きました
データベース
「デフォルトの言語」
フォーム
「設計要素の言語」
クライアント
「内容の言語」
<設定しない> 英語
日本語
韓国語
中国語
韓国語
英語
英語
フォーム名で昇順にソートして
一番最初にくるフォーム?
が開きました
データベース
「デフォルトの言語」
フォーム
「設計要素の言語」
クライアント
「内容の言語」
ロシア語
英語
日本語
韓国語
中国語
韓国語
英語
開きません (^^;
データベース
「デフォルト言語」
フォーム
設計要素の言語
クライアント
「内容の言語」
開いたフォーム 備考
英語
英語(別名)
日本語(別名)
韓国語(名前)
韓国語 韓国語
日本語フォームの名前を"Main"、別名を削除してみたところ、
同様に韓国語フォームが開いた。フォーム名は名前と別名のど
ちらか一致させればよい
英語
英語(名前一致)
日本語(名前一致)
韓国語(名前不一致)
韓国語 英語 内容の言語に一致してもフォーム名が一致しなければ開かない
英語
英語
日本語
(言語未設定)
韓国語 (言語未設定)
内容の言語に一致するフォームはないがデフォルト言語に一致
するフォーム名があっても、言語を設定しないフォームがあればそ
ちらが開く
-
英語
日本語
(言語未設定)
韓国語 (言語未設定)
デフォルトの言語を指定しないDBで、内容の言語に一致する
フォームはないが言語を設定しないフォームがあればそちらが開く
ロシア語
英語
日本語
(言語未設定)
韓国語 (言語未設定)
内容の言語に一致するフォームがなく、デフォルト言語に一致す
るフォーム名もなく、言語を設定しないフォームがあればそちらが
開く
英語
英語
日本語
韓国語
中国語
韓国語
英語
英語
フォームの言語が内容の言語の最上位言語に一致せず、デ
フォルト言語に一致する場合、デフォルト言語が開く。内容の言
語の最上位以外は無視される
-
英語
日本語
韓国語
中国語
韓国語
英語
英語 フォーム名で昇順にソートしたとき最初にくるフォーム?
ロシア語
英語
日本語
韓国語
中国語
韓国語
英語
エラー
(文書が無効また
はありません)
内容の言語の最上位の言語、およびデフォルト言語と一致する
フォームがなければ、開かない
データベースのデフォルトフォームの設定も無視される
クライアントの設定「内容の言語」(のトップ)と
一致する、言語のフォームが無いとき、
• 言語を指定しないフォームがあれば、
言語を指定しないフォームが開く
• 言語を指定しないフォームが無く、
– 「デフォルトの言語」と一致するフォームがあれば
デフォルトの言語と一致するフォームが開く
– 「デフォルトの言語」の指定が無ければ
フォーム名の昇順でソートして最初にくるフォームが開く
– 「デフォルトの言語」と一致するフォームが無ければ
開かない
内容の言語
と一致
言語未設定
の設計要素
言語が一致するフォームが開く
言語未設定のフォームが開く
デフォルトの言語
と一致
する
しない
あり
なし
言語が一致するフォームが開く
する
デフォルトの言語
の指定なし
名前の昇順で最初にくるフォームが開く
しない
はい
フォームは開かない
いいえ
まとめ (1)
• DBのデフォルト言語を指定する場合、その言語に対応
するフォームを作成しましょう
まとめ (2)
• ユーザーは、クライアントで表示したい言語を「内容の言
語」の最上位に指定しましょう
多言語対応TIPS
選択肢は各国語で表示したいけど、
保存する値はそろえたい…
フィールド「キーワードの別名を許可」
表示する値と保存する値を
|(縦線)で区切る
「別名を許可」すると…
フロントエンドクラス
バックエンドクラス
NotesUIDocument.FieldGetText(“Answer”)
NotesDocument.GetItemValue(“Answer”)(0)
“はい”
“Yes”
取れる値が違います!!
クライアントの言語が知りたい…
@LanguagePreference([CONTENT])
言語の名称を知りたい…
@LanguagePreference([CONTENT])
ar-MA
?
@Locale
@Locale ( [LocaleName] ; ”ar-MA” )
@Locale ( [LanguageName]; ”ar-MA” )
@Locale ( [CountryName] ; ”ar-MA” )
アラビア語(モロッコ)
アラビア語
モロッコ
@Locale ( [AltNameLocale] ; ”ar-MA” ) ar
WEBブラウザの言語設定方法
多言語対応したDBへWebアクセス
言語設定(IE11)
言語設定(Chrome 61.0)
XPAGESアプリケーションにおける多言語
対応のヒント
以下、ご参照ください m(_ _)m
• XPages アプリケーションで「ローカライゼーションのオプション」の使
用方法
https://www-10.lotus.com/ldd/ddwiki.nsf/dx/Japanese_XPages_How_to_use_the_localization_options
• XPages アプリケーション開発での JavaScript の国際化
https://www-10.lotus.com/ldd/ddwiki.nsf/dx/Japanese_XPages_JavaScript_Internationalization
• XPages の国際化に関する日本語技術文書が Wiki に公開さ
れました
https://www.ibm.com/developerworks/community/blogs/bptej/entry/xpages__e3_81_ae_e5_9b_bd_e9_9a_9b_e5_8c_96_e3_81_ab_e9_96_a2
_e3_81_99_e3_82_8b_e6_97_a5_e6_9c_ac_e8_aa_9e_e6_8a_80_e8_a1_93_e6_96_87_e6_9b_b8_e3_81_8c_wiki__e3_81_ab_e5_85_ac_e9_9
6_8b_e3_81_95_e3_82_8c_e3_81_be_e3_81_97_e3_81_9f34?lang=en
参考資料
• IBM Lotus Notes/Domino 複数言語環境の解説
– https://www.ibm.com/developerworks/jp/lotus/ldd_tech/20080208.html
ご清聴ありがとうございました

Mais conteúdo relacionado

Mais procurados

HCL Nomad Mobile のご紹介 (2022年2月)
HCL Nomad Mobile のご紹介 (2022年2月)HCL Nomad Mobile のご紹介 (2022年2月)
HCL Nomad Mobile のご紹介 (2022年2月)Software Info HCL Japan
 
Vivado hls勉強会3(axi4 lite slave)
Vivado hls勉強会3(axi4 lite slave)Vivado hls勉強会3(axi4 lite slave)
Vivado hls勉強会3(axi4 lite slave)marsee101
 
全文検索とUNKテーブル
全文検索とUNKテーブル全文検索とUNKテーブル
全文検索とUNKテーブルHaruyuki Nakano
 
ソーシャルゲームの為のデータベース設計
ソーシャルゲームの為のデータベース設計ソーシャルゲームの為のデータベース設計
ソーシャルゲームの為のデータベース設計kaminashi
 
빌드 속도를 올려보자
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자KyeongWon Koo
 
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!TAKUYA OHTA
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討Masahito Zembutsu
 
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들영욱 오
 
64ビット対応Dllインジェクション
64ビット対応Dllインジェクション64ビット対応Dllインジェクション
64ビット対応DllインジェクションShinichi Hirauchi
 
キーボード自作のススメ
キーボード自作のススメキーボード自作のススメ
キーボード自作のススメRetrieva inc.
 
Ndefってなんだろう
NdefってなんだろうNdefってなんだろう
NdefってなんだろうTomoki YAMASHITA
 
Vivado hls勉強会5(axi4 stream)
Vivado hls勉強会5(axi4 stream)Vivado hls勉強会5(axi4 stream)
Vivado hls勉強会5(axi4 stream)marsee101
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編hdais
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計sairoutine
 
DBパフォーマンスチューニングの基礎:インデックス入門
DBパフォーマンスチューニングの基礎:インデックス入門DBパフォーマンスチューニングの基礎:インデックス入門
DBパフォーマンスチューニングの基礎:インデックス入門Akira Shimosako
 
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤTakashi Hoshino
 
Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」
Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」
Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」Software Info HCL Japan
 
パブリック文書/パブリックアクセス
パブリック文書/パブリックアクセスパブリック文書/パブリックアクセス
パブリック文書/パブリックアクセスHaruyuki Nakano
 
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーションMasahito Zembutsu
 

Mais procurados (20)

ODS ってなんだ?
ODS ってなんだ?ODS ってなんだ?
ODS ってなんだ?
 
HCL Nomad Mobile のご紹介 (2022年2月)
HCL Nomad Mobile のご紹介 (2022年2月)HCL Nomad Mobile のご紹介 (2022年2月)
HCL Nomad Mobile のご紹介 (2022年2月)
 
Vivado hls勉強会3(axi4 lite slave)
Vivado hls勉強会3(axi4 lite slave)Vivado hls勉強会3(axi4 lite slave)
Vivado hls勉強会3(axi4 lite slave)
 
全文検索とUNKテーブル
全文検索とUNKテーブル全文検索とUNKテーブル
全文検索とUNKテーブル
 
ソーシャルゲームの為のデータベース設計
ソーシャルゲームの為のデータベース設計ソーシャルゲームの為のデータベース設計
ソーシャルゲームの為のデータベース設計
 
빌드 속도를 올려보자
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자
 
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
 
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
 
64ビット対応Dllインジェクション
64ビット対応Dllインジェクション64ビット対応Dllインジェクション
64ビット対応Dllインジェクション
 
キーボード自作のススメ
キーボード自作のススメキーボード自作のススメ
キーボード自作のススメ
 
Ndefってなんだろう
NdefってなんだろうNdefってなんだろう
Ndefってなんだろう
 
Vivado hls勉強会5(axi4 stream)
Vivado hls勉強会5(axi4 stream)Vivado hls勉強会5(axi4 stream)
Vivado hls勉強会5(axi4 stream)
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
 
DBパフォーマンスチューニングの基礎:インデックス入門
DBパフォーマンスチューニングの基礎:インデックス入門DBパフォーマンスチューニングの基礎:インデックス入門
DBパフォーマンスチューニングの基礎:インデックス入門
 
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
 
Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」
Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」
Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」
 
パブリック文書/パブリックアクセス
パブリック文書/パブリックアクセスパブリック文書/パブリックアクセス
パブリック文書/パブリックアクセス
 
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
 

Mais de Haruyuki Nakano

NotesQueryResultsProcessor.pptx
NotesQueryResultsProcessor.pptxNotesQueryResultsProcessor.pptx
NotesQueryResultsProcessor.pptxHaruyuki Nakano
 
プロフィール文書って何?
プロフィール文書って何?プロフィール文書って何?
プロフィール文書って何?Haruyuki Nakano
 
どうしてもドメインがほしくなった訳
どうしてもドメインがほしくなった訳どうしてもドメインがほしくなった訳
どうしてもドメインがほしくなった訳Haruyuki Nakano
 
個人フォルダの作成権限
個人フォルダの作成権限個人フォルダの作成権限
個人フォルダの作成権限Haruyuki Nakano
 
Domino v12の新機能 - 多要素認証対応 (TOTP) -
Domino v12の新機能 - 多要素認証対応 (TOTP) -Domino v12の新機能 - 多要素認証対応 (TOTP) -
Domino v12の新機能 - 多要素認証対応 (TOTP) -Haruyuki Nakano
 
V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化Haruyuki Nakano
 
ベータフォーラムってこんなとこ
ベータフォーラムってこんなとこベータフォーラムってこんなとこ
ベータフォーラムってこんなとこHaruyuki Nakano
 
V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉Haruyuki Nakano
 
初めての HCL Sametime
初めての HCL Sametime初めての HCL Sametime
初めての HCL SametimeHaruyuki Nakano
 
読者/作成者 フィールド
読者/作成者 フィールド読者/作成者 フィールド
読者/作成者 フィールドHaruyuki Nakano
 
HCL Nomad で GPS へアクセスしよう
HCL Nomad で GPS へアクセスしようHCL Nomad で GPS へアクセスしよう
HCL Nomad で GPS へアクセスしようHaruyuki Nakano
 
Notes Domino Solution 2019 資料
Notes Domino Solution 2019 資料Notes Domino Solution 2019 資料
Notes Domino Solution 2019 資料Haruyuki Nakano
 
テーマカラーをロータス色に変えてみた
テーマカラーをロータス色に変えてみたテーマカラーをロータス色に変えてみた
テーマカラーをロータス色に変えてみたHaruyuki Nakano
 
アプリの「遅い」を見てみよう
アプリの「遅い」を見てみようアプリの「遅い」を見てみよう
アプリの「遅い」を見てみようHaruyuki Nakano
 
その変数、Variant 型では?
その変数、Variant 型では?その変数、Variant 型では?
その変数、Variant 型では?Haruyuki Nakano
 
Domino Query Language (DQL)
Domino Query Language (DQL)Domino Query Language (DQL)
Domino Query Language (DQL)Haruyuki Nakano
 

Mais de Haruyuki Nakano (20)

NotesQueryResultsProcessor.pptx
NotesQueryResultsProcessor.pptxNotesQueryResultsProcessor.pptx
NotesQueryResultsProcessor.pptx
 
プロフィール文書って何?
プロフィール文書って何?プロフィール文書って何?
プロフィール文書って何?
 
Nomad開発の苦悩つ
Nomad開発の苦悩つNomad開発の苦悩つ
Nomad開発の苦悩つ
 
どうしてもドメインがほしくなった訳
どうしてもドメインがほしくなった訳どうしてもドメインがほしくなった訳
どうしてもドメインがほしくなった訳
 
個人フォルダの作成権限
個人フォルダの作成権限個人フォルダの作成権限
個人フォルダの作成権限
 
Domino v12の新機能 - 多要素認証対応 (TOTP) -
Domino v12の新機能 - 多要素認証対応 (TOTP) -Domino v12の新機能 - 多要素認証対応 (TOTP) -
Domino v12の新機能 - 多要素認証対応 (TOTP) -
 
V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化
 
V12 DAOS 拡張
V12 DAOS 拡張V12 DAOS 拡張
V12 DAOS 拡張
 
ベータフォーラムってこんなとこ
ベータフォーラムってこんなとこベータフォーラムってこんなとこ
ベータフォーラムってこんなとこ
 
V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉
 
オレのDocker元年
オレのDocker元年オレのDocker元年
オレのDocker元年
 
初めての HCL Sametime
初めての HCL Sametime初めての HCL Sametime
初めての HCL Sametime
 
読者/作成者 フィールド
読者/作成者 フィールド読者/作成者 フィールド
読者/作成者 フィールド
 
HCL Nomad で GPS へアクセスしよう
HCL Nomad で GPS へアクセスしようHCL Nomad で GPS へアクセスしよう
HCL Nomad で GPS へアクセスしよう
 
HCL Nomad と OCR
HCL Nomad と OCRHCL Nomad と OCR
HCL Nomad と OCR
 
Notes Domino Solution 2019 資料
Notes Domino Solution 2019 資料Notes Domino Solution 2019 資料
Notes Domino Solution 2019 資料
 
テーマカラーをロータス色に変えてみた
テーマカラーをロータス色に変えてみたテーマカラーをロータス色に変えてみた
テーマカラーをロータス色に変えてみた
 
アプリの「遅い」を見てみよう
アプリの「遅い」を見てみようアプリの「遅い」を見てみよう
アプリの「遅い」を見てみよう
 
その変数、Variant 型では?
その変数、Variant 型では?その変数、Variant 型では?
その変数、Variant 型では?
 
Domino Query Language (DQL)
Domino Query Language (DQL)Domino Query Language (DQL)
Domino Query Language (DQL)
 

Notes データベースの多言語対応

Notas do Editor

  1. 「LMBCSは40以上の言語に対応」 LMBCS(Lotus Multi-Bytes Character Set)とは、Notes/Domino 内で使用される内部文字セットで、Notes内に格納時にLMBCSに変換され格納し、ローカルのキャラクタセットに変換して表示・印刷される。
  2. @Locale 関数 [NotesLocale] 言語コードを返す [LanguageName] 言語コードの言語の完全なスペルを返す [LocaleName] 言語コードの言語と国または地域(ある場合)の完全なスペルを返す データベースのプロパティでは52言語が選択できるが、@Localeの [LanguageName] キーワードは 53 言語を返す。「ウェールズ」って言語なの?
  3. ISO639で定義されているアルファベット小文字2文字で言語を表すコード。 アルファベット2文字の言語コードにハイフンでつなぐことで下位言語や方言のような「副言語」を指定できる。 英語は “en” だが、“en-us” とすればアメリカ英語、“en-gb” とすればイギリス英語を示す。 Notesでは副言語まで含めて「言語コード(locale-tag)」と呼んでいる
  4. 目的の文書がありそうな場所を探すことも一苦労です
  5. 切り替えるリンクを言語ごとに表示するのは、言語が2つならいいけど3つ以上になるとちょっとブサイク
  6. 併記はせいぜい2言語まで
  7. まずはデータベースのプロパティで「マルチリンガル オプション」を有効にします。 「デフォルトの言語」では、設計者が想定していない言語でNotesを設定したユーザーがデータベースを開いたときに使用する設計要素の言語を設定できます。
  8. 設計要素に「言語」を設定します データベースのプロパティで「マルチリンガル データベース」を有効にすると、同じ名前の設計要素を複数作ることができるようになり、また設計のプロパティーで「別名言語」を編集することができるようになります。ここで設計要素の言語を設定します。 1つの設計要素をすべての言語で利用する場合、設計要素に言語の設定を行わなければ(ブランクのままにすれば)共通の設計要素となります。
  9. クライアントの設定で「内容の言語」を変更して、対応する言語の設計要素の表示を確認します。 Notesクライアントのプリファレンス(設定)画面にある「地域設定」から「内容の言語」を設定します。 「内容の言語」には複数の言語を指定できますが、表示したい言語を最上位に位置するよう並び替えます。
  10. トラブルシューティングの役に立つのか!? 8つのパターンをクイズ形式でお届けします。 ※本検証では IBM Notes 9.0.1 FP9 を使っています
  11. 内容が「日本語」、「英語」、「韓国語」のフォームを作成しました。
  12. Compose @コマンドは、指定した名前のフォームで文書を新規に作るときに使います。
  13. データベースのプロパティ「デフォルトの言語」で指定した言語と、一致するフォームがある。 クライアントの設定「内容の言語」で指定した言語と、一致するフォームがある。 名前が “Main” で別名が無いフォームと、フォームの別名が “Main”のフォームがある。
  14. 韓国語のフォームは、名前と別名ともに “Main”ではない。 「デフォルトの言語」と一致する言語のフォームがある。
  15. クライアント「内容の言語」に一致するフォームがない。 「デフォルトの言語」と一致するフォームがある。
  16. 韓国人が、デフォルトの言語を設定していないデータベースへアクセスします。 韓国語のフォームはありませんが、言語を設定していないフォームがあります。
  17. クライアントの言語に一致するフォームがなく、デフォルト言語と一致するフォームがある
  18. クライアントの言語でトップに一致するフォームは無いが、2番目3番目に一致するフォームはある。 デフォルト言語に一致するフォームもある。
  19. DBのデフォルト言語に韓国語を設定すれば韓国語のフォームが開きます。
  20. 「内容の言語」のトップの言語と一致するフォームはない。 「デフォルト言語」は指定がない。 言語未設定のフォームもない。
  21. フォームの名前を変更してソート順を変えたところ、昇順で一番最初にくるフォームが開きました。
  22. 「デフォルトの言語」と一致するフォームがない。 「内容の言語」の最上位と一致する言語もない。
  23. 「文書が無効またはありません」 「デフォルトのデータベースフォーム」を設定するも役に立たず。
  24. 検証結果一覧
  25. フォーム名(または別名)が一致していることが大前提です
  26. フォーム名が一致する時、開く「フォームの言語」の優先順位をフローで示します
  27. 日本語のフォームは日本語で選択、英語のフォームは英語で選択、けれど保存するとアイテム値はどちらも英語にしたい、ということがあります。
  28. キーワードの別名を許可すれば、表示する言語と保存する言語を設定することができます。
  29. ただし、LotusScriptのフロントエンドクラス NotesUIDocument から FieldGetText で取得する値は“はい”、バックエンドクラス NotesDocument から GetItemValue で取得する値は “Yes” となり値が異なります。フォームのイベントでフィールド値を参照する場合、多言語対応のアプリケーションでは特に注意しましょう。
  30. 共有アクションのボタンに表示する「保存」といった文言を各国語で表示させたい場合があります。 クライアントの設定「内容の言語」の設定値はどのようにして取得できるのでしょうか。 内容の言語の設定値は notes.ini にも ContentLanguage=ja として記録されていますが、あたまに$が付かないシステム環境変数は式言語で取得することが困難です。
  31. @LanguagePreference([CONTENT]) はクライアントの設定「内容の言語」の設定値を返します。 内容の言語に複数の言語を設定している場合、最優先の(トップにある)言語は配列の最初に格納されます。
  32. @Locale の戻り値はクライアントの設定「インターフェースの言語」で選択した言語によりローカライズされた値となります。
  33. マルチリンガルオプションを有効にしたデータベースへブラウザからアクセスした場合、(デフォルトでは)Dominoはブラウザ側の言語設定をHTTPリクエストヘッダー「Accept-Language」から判別し、対応する言語の設計要素があればそれを表示します。ブラウザの言語と一致する言語がなければデータベースのデフォルトの言語の設計要素を表示します。
  34. インターネット オプション – [全般]タブ – [言語]ボタン – 言語の優先順位
  35. chrome://settings/languages
  36. 本資料で説明したアプリケーションの多言語対応に加え、文字コードと文字化け、Dominoサーバー構築上の注意点など詳細に記載されていて大変参考になります。必見!
  37. 本資料で使用した画像へのリンク P1: https://pixabay.com/ja/%E3%83%AC%E3%82%B4-%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A0%E3%83%88%E3%83%AB%E3%83%BC%E3%83%91%E3%83%BC-%E3%82%B9%E3%82%BF%E3%83%BC-%E3%83%BB-%E3%82%A6%E3%82%A9%E3%83%BC%E3%82%BA-%E5%8A%9B-%E6%82%AA-%E8%BB%8D-631850/ P3: https://pixabay.com/ja/c-3po-%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88-%E3%82%B9%E3%82%BF%E3%83%BC%E3%82%A6%E3%82%A9%E3%83%BC%E3%82%BA-%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3-%E5%AD%A4%E7%AB%8B%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F-2697682/ P7: https://pixabay.com/ja/%E3%83%AC%E3%82%B4-%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A0%E3%83%88%E3%83%AB%E3%83%BC%E3%83%91%E3%83%BC-%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AA%E3%83%B3%E3%82%B0-%E3%83%88%E3%83%AA%E3%83%83%E3%82%AF-%E3%83%90%E3%83%A9%E3%83%B3%E3%82%B9-%E5%AE%89%E5%AE%9A-2310286/ P8: https://www.kisspng.com/png-anakin-skywalker-bb-8-star-wars-stormtrooper-649433/preview.html P9: http://iconbug.com/detail/icon/6056/star-wars-stormtrooper/ P10: https://pixabay.com/ja/%E3%82%B9%E3%82%BF%E3%83%BC-%E3%83%BB-%E3%82%A6%E3%82%A9%E3%83%BC%E3%82%BA-%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A0%E3%83%88%E3%83%AB%E3%83%BC%E3%83%91%E3%83%BC-%E6%98%A0%E7%94%BB-%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9-%E3%83%98%E3%83%AB%E3%83%A0-1181724/ P14: https://pixabay.com/ja/%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A0%E3%83%88%E3%83%AB%E3%83%BC%E3%83%91%E3%83%BC-%E3%82%B9%E3%82%BF%E3%83%BC%E3%82%A6%E3%82%A9%E3%83%BC%E3%82%BA-%E3%82%B9%E3%82%BF%E3%83%BC-%E3%83%BB-%E3%82%A6%E3%82%A9%E3%83%BC%E3%82%BA-%E6%98%A0%E7%94%BB-1936251/ P16: https://pixabay.com/ja/%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3-%E3%83%95%E3%82%A3%E3%82%AE%E3%83%A5%E3%82%A2-%E3%82%A2%E3%83%BC%E3%83%88-%E8%89%B2-%E3%81%8B%E3%82%8F%E3%81%84%E3%81%84-%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3-%E5%B1%8B%E5%86%85%E3%81%A7-1853285/ P24: https://pixabay.com/ja/%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A0%E3%83%88%E3%83%AB%E3%83%BC%E3%83%91%E3%83%BC-%E3%82%B9%E3%82%BF%E3%83%BC-%E3%83%BB-%E3%82%A6%E3%82%A9%E3%83%BC%E3%82%BA-%E3%83%AC%E3%82%B4-%E5%B5%90-%E8%AD%A6%E5%AF%9F%E5%AE%98-2899982/ P49: https://pixabay.com/ja/%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A0%E3%83%88%E3%83%AB%E3%83%BC%E3%83%91%E3%83%BC-%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%88-%E3%83%9C%E3%83%BC%E3%83%89-%E3%83%AC%E3%82%B4-%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%88-1995015/ P57: https://pixabay.com/ja/%E3%82%AA%E3%83%95%E3%82%A3%E3%82%B9-%E4%BA%BA-%E7%BD%AA-%E9%9D%9E%E9%9B%A3-%E3%81%84%E3%81%98%E3%82%81-%E7%BE%A4%E8%A1%86-%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97-%E4%BB%95%E4%BA%8B-2539844/ P61: https://pixabay.com/ja/%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A0%E3%83%88%E3%83%AB%E3%83%BC%E3%83%91%E3%83%BC-%E3%83%AC%E3%82%B4-%E3%82%B9%E3%83%88%E3%83%AC%E3%83%83%E3%83%81%E3%83%A3%E3%83%BC-%E3%81%8F%E3%81%9A-%E4%B9%B3%E6%AF%8D%E8%BB%8A-%E3%83%98%E3%83%AB%E3%82%B9%E3%82%B1%E3%82%A2-2296199/ P63: https://pixabay.com/ja/%E6%96%87%E5%AD%97-%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%BA-%E3%82%A2%E3%83%83%E3%83%97-%E3%83%80%E3%83%BC%E3%82%B9%E3%83%99%E3%83%BC%E3%83%80%E3%83%BC-%E6%95%B0%E5%AD%97-%E3%83%AC%E3%82%B4-1853286/ P65: https://pixabay.com/ja/%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A0%E3%83%88%E3%83%AB%E3%83%BC%E3%83%91%E3%83%BC-%E3%82%B9%E3%82%BF%E3%83%BC-%E3%83%BB-%E3%82%A6%E3%82%A9%E3%83%BC%E3%82%BA-%E3%83%AC%E3%82%B4-%E5%B5%90-%E8%AD%A6%E5%AF%9F%E5%AE%98-%E5%80%8B%E4%BA%BA-1343877/