パスワードを忘れた? アカウント作成
251270 submission
ソフトウェア

コミュニティでローカライズを行うには? 49

タレコミ by Anonymous Coward
あるAnonymous Coward 曰く、
# Slashdotに聞けセクションでお願いします
オープンソースであるか否かを問わず、昨今は様々なソフトウェアがコミュニティでローカライズされることが多くなってきており、タレコミ人もその活動を目にすることが多くなった。開発の段階でリソースを完全に分離して、ローカライズをしやすくしているソフトウェアも多々あるようだ。だが、いざその段に移ると、複数人数で作業を推し進めるのは難しい点も多い。gettextはすでに広く使われていることもあり、多数の支援ツールが存在するが、そうでないものに対してはそのようなツールは使いづらく、開発元の更新に追従するのに一苦労することもある。複数人数でそういったソフトウェアをローカライズする場合において、どういった方法があるだろうか?
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by ikotom (20155) on 2010年09月02日 15時22分 (#1818951)

    ローカライズに悩んでいる一人ですが、
    ユーザー向けのメッセージはまだいいんです。国際向けなら、ちゃんとそれ専用にリソース配分することにも理解を得られやすいですから。
    悩むのはソース中のコメントとログです。

    コメントは、まあ日本の会社だし日本語にしちゃえ、という方針にしてます。(一部外国人もいますが日本語覚えてね、と強制しちゃってます)
    問題はログです。
    ソースコメント同様に、ユーザーは見ないですが、サポートスタッフ(技術的に多くを望めない)は見ます。
    すると、
    ・日本語だと、日本のサポートには判りやすいが、他国のサポートにはわからない
    ・英語にすると、最大の割合(ほぼ8割以上)でログを見ることが多い国内サポートにとってハードルが高い
    ・だからといって各国でログを切り分けるのは非常に面倒くさい (お
    ということに。

    Windowsのイベントログとかだと、はじめからその仕組みが揃っているからいいんですけどね。
    *nix系だと皆さんどうされてるかぜひ知りたいところです。

    • by Anonymous Coward on 2010年09月02日 16時44分 (#1819027)
      ログに ID をつけて、対応マニュアルを
      ID で引けるようにしておくのが定石かと思いますが
      親コメント
    • by Anonymous Coward
      エンタープライズじゃなくて個人で恐縮ですが、大量のログを見るときはログビューアを作っています。
      シェルスクリプトに毛が生えたようなものですが。
    • by Anonymous Coward
      大丈夫だよUNIX系の技術者はみんな宇宙語読めるから。Solarisのコンソールに流れるログのあれ。
      • by Anonymous Coward

        鳩山がアップをはじめたようです。

        • by Anonymous Coward

          あの方は他人の言葉をトリガーにして自分の言いたいことを言ってるだけ。
          政治評論家よりも精神科医の方が適切に分析できると思う。(穏当な表現)

  • by nkz (4739) on 2010年09月02日 15時08分 (#1818936)

    翻訳の内容についてのコメントが多いようですが、その外側について一言。

    複数人で作業しようとすると、何らかのバージョン管理システムを導入したくなります。一方、本家のソースもほぼ間違いなくバージョン管理システムが使われていて、そのすり合わせのところが何かと面倒です。

    一口に「差分」と言っても、本家と翻訳版、(本家は変わらず)翻訳の手直し、本家のバージョンアップ、本家バージョンアップ版に対する翻訳版、翻訳版とバージョンアップ版の翻訳版、などがあるので、たいてい混乱します。

    • by Anonymous Coward
      他のコメントにもあるlaunchpadのローカライズ用の機能って、実際に携わる人にとってはどうなんでしょう。
  • by Anonymous Coward on 2010年09月02日 17時24分 (#1819063)
    ・gettextレベルで翻訳されており、コンテキストにそぐわない翻訳がやられていることがある
    ・そのメッセージが出ている画面を探そうにも見つからないことがある
    ・仮定されているフォーマットが絶望的(語順とか単位とか日付とか小数点とか)。ある意味、日本人から見れば、複数形とかもかわいそう。
    ・訳が長くなりすぎて、GUIに収まらない
    ・グローサリが用意されてない(あっちとこっちで訳語が異なる)
    ・プログラムとかサンプルの類の翻訳しちゃいけないモノまで翻訳されている
    ・バージョンアップしたらGUIが大幅に修正されてた(今持っている翻訳データを使い回すのは絶望的?)
    ・画像もローカライズ対象になり得ることが理解されていない
    ・Windows(R)がウィンドウ、あるいは窓と訳されている
    • by kei100 (5854) on 2010年09月03日 1時20分 (#1819335)

      アクセラレータキーが全て消えている。(
      # 例えば"&File"が"ファイル(&F)"でなく、"ファイル"だけになっていて、キーボード操作性が悪化してる

      メニューやコマンドの文字列リソースが、実はプログラム内部のパラメータとして使用されている。
      逆のケースで、内部のプログラム用の文字列定数等を表示する為に不恰好になる。
      意図しないiniファイルの項目まで翻訳されてしまう。(内部で単純置換してる?)
      同様に、システム用定数が翻訳すると影響してしまう。
      そもそも、内部処理がシングルバイト文字しか考慮してないので表示だけローカライズしても意味が無い。
      GUIのフォントがシステムが用意する規定のフォントでなく、日本語を表示しようとすると化ける。
      も追加で。

      親コメント
      • by Anonymous Coward
        Windowsのスタートメニューとか、日本語化でヒドイことになってますよね。

        たとえば「アクセサリ」。
        英語版のWindowsだと一文字目が'A'なので、キーボードのAを押せば選択のフォーカスが、そこに移る。
        日本語版のWindowsだと一文字目が'ア'だが、キーボードのAを押しても反応しない。
        だから、「Aアクセサリ」に名前を変更している。
  • 翻訳支援ツール (スコア:3, 参考になる)

    by Kachi (6876) on 2010年09月02日 18時14分 (#1819114)
    最新情報ではありませんが、参考まで。

    知っておきたい、オープンソース翻訳支援ツール最新動向
    http://www.catch.jp/oss/oss_transtools/index.html [catch.jp]

    Sun Fun Times - オープンソースプロジェクトの翻訳作業を支援するサン
    http://jp.sun.com/communities/0601/feature03.html [sun.com]
    http://jp.sun.com/communities/0602/feature03.html [sun.com]

    オープンソースによる翻訳支援ツール
    http://www.catch.jp/blog/opensource/a20051215.html [catch.jp]

    あと、Oracle(元Sun)のドキュメントの国際化などを担当している方のブログも面白いです。
    http://blogs.sun.com/reiko/ [sun.com]
  • by SAW_Z (15894) on 2010年09月03日 10時51分 (#1819396) 日記
    プログラミングが実質できないんで、オープンソースへの貢献らしい貢献ができませんが
    ローカライズの作業は、プログラミング技術が無い人にも取り組みやすい貢献と思っています。

    GeeXboXという、CDやDVDにLinuxベースのマルチメディアプレーヤーと
    それで再生するデータを一緒に収録して利用できるディストリビューションがあります。

    当時、中国と台湾と韓国などへの対応が可能のISOジェネレーターがありましたが
    日本語対応が行なわれておらず、設定ファイルを手作業で修正し
    2chのスレなどで、その情報を公開しました。アレオレ(苦笑)
    私の関連サイトはすべて消滅済みで、2chでもDAT落ち、2ちゃんぬるなどに残る程度。

    それなりに好評で、一応日本語化のための設定ファイルのいくつかは
    開発チームのほうに送ったりはしました。機械翻訳の相互翻訳で検証して
    意味が伝わるはずのメールにして送ったんですが…

    短期間の間に反応が無く…そのうち情熱が薄れ…そのままになってしまいました。
    その後、GeeXboXのバージョンアップで日本語化もできるISOジェネレーターがリリース。
    (たしか1.2でのことで、今試したらMythTV機とUPnPで連携も可能です)

    ただし、その中のメニュー設定は日本人が行なったローカライズではありませんでした。
    たとえば、"ファイルを開ける"といったネイティブの日本語表現では見られない表現があります。

    最近当時使っていたメールアドレス元ドメインの廃止に伴いメールを整理していたら
    遅れて、返事のメールが来ていたことがわかったのですが
    先方の"Spamフォルダーに落ちていて、発見が遅れた"ということだったようです。

    そして、うちもまた、大量の外国語Spamの中に埋もれた返事を、長いこと見落としていました orz

    現在ではGeeXboXは2.0αまで来ていて、DVBカードへの対応とか
    組み込みOSとしての取り組みとかやっていますが…

    Linuxで使える日本向けDVBカードが存在できないし
    Blu-RayとかDTCP-IPクライアントとか、Linux系特有の難題があり
    あまり、魅力を感じないので、日本語化への努力も放棄しています。
    wiiでもあればwii版をいじってみますけど持っていないのです。

    2.0が正式版になったとき、日本語対応がどうなるかはわかりませんし
    1.2が今後どういう扱いなのかもよくわかんないんですけどね。

    基本的に、英語赤点とりつづけて高校出た程度なので
    英語サイトのフォーラムに常駐とか無理なのです orz
  • ただ日本語に翻訳すればいいってわけじゃないし(汗)

    以前 OS2.jp で eComStation 2.0 の日本語化の話題になったとき(この辺 [os2.jp])にも、英語オブジェクト名が Appearance になっている代物が仮の日本語訳では「見た目(実際には、見目)」となっていて、何だこれという話になりました。直訳しただけでは意味が通じにくい例ですな。

    さらにeComStation 2.0 デスクトップ [ameblo.jp]にある 「Local System」フォルダひとつ取り上げても、直訳して「ローカルシステム」にするか、OS/2日本語版ライクな「eCS システム」にするか、はたまた「マイ・コンピュータ」にするか、相当の表現にはいくつもあり・・・。独りでローカライズするならまだしも、グループで行っている場合どうやって訳語の選定をしているんでしょうかね。このあたり興味ありますね。

    # eComStation 翻訳チームとは無縁だけどIDで

    --
    モデレータは基本役立たずなの気にしてないよ
  • by bero (5057) on 2010年09月04日 2時23分 (#1819931) 日記

    ちょうど今日明日は東京で黙々翻訳する会があるようです

    2010/09/04 Doc/TransFesta Tokyo 2010 [atnd.org]

    OSSのドキュメンテーション、翻訳担当者のための集まりです。
    ドキュメンテーションや翻訳に関することをはじめてみたい方もお気軽にお越しください。

    2010/09/05 Sphinx + 翻訳 Hack-a-thon 2010.09 [atnd.org]

    ソフトウェアのドキュメントに興味のある人が集まって、みんなで翻訳しよう、というイベントです。

    #俺も自宅でなんか訳すか

  • by Anonymous Coward on 2010年09月02日 12時38分 (#1818814)

    http://launchpad.net/ [launchpad.net] を使ってローカライズ管理
    ここ使うのって、Ubuntu関連だけではないんですよ

  • by Anonymous Coward on 2010年09月02日 13時00分 (#1818833)

    Sun(現 Oracle)のサイトーさん [sun.com] とかは昔からいろいろやっておられますよ
    #もうひとりは J2ME の人

  • by Anonymous Coward on 2010年09月02日 13時07分 (#1818839)

    たとえば英語ではbe動詞+過去分詞で受け身を表すけど、その部分を
    単語レベルにまで分解されてしまうと、文法が異なる言語への翻訳は
    困難になります。

    有名どころでは「メモリが"written"になることができませんでした」とか。

    ですので、ローカライズは、オリジナル版の作り方にも注意して、
    「これじゃあ訳せない」というのは対処してもらう必要が生じることもあります。
    というわけで、ローカライズ作業には、オリジナル版の作者との連携や
    信頼関係も重要だと思います。でも、そこまでの信頼関係が築けたのなら、
    いっそローカライズ版なんてやめにして、オリジナル版に日本語訳も
    組み込んでもらうほうがいいとも思います。

    • by Anonymous Coward

      ある意味おいて、この手のものは定型文ばかりなんだから
      無理に自然言語訳しようなんて途方もない事を考えないほうが楽かもしれませんね

      前に関ったものだと
      これじゃあそもそも日本語の文章になってねぇよというメッセージの英文化に途方にくれた事があります

      • だから俺にどうしろと… (スコア:1, おもしろおかしい)

        by Anonymous Coward on 2010年09月02日 14時14分 (#1818885)

        「このコンピュータに接続されているUSBデバイスの1つが正しく機能していないことが、Windowsによって認識されていません。」
        100回読んでも意味が分かりませんでした。

        親コメント
        • 「Windowsは、このコンピュータに接続されているUSBデバイスの少なくともひとつは認識。」 している。
          しかし、「認識したデバイスが『正しく機能していることはもちろん』のこと、正しく機能していないことをも含め、(接続されているという事実以外の)状態は認識(確認?)されていません(できません)。」
          なので、ローカライズは大事だね、と。

          親コメント
        • by T.Sawamoto (4142) on 2010年09月02日 17時05分 (#1819043)

          原文は

          One of the USB devices attached to this computer has malfunctioned, and Windows does not recognize it.

          のようですね。最後の"it"が指す対象を誤訳してしまったのかな?

          親コメント
          • by Anonymous Coward

            エキサイト翻訳のほうがまだわかりやすい訳にしてくれますね。

            • by Anonymous Coward

              今はともかくWindows XPが出たばかりの頃はもっとひどかったですよ

        • 「認識してるからメッセージ出てるんじゃん」とツッコミを入れればいいと思うよ。
          # 当該USBデバイスを探して、抜いて、挿し直す。再発するなら別の所に挿し直す。

          親コメント
      • by Anonymous Coward
        まさしく「日本語でおk」。

        でも、そういうのって多いよね・・・・・。日本語の文書だけなの?教えてスラッシュドット\マン。
    • by Anonymous Coward
      正直、開発者向けのツールはローカライズされない方が良いと思うんですよね。
      意味が分からないエラーは、日本語だろうが、英語だろうが分からない。それよりは、英語のエラーの方がググりやすい。
      エラーメッセージは、結局は、条件反射だと思うわけです。慣れれば良いだけ。

      エンドユーザー向けのツールはローカライズしないというのはあり得ないとは思いますが。
      • 開発者向け(あるいは何らかの専門家向け)というのであれば、こっちのACさんも触れていますが [srad.jp]IDを振るのが便利だと思います(例えばVisual C++: コンパイラ エラー C2001 [microsoft.com])。

        オフィシャルな文書は日本語でも英語でも読めるし、ググれば日英その他どの言語の情報も結果に出ます。英語という1言語に特定するよりは便利だと思います。

        親コメント
      • by Anonymous Coward

        なぜ翻訳は意味がわからないと決め付けるのだろうか。
        英語と母国語では明らかに母国語のほうが解りやすいし、とっつきやすいでしょう。
        あの難読だらけのMSDNだって日本語に関しては日々(少しづつかな?)翻訳の質はよくなってきています。
        そしてそれが開発者の裾野を広め、質を高めているわけです。
        大体エラーなんてものは異常時なわけですから、条件反射で対応するものでもないし、ぐぐってOKなんてものでもないでしょう。
        # つか同じエラーをだすようなミスはそんなにしません。

        私は翻訳されているものがあれば、そのほうがよいです。

        ちょうどよい機会なので、この場を借りて御礼を。
        日々お世話になっておりますm(_ _)m>翻訳者の方々。

    • by Anonymous Coward

      バイナリ化しきってしまうのはアレなんで...多少はユーザー(ユーザー側のシステム管理者とか)がつつけるようにしてくれるのがうれしいかも。

      気づく範囲で、すっごくやりにくい例:
      - Welcome to [ロゴマーク]のように数値や翻訳不可部分の前または後のみに翻訳可能部分がある(OpenOffice.orgのウェルカム画面)
      - そもそも翻訳以前に内部でエンコーディングの扱いがアレで(一部機能が)使い物にならない(フリーソフトに多い)
      - 翻訳すると大きく文字数が変わってしまい、はみ出したりアンバランスになったり(結構ある)
      - OptionとPreferencesが別の意味で使われている等、日本語では使いわけがきかない(openSUSEのYaST)
      - フォントがデザインの一部になっており特殊なもので、日本語表示のために汎用フォントに置き換えられてすごく汚い(WindowsXPのタスクバーまわりとか)
      - すっげー馴れ馴れしい表現 日本文化としては変(Twitter他)

  • by Anonymous Coward on 2010年09月02日 13時36分 (#1818859)
    そうでないものって何を指すのかしら。ちょっと読んだだけでは意味がよくわからない。
    • by Anonymous Coward

      タレコミ人が何を言いたいかちょっと良く分からないですね。

      ・gettext のような汎用言語カタログ機能を使ってる → それに従う
      ・アプリ独自で言語カタログ機能を実装してる(Webアプリとかで多い) → それに従う
      ・言語カタログ機能が実装されてない → 日本語パッチ作る、あるいは言語カタログ化パッチを作る

      他にどうしろと?

      • by Anonymous Coward
        プログラム内に埋め込まれた生成前のメッセージに日本語訳を用意するのではなく、
        プログラムが生成した後のメッセージを日本語訳に置き換えるフィルタを通すような例、ないのかな。

        たとば、「メモリがwrittenになれませんでした」なんて類いの問題は、
        「メモリが」+任意の文字列+「になれませんでした」という処理だから困るのであって、
        まず英語のメッセージ「The memory could not be "written".」を生成させて、
        それをフィルタによって「メモリを読むことができませんでした」に変換すればいい。

        元のメッセージが動的に生成さ
        • by kei100 (5854) on 2010年09月04日 12時16分 (#1820042)

          問題は、それを出すのがカーネルとかそこに近い場所だった辺りなんですかね?
          Win32 APIだとFormatMessage [microsoft.com]辺りが該当機能を持ってます。

          親コメント
          • by Anonymous Coward
            Windowsで「メモリがwrittenになれませんでした」という文字列を生成・表示しているのはカーネルではなく、プロセスの「デフォルト」の例外ハンドラです。
            アプリケーションは独自の例外ハンドラを用意し、デフォルトのそれと差し替えることができます。
            (アプリケーションが例外処理を怠ったときのセーフネットではないことに注意。)

            OSはアプリの持つ例外ハンドラに対して"written"という文字列を渡したりはしません。
            具体的にはunsigned longの1という値を渡してきます。readなら0です。

            なお、Windowsはオープンソースではないので、ソースコードを直接書き換えたりせずに様々なことが可能なように作られています。
            プロセスのWin32APIコールのフックチェーンに参加して、ウインドウに表示しようとする文字列を英語から日本語に差し替える、なんていう強引なことも可能です。
            しかし、そんなことをするよりも標準手法・・・つまりEXEやDLL内の"リソース"にメッセージの文字列を格納するのが昔からの作法です。
  • by Anonymous Coward on 2010年09月02日 14時18分 (#1818891)

    翻訳する人が少ないと嘆いているのは見るけど
    逆に翻訳が進みすぎて取り仕切れないってのは見たことがないな。

    だからそんなにシステマティックに進めなくても
    それなりにうまくいってる感じがする。
    ゲームのローカライズ風景を眺めてると。

    # 日本ではシングルなPCゲーは商業的に見放されつつあるから
    # 有志の方々の翻訳プロジェクトは本当にありがたいです。
    # いつもありがとう!

  • by Anonymous Coward on 2010年09月02日 16時13分 (#1819003)
    全国各地から参加者を募る
    各県方言バージョンがあっという間に出来上がる
  • by Anonymous Coward on 2010年09月03日 11時52分 (#1819446)
    ときどきメッセージカタログの日本語翻訳を行っているものですが、実のところ「習うより慣れろ」でやってきたもので、やっていることはけっこうベタベタです。
    • まず pot ファイルをコピって、日本語訳を追記する。
    • 元ソフトがバージョンアップしたときは、新旧 pot ファイルと旧 po ファイルの diff3 を取って新 po ファイルに patch し、オリジナルのメッセージで変更されたところを訳し直す。

    というのが基本フローですが、

    • 急に作者の気が変わって、ソースファイルの構成がガラリと変わった
    • 急に作者の気が変わって、従来「command」と称していたものが「recipe」と呼ばれることになった
    • 急に作者の気が変わって、従来 "…" 囲みだったメッセージが ``…'' 囲みに変更された

    とかが起こると、本質的でないところで作業量が激増してややしょんぼりします(´・ω・`)

    この種の作業の「王道」って、何なんでしょう?

    • by nkz (4739) on 2010年09月03日 14時16分 (#1819540)
      • まず pot ファイルをコピって、日本語訳を追記する。
      • 元ソフトがバージョンアップしたときは、新旧 pot ファイルと旧 po ファイルの diff3 を取って新 po ファイルに patch し、オリジナルのメッセージで変更されたところを訳し直す。

      というのが基本フローですが、

      msginitmsgmergeはお使いなのでしょうか? 「ガラリと変わった」のなら仕方ないですが、多少のものなら fuzzy で救われませんか。

      親コメント
typodupeerror

日本発のオープンソースソフトウェアは42件 -- ある官僚

読み込み中...