2 返信 最新の回答 日時: Dec 2, 2014 5:43 AM ユーザー:ねこ吉

    ラベルを多言語化したい

    ねこ吉

      タイトル

      ラベルを多言語化したい

      フォーラムに投稿

      Filemaker pro 13 Advanced , Yosemite です

      OSX で複数のログインアカウントで、データベースを使っています。

      ログインアカウントの優先する言語を英語にすると、Filemakerでは、メニューなどが

      英語で起動します。しかし、自分がレイアウトした画面上のラベルは、当然ながら

      日本語のままです。ラベルを、resource のように別データにして、利用者の言語にあわせて

      数種類が切り替わるようにしたいと考えています。

      新しい言語を追加するときも、コーディングや、レイアウトモードでの作業なしで、

      エンドユーザーだけで対応させたいです。

      なかなか、スマートなやり方が思い付きません。

      よろしくお願いいたします。

       

       

        • 1. Re: ラベルを多言語化したい
          sago350@未来Switch

          まず、方向性として2つに別れるのかなと。

          1)レイアウトでなんとかする系
          2)ラベルを全てフィールドにする系

          1)は言語分だけレイアウトと作る必要がありますが、言語によっての文字数の差異を調整できます。(フォントサイズを小さくしたり、文字間を狭くしたり)
          また、オブジェクトを隠す設定でラベルを重ねて配置するとレイアウトを複数作らなくてすみますし、言語による文字数の差異も吸収できる。しかし、言語が増えると管理が大変に。

          ラベルを2段にして英語+日本語を併記
          →対応表にもなるし一石二鳥。
          →そもそも多言語な会社だとしても英語を配置しておけばなんとかなるだろう
          ※今回の趣旨とは外れてますね

          2言語ぐらいなら、タブコントロールのタブ名の計算式に埋め込むのも手。


          で、今回は2)の方向性ですよね。
          私も幾つか考えたんですが、なかなか決定打がない状況です。
          マシな方法としては・・・
          ・ラベルをグローバルフィールドにして、起動時にマスタから配置
          →ラベル分フィールドが必要
          →もし、フィールドを共通化すると、管理が大変。画面開く毎に配置する必要がある。
          →言語の違いによる文字数の違いが問題(ex 書類→Document)

          ※マージ変数を使わないのは、変数名が長くなった時の操作がやっかいだからです。
          ※また、定義した変数を忘れそうなので、グローバルフィールドの方が管理し易いかなと

           

          それと、多言語対応で忘れてはならないのが、カスタムダイアログも考えないといけません。
          そこも起動時にグローバルフィールドに設定して、カスタムダイアログ内でそのグローバルフィールドを参照するという設計がいいかなと思います。


          私も他にいいアイデアがあれば知りたいです。

          • 2. Re: ラベルを多言語化したい
            ねこ吉

            sago35さま

            返信が遅くなってしまい失礼しました。

            文言をすべてグローバルフィールドにする方法で解決しました。

            ご教授ありがとうございました。

             

            文言は繰り返しフィールドに複数言語をいれておき、それとは別に計算フィールドで

            特定の言語の単語を読み出すようにしました。

            つまり、一つの文言につき、フィールド2つ使いました。

            根気は必要でしたが、なんとか解決できました。

            今回、マージフィールドをいつになく多用したのですが、確かに、フィールド名が

            長くなると扱いが面倒ですね。文言の組み合わせで可変長になるところ以外は、

            フィールドとして配置したほうがいいですね。