Slide 1

Slide 1 text

Notes データベースの多言語対応 マルチリンガルデータベース を検証してみた

Slide 2

Slide 2 text

中野 晴幸 ( Haruyuki Nakano ) Blog: ノーツってやつぁ…二児の父の苦悩つ https://harunakano.blogspot.jp Twitter: @harunakano Facebook: https://www.facebook.com/haruyuki.nakano.94

Slide 3

Slide 3 text

ワタシは600万を超える言語に精通して いますが Notes はどんな言語に対応して いますか?

Slide 4

Slide 4 text

52の言語 121の言語および国(または地域) 「有効な言語」 121の言語および国(または地域) 「デフォルトの言語」 52の言語

Slide 5

Slide 5 text

@Locale で見てみると… 言語コード

Slide 6

Slide 6 text

言語コードってなに? en-US 言語コード 言語 副言語 (国または地域)

Slide 7

Slide 7 text

どうして多言語対応するのか

Slide 8

Slide 8 text

日本語がわからない 外国人との情報共有

Slide 9

Slide 9 text

本文は翻訳サイトへコピペして 理解できるけど

Slide 10

Slide 10 text

ナビゲータやボタンなどがわからない…

Slide 11

Slide 11 text

いちいち手動で切り替えるのは 面倒だし...

Slide 12

Slide 12 text

併記はブサイクだし…

Slide 13

Slide 13 text

式言語での切り替えは 複雑になりがち…

Slide 14

Slide 14 text

多言語対応するとどうなるのか

Slide 15

Slide 15 text

Notesクライアントの言語設定に合う 設計要素を自動で表示します。 日本語 英語

Slide 16

Slide 16 text

データベースを多言語対応しよう

Slide 17

Slide 17 text

多言語対応の3要素 1. DB「マルチリンガルオプション」 2. 設計要素「別名言語」 3. クライアント「内容の言語」

Slide 18

Slide 18 text

多言語対応の3要素 1. DB「マルチリンガルオプション」 2. 設計要素「別名言語」 3. クライアント「内容の言語」

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

多言語対応の3要素 1. DB「マルチリンガルオプション」 2. 設計要素「言語」 3. クライアント「内容の言語」

Slide 21

Slide 21 text

言語別に設計要素を作成し 「別名」に同じ名前を指定します 設計要素のプロパティにある 「別名言語」で言語を指定します

Slide 22

Slide 22 text

多言語対応の3要素 1. DB「マルチリンガルオプション」 2. 設計要素「別名言語」 3. クライアント「内容の言語」

Slide 23

Slide 23 text

表示したい言語を、 1つ指定する、または 最上位に移動します ※変更後は Notes クライアントの再起動が必要です

Slide 24

Slide 24 text

ちょっとイジワルな検証

Slide 25

Slide 25 text

3つのフォームを作りました

Slide 26

Slide 26 text

次の条件を変えたとき… • DBのプロパティ「デフォルトの言語」 • フォームの「名前」、「別名」、「言語」 • クライアントの設定「内容の言語」

Slide 27

Slide 27 text

@Command([Compose]; “Main”) で開くのは、どのフォームでしょうか?

Slide 28

Slide 28 text

データベース 「デフォルトの言語」 フォーム 「名前、別名」 クライアント 「内容の言語」 英語 韓国語( 名前:Main) 英語(別名:Main) 日本語(別名:Main) 韓国語

Slide 29

Slide 29 text

韓国語 「名前または別名」かつ 「内容の言語」が一致する フォームが開きました

Slide 30

Slide 30 text

データベース 「デフォルトの言語」 フォーム 「設計要素の言語」 クライアント 「内容の言語」 英語 英語 日本語 韓国語 韓国語

Slide 31

Slide 31 text

英語 「デフォルトの言語」が 一致するフォームが 開きました

Slide 32

Slide 32 text

データベース 「デフォルトの言語」 フォーム 「設計要素の言語」 クライアント 「内容の言語」 英語 英語 日本語 <設定なし> 韓国語

Slide 33

Slide 33 text

言語 未設定 フォーム名が一致し、 かつ言語を設定しない フォームが開きました

Slide 34

Slide 34 text

データベース 「デフォルトの言語」 フォーム 「設計要素の言語」 クライアント 「内容の言語」 <設定しない> 英語 日本語 <設定なし> 韓国語

Slide 35

Slide 35 text

言語 未設定 フォーム名が一致し、 かつ言語を設定しない フォームが開きました

Slide 36

Slide 36 text

データベース 「デフォルトの言語」 フォーム 「設計要素の言語」 クライアント 「内容の言語」 ロシア語 英語 日本語 <設定なし> 韓国語

Slide 37

Slide 37 text

言語 未設定 フォーム名が一致し、 かつ言語を設定しない フォームが開きました

Slide 38

Slide 38 text

データベース 「デフォルトの言語」 フォーム 「設計要素の言語」 クライアント 「内容の言語」 英語 英語 日本語 韓国語 中国語 韓国語 英語

Slide 39

Slide 39 text

英語 DBの「デフォルトの言語」と 一致するフォームが 開きました

Slide 40

Slide 40 text

データベース 「デフォルトの言語」 フォーム 「設計要素の言語」 クライアント 「内容の言語」 <設定しない> 英語 日本語 韓国語 中国語 韓国語 英語

Slide 41

Slide 41 text

英語 フォーム名で昇順にソートして 一番最初にくるフォーム? が開きました

Slide 42

Slide 42 text

データベース 「デフォルトの言語」 フォーム 「設計要素の言語」 クライアント 「内容の言語」 ロシア語 英語 日本語 韓国語 中国語 韓国語 英語

Slide 43

Slide 43 text

開きません (^^;

Slide 44

Slide 44 text

データベース 「デフォルト言語」 フォーム 設計要素の言語 クライアント 「内容の言語」 開いたフォーム 備考 英語 英語(別名) 日本語(別名) 韓国語(名前) 韓国語 韓国語 日本語フォームの名前を"Main"、別名を削除してみたところ、 同様に韓国語フォームが開いた。フォーム名は名前と別名のど ちらか一致させればよい 英語 英語(名前一致) 日本語(名前一致) 韓国語(名前不一致) 韓国語 英語 内容の言語に一致してもフォーム名が一致しなければ開かない 英語 英語 日本語 (言語未設定) 韓国語 (言語未設定) 内容の言語に一致するフォームはないがデフォルト言語に一致 するフォーム名があっても、言語を設定しないフォームがあればそ ちらが開く - 英語 日本語 (言語未設定) 韓国語 (言語未設定) デフォルトの言語を指定しないDBで、内容の言語に一致する フォームはないが言語を設定しないフォームがあればそちらが開く ロシア語 英語 日本語 (言語未設定) 韓国語 (言語未設定) 内容の言語に一致するフォームがなく、デフォルト言語に一致す るフォーム名もなく、言語を設定しないフォームがあればそちらが 開く 英語 英語 日本語 韓国語 中国語 韓国語 英語 英語 フォームの言語が内容の言語の最上位言語に一致せず、デ フォルト言語に一致する場合、デフォルト言語が開く。内容の言 語の最上位以外は無視される - 英語 日本語 韓国語 中国語 韓国語 英語 英語 フォーム名で昇順にソートしたとき最初にくるフォーム? ロシア語 英語 日本語 韓国語 中国語 韓国語 英語 エラー (文書が無効また はありません) 内容の言語の最上位の言語、およびデフォルト言語と一致する フォームがなければ、開かない データベースのデフォルトフォームの設定も無視される

Slide 45

Slide 45 text

クライアントの設定「内容の言語」(のトップ)と 一致する、言語のフォームが無いとき、 • 言語を指定しないフォームがあれば、 ➢言語を指定しないフォームが開く • 言語を指定しないフォームが無く、 – 「デフォルトの言語」と一致するフォームがあれば ➢デフォルトの言語と一致するフォームが開く – 「デフォルトの言語」の指定が無ければ ➢フォーム名の昇順でソートして最初にくるフォームが開く – 「デフォルトの言語」と一致するフォームが無ければ ➢開かない

Slide 46

Slide 46 text

内容の言語 と一致 言語未設定 の設計要素 言語が一致するフォームが開く 言語未設定のフォームが開く デフォルトの言語 と一致 する しない あり なし 言語が一致するフォームが開く する デフォルトの言語 の指定なし 名前の昇順で最初にくるフォームが開く しない はい フォームは開かない いいえ

Slide 47

Slide 47 text

まとめ (1) • DBのデフォルト言語を指定する場合、その言語に対応 するフォームを作成しましょう

Slide 48

Slide 48 text

まとめ (2) • ユーザーは、クライアントで表示したい言語を「内容の言 語」の最上位に指定しましょう

Slide 49

Slide 49 text

多言語対応TIPS

Slide 50

Slide 50 text

選択肢は各国語で表示したいけど、 保存する値はそろえたい…

Slide 51

Slide 51 text

フィールド「キーワードの別名を許可」 表示する値と保存する値を |(縦線)で区切る

Slide 52

Slide 52 text

「別名を許可」すると… フロントエンドクラス バックエンドクラス NotesUIDocument.FieldGetText(“Answer”) NotesDocument.GetItemValue(“Answer”)(0) “はい” “Yes” 取れる値が違います!!

Slide 53

Slide 53 text

クライアントの言語が知りたい…

Slide 54

Slide 54 text

@LanguagePreference([CONTENT])

Slide 55

Slide 55 text

言語の名称を知りたい… @LanguagePreference([CONTENT]) ar-MA ?

Slide 56

Slide 56 text

@Locale @Locale ( [LocaleName] ; ”ar-MA” ) @Locale ( [LanguageName]; ”ar-MA” ) @Locale ( [CountryName] ; ”ar-MA” ) アラビア語(モロッコ) アラビア語 モロッコ @Locale ( [AltNameLocale] ; ”ar-MA” ) ar

Slide 57

Slide 57 text

WEBブラウザの言語設定方法

Slide 58

Slide 58 text

多言語対応したDBへWebアクセス

Slide 59

Slide 59 text

言語設定(IE11)

Slide 60

Slide 60 text

言語設定(Chrome 61.0)

Slide 61

Slide 61 text

XPAGESアプリケーションにおける多言語 対応のヒント

Slide 62

Slide 62 text

以下、ご参照ください 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

Slide 63

Slide 63 text

参考資料

Slide 64

Slide 64 text

• IBM Lotus Notes/Domino 複数言語環境の解説 – https://www.ibm.com/developerworks/jp/lotus/ldd_tech/20080208.html

Slide 65

Slide 65 text

ご清聴ありがとうございました