Mozilla 翻訳 フォーラム一覧 Mozilla 翻訳
Mozilla Japan 翻訳部門 ではmozilla.org 全体の日本語化を目指して活動しています。
Mozilla Japan のサイトは翻訳部門が和訳したドキュメントをベースに構築されています。
 
 よくある質問よくある質問   検索検索   登録ユーザ一覧登録ユーザ一覧   グループグループ   登録登録 
 ユーザ設定ユーザ設定   ログインして PM を確認ログインして PM を確認   ログインログイン 

[草稿]Mozilla DOM ハッカーのための手引き: XPCOM 入門

 
このフォーラムはロックされているため、新規投稿、返信、編集を行うことはできません   このトピックはロックされているため、返信、編集を行うことはできません    Mozilla 翻訳 フォーラム一覧 -> mozilla.org 草稿公開
前のトピックを表示 :: 次のトピックを表示  
著者 メッセージ
Nobuyuki



登録日: 2004年11月 18日
記事: 204


ユーザ情報を表示 メッセージを送信 ウェブサイトに移動
記事 件名: [草稿]Mozilla DOM ハッカーのための手引き: XPCOM 入門     投稿時間: 2006年2月04日(土) 20:25 引用

草稿:
訳者: Nobuyuki
原題: The Mozilla DOM Hacking Guide: Introduction to XPCOM
訳題: Mozilla DOM ハッカーのための手引き: XPCOM 入門   (2006/02/04)

Nobuyuki です。
長い文書で多々間違いもあるかと思いますが、Review よろしくお願いします。
以上
Yusuke SATO



登録日: 2005年3月 07日
記事: 76
所在地: 千葉県


ユーザ情報を表示 メッセージを送信 ウェブサイトに移動
記事 件名: Re: [草稿]Mozilla DOM ハッカーのための手引き: XPCOM 入門     投稿時間: 2006年4月26日(水) 00:50 引用

こんにちは、佐藤です。途中まで目を通してみました。


Quote:
The understanding of the content of this document is a requirement to read the rest of the DOM Hacking Guide.
Nobuyuki wrote:
この文書の内容を理解することは、DOM ハッカーのための手引き以外の文書を読むための要件となります。

リンク先のタイトルは Mozilla DOM ハッキングガイド という日本語訳があるので、それに合わせた方がいいかと思います。
あと、 The Mozilla DOM Hacking Guide から辿ってくる文書なので……
Quote:
Mozilla DOM ハッキングガイドの残りの部分を読むには、この文書の内容を理解している必要があります。




A. 入門への手引き

Quote:
In this chapter I will attempt to cover the most widespread use of XPCOM in the DOM, avoiding the details as much as possible.
Nobuyuki wrote:
この章では、できるだで枝葉末節の解説を避けて DOM でごく共通に使われている XPCOM の範囲をカバーしたいと思います。

英辞郎で "most widespread" を引いたら、
Quote:
most widespread nutritional disorder in the world
《the ~》世界中{せかいじゅう}で一番広く知られた栄養障害{えいよう しょうがい}

というのがあったので、これを参考にすると……
Quote:
この章では、できるだけ枝葉末節の解説を避けて、 XPCOM のうち DOM で最も広く使われている範囲をカバーしたいと思います。




B インターフェイス

Quote:
If you know a class implements an interface, just use the methods in the interface, and you don't have to care if the implementation of the interface (the concrete class) changes.
Nobuyuki wrote:
もしクラスがインターフェイスを実装することをご存知ならば、その時インターフェイスにメソッドを使ってください。すると、インターフェイスの実装(具体的なクラス)が変わるかどうか気にする必要はありません。

"concrete class" は「具象クラス」に合わせることにしましょう。
"just use the methods in the interface" というのは、オブジェクト指向プログラミングでよく言われる「インタフェースに対してプログラミングする」のがいいよ、ということだと思うので……
Quote:
もしクラスがインターフェイスを実装することをご存知ならば、単にインターフェイスのメソッドを使うようにしてください。そうすれば、インターフェイスの実装(具象クラス)に変更があっても、気にする必要がなくなります。




Quote:
The bad thing is that we have to find a way to improve those interfaces, and freezing them obliges implementers to create new interfaces.
Nobuyuki wrote:
反対に欠点は、これらのインターフェイスを改善する方法を見つけ凍結するには、実装しようと思えば新しいインターフェイスを作らなければならないことです。

ちょっと怪しいかなぁ、と思ったのですが、原文の意味を上手く理解できませんでした。
  • まず、 Nobuyuki さんは improve と freezing が and で並べられている、と読んで訳しておられるように見えます。一方で、 "we have to ... those interfaces" と "freezing them obliges ... new interfaces" が並べられている、というふうにも読めるのではないかと思います。そう考えて訳すと
    Quote:
    反対に欠点は、そのようなインタフェースを改善する方法を見つけなければならない、ということと、それらをフリーズすると実装者に新しいインタフェースを作らせるのを強いることになってしまう、ということです。

    という感じになりますが、どちらにしても、意味が通じないような……
  • "improve those interfaces" の "those interfaces" って 「will never change anymore な interfaces」でいいんでしょうか。
  • "freezing them obliges ..." の them って何を指してるんでしょう。

インタフェースに対してプログラミングをする際のデメリットは、そのインタフェースを実装しているクラス全てに対して変更が必要になること(実装しているのが他人ならなお厄介)だ、ということを言おうとしているのではないか、とは思うのですが……



よろしくお願いします。
____________________
Yusuke SATO
s-tatsuo@msf.biglobe.ne.jp
Nobuyuki



登録日: 2004年11月 18日
記事: 204


ユーザ情報を表示 メッセージを送信 ウェブサイトに移動
記事 件名: 長い原稿ですが・・・・     投稿時間: 2006年5月02日(火) 00:55 引用

[quote="Yusuke SATO"]こんにちは、佐藤です。途中まで目を通してみました。

Nobuyuki です。佐藤さん、お久しぶりですね。
わたくし自身も校正するのが嫌になるくらい長い文書を読んでいただいてありがとうございました。
Quote:

Quote:
The understanding of the content of this document is a requirement to read the rest of the DOM Hacking Guide.
Nobuyuki wrote:
この文書の内容を理解することは、DOM ハッカーのための手引き以外の文書を読むための要件となります。

リンク先のタイトルは Mozilla DOM ハッキングガイド という日本語訳があるので、それに合わせた方がいいかと思います。

そうですね。関連文書にすでに存在する日本語訳のタイトルに合わせた方が良いと思います。
Quote:

あと、 The Mozilla DOM Hacking Guide から辿ってくる文書なので……
Quote:
Mozilla DOM ハッキングガイドの残りの部分を読むには、この文書の内容を理解している必要があります。

そうですね。『Mozilla DOM ハッキングガイド』に
Quote:
対象となる読者: DOM の実装に興味がある人。C++ と XPCOM の知識があることが前提になります。「XPCOM は知らないけれどもこの文書を読みたい」 という方は DOM のための XPCOM 入門 を読んでください。XPCOM について詳しくは XPCOM プロジェクトのページ を参照してください。
とあるので、それと呼応するように訳すのがいいですね。



Quote:

A. 入門への手引き

Quote:
In this chapter I will attempt to cover the most widespread use of XPCOM in the DOM, avoiding the details as much as possible.
Nobuyuki wrote:
この章では、できるだで枝葉末節の解説を避けて DOM でごく共通に使われている XPCOM の範囲をカバーしたいと思います。

英辞郎で "most widespread" を引いたら、
Quote:
most widespread nutritional disorder in the world
《the ~》世界中{せかいじゅう}で一番広く知られた栄養障害{えいよう しょうがい}

というのがあったので、これを参考にすると……
Quote:
この章では、できるだけ枝葉末節の解説を避けて、 XPCOM のうち DOM で最も広く使われている範囲をカバーしたいと思います。

ここも、直訳すると”DOM における XPCOM の最も広い使用をカバーしたい”となりますので、ご提案いただいた和訳のようになりますね。

Quote:


B インターフェイス

Quote:
If you know a class implements an interface, just use the methods in the interface, and you don't have to care if the implementation of the interface (the concrete class) changes.
Nobuyuki wrote:
もしクラスがインターフェイスを実装することをご存知ならば、その時インターフェイスにメソッドを使ってください。すると、インターフェイスの実装(具体的なクラス)が変わるかどうか気にする必要はありません。

"concrete class" は「具象クラス」に合わせることにしましょう。
"just use the methods in the interface" というのは、オブジェクト指向プログラミングでよく言われる「インタフェースに対してプログラミングする」のがいいよ、ということだと思うので……
Quote:
もしクラスがインターフェイスを実装することをご存知ならば、単にインターフェイスのメソッドを使うようにしてください。そうすれば、インターフェイスの実装(具象クラス)に変更があっても、気にする必要がなくなります。
そうですね、これは”インターフェイスのメソッド”ですね。前文の
Quote:
The goal of interfaces is to have a single ... interface to a set of methods that manipulate an object (often represented by a class), without worrying about the details of the implementation.
を言い換えているだけですね。


Quote:

Quote:
The bad thing is that we have to find a way to improve those interfaces, and freezing them obliges implementers to create new interfaces.
Nobuyuki wrote:
反対に欠点は、これらのインターフェイスを改善する方法を見つけ凍結するには、実装しようと思えば新しいインターフェイスを作らなければならないことです。

ちょっと怪しいかなぁ、と思ったのですが、原文の意味を上手く理解できませんでした。
  • まず、 Nobuyuki さんは improve と freezing が and で並べられている、と読んで訳しておられるように見えます。一方で、 "we have to ... those interfaces" と "freezing them obliges ... new interfaces" が並べられている、というふうにも読めるのではないかと思います。そう考えて訳すと
    Quote:
    反対に欠点は、そのようなインタフェースを改善する方法を見つけなければならない、ということと、それらをフリーズすると実装者に新しいインタフェースを作らせるのを強いることになってしまう、ということです。

    という感じになりますが、どちらにしても、意味が通じないような……
  • "improve those interfaces" の "those interfaces" って 「will never change anymore な interfaces」でいいんでしょうか。
  • "freezing them obliges ..." の them って何を指してるんでしょう。

インタフェースに対してプログラミングをする際のデメリットは、そのインタフェースを実装しているクラス全てに対して変更が必要になること(実装しているのが他人ならなお厄介)だ、ということを言おうとしているのではないか、とは思うのですが……


ここも、今改めて読み直してみますと、"freezing them" の them は those interfaces を指しているように思います。従って、佐藤さんのご提案いただいた和訳で良いと思います。 Smile
小沢



登録日: 2003年5月 23日
記事: 400
所在地: 愛知県


ユーザ情報を表示 メッセージを送信 ウェブサイトに移動
記事 件名: Re: 長い原稿ですが・・・・     投稿時間: 2006年5月03日(水) 23:58 引用

長文お疲れ様です。

コメントの反映版が挙がったら、再度読んでみたいと思います。


Quote:

Stanley Lippman と Josee Lajoie による "C++ Primer" を読んで、私は C++ を学び、DOM コードの体験をしました。


"C++ Primer"で DOM コードの体験をしたように読めてしまうので、thenのニュアンスを出した方がよいかと思います。
#和訳を買って読むと…役に立つかなぁ?

Quote:

XPCOM は参照カウントのメカニズム(短縮形 refcount )を使って、インターフェイスのポインタがオブジェクトを指している間にオブジェクトが削除されていないことを確認します。

make sureは「保証します/実現します」等と訳してみるとどうでしょう。そちらのニュアンスかと。XPCOM関係ドキュメントも見てみるとよいかもです。

Quote:

それで、たとえば”メモリリーク”を発生させ、不要になってもオブジェクトを確保しているので、メモリがシステムに返されることはありません。

「たとえば」とは?「つまり」では?whichの非制限用法もそうですが、i.e. の意味も確認してみるといいかもです。

Quote:

C++ の具象クラスよって

typoです。

Quote:

Simply make a full rebuild. I recommend building distclean.

Quote:

ただ全面的に作り直してください。distclean をビルドするといいでしょう。

ビルドの話なので、
「ただ、全体を rebuild してください。distclean でビルドするといいでしょう。」てな感じでどうでしょう。

Quote:

すべての DOM クラスによって実装される nsISupports インターフェイスは転送マクロや宣言マクロを使って実装されません。

どの DOM クラスによって実装される nsISupports インターフェイスも、転送マクロや宣言マクロを使った実装はされません。

Quote:

最初の概念は理解するのは難しくありません。

最初の概念を理解するのは難しくありません。
____________________
いつも怒られっぱなしで負け組です。
Nobuyuki



登録日: 2004年11月 18日
記事: 204


ユーザ情報を表示 メッセージを送信 ウェブサイトに移動
記事 件名: 再度見直しも含めて     投稿時間: 2006年5月04日(木) 13:58 引用

→Nobuyuki です。小沢さん、Review いただきありがとうございました
Quote:

小沢 wrote:
長文お疲れ様です。

コメントの反映版が挙がったら、再度読んでみたいと思います。


Quote:

→今回のご指摘は、佐藤さんのご指摘と合わせて原稿に反映いたしました
Quote:

Stanley Lippman と Josee Lajoie による "C++ Primer" を読んで、私は C++ を学び、DOM コードの体験をしました。



"C++ Primer"で DOM コードの体験をしたように読めてしまうので、thenのニュアンスを出した方がよいかと思います。
#和訳を買って読むと…役に立つかなぁ?


下記のように変更しました。また、"experiment" も "=to try or test new ideas, methods, etc. to find out what effect they have"ということですので、正しい意味に訂正しました。
→Stanley Lippman と Josee Lajoie による "C++ Primer" を読んで、私は C++ を学んでから、DOM コードをあれこれ試してみました。
Quote:

Quote:

XPCOM は参照カウントのメカニズム(短縮形 refcount )を使って、インターフェイスのポインタがオブジェクトを指している間にオブジェクトが削除されていないことを確認します。

make sureは「保証します/実現します」等と訳してみるとどうでしょう。そちらのニュアンスかと。XPCOM関係ドキュメントも見てみるとよいかもです。

→XPCOM は参照カウントのメカニズム(短縮形 refcount )を使って、インターフェイスのポインタがオブジェクトを指している間にオブジェクトが削除されていないことを保証します
保証はすこし硬い表現かも。
Quote:

Quote:

それで、たとえば”メモリリーク”を発生させ、不要になってもオブジェクトを確保しているので、メモリがシステムに返されることはありません。

「たとえば」とは?「つまり」では?whichの非制限用法もそうですが、i.e. の意味も確認してみるといいかもです。

→ご指摘のとおり、i.e.は ”すなわち”、”つまり”など言い換える時の言葉ですね。
Oxford によると、語源はラテン語だそうです。 "used to explain exactly what the previous thing that you have mentioned means (from Latin ‘id est’)"
Quote:

Quote:

C++ の具象クラスよって

typoです。
→訂正しました。
Quote:

Quote:

Simply make a full rebuild. I recommend building distclean.

Quote:

ただ全面的に作り直してください。distclean をビルドするといいでしょう。

ビルドの話なので、
「ただ、全体を rebuild してください。distclean でビルドするといいでしょう。」てな感じでどうでしょう。

→まんま、使わせていただきました。
Quote:

Quote:

すべての DOM クラスによって実装される nsISupports インターフェイスは転送マクロや宣言マクロを使って実装されません。

どの DOM クラスによって実装される nsISupports インターフェイスも、転送マクロや宣言マクロを使った実装はされません。

→これも直訳調になっていました。
"All ----- not"は、全面否定であり、訳し方に工夫が必要かもしれません。”いずれの・・・・も、でない”など
Quote:

Quote:

最初の概念理解するのは難しくありません。

最初の概念理解するのは難しくありません。


"The first concept is easy to grasp."
→これも英文にはよくある構文ですが、直訳調になってしまいました。

以上、よろしくお願いいたします。
小沢



登録日: 2003年5月 23日
記事: 400
所在地: 愛知県


ユーザ情報を表示 メッセージを送信 ウェブサイトに移動
記事 件名: Re: 再度見直しも含めて     投稿時間: 2006年5月04日(木) 17:20 引用

何点か。二度目も流し読みですが。小出しですみません。
もしかすると、また後日コメントを再度入れるかもしれません。

Quote:

さらに、メソッドを宣言して完全には実装しない限り、クラスは”抽象クラス”として宣言することができます。
Furthermore, a class can be de declared to be "abstract" if it declares some methods but does not implement them entirely.


抽象クラスの説明そのものという感じですね。

さらに、メソッドを宣言しても実装しないメソッドがある限り、クラスは”抽象クラス”として宣言することができます。

Quote:

この考えを最大限に発揮することでクラスは、メソッドを実装せずに宣言するだけで、”完全に抽象的”になります。
Pushing this concept to its maximum, a class can be "purely virtual" if it declares methods without implementing any of them.

この概念を最大限に推し進めると、メソッドを実装せずに宣言したクラスは“完全に抽象的”になります。
全角の「”」を使う場合は「“」で対応させるとよいです。

Quote:

もしクラスがインターフェイスを実装することをご存知ならば、単にインターフェイスのメソッドを使うようにしてください。

もし、あるクラスがあるインターフェイスを実装しているならば、そのままインターフェイスのメソッドを使うようにしてください。
____________________
いつも怒られっぱなしで負け組です。
Nobuyuki



登録日: 2004年11月 18日
記事: 204


ユーザ情報を表示 メッセージを送信 ウェブサイトに移動
記事 件名: Re: 再度見直しも含めて     投稿時間: 2006年5月06日(土) 13:49 引用

Nobuyuki です。

小沢 wrote:
何点か。二度目も流し読みですが。小出しですみません。
もしかすると、また後日コメントを再度入れるかもしれません。


→いいえ、ご指摘は大歓迎です。
Quote:

Quote:

さらに、メソッドを宣言して完全には実装しない限り、クラスは”抽象クラス”として宣言することができます。
Furthermore, a class can be de declared to be "abstract" if it declares some methods but does not implement them entirely.


抽象クラスの説明そのものという感じですね。

さらに、メソッドを宣言しても実装しないメソッドがある限り、クラスは”抽象クラス”として宣言することができます。



→この場合の、"not ........ entirely" は部分否定になるようです。従って、“宣言しながらもすべてが実装されるわけではない”というニュアンスがより明確になっている訳ですね。
Quote:

Quote:

この考えを最大限に発揮することでクラスは、メソッドを実装せずに宣言するだけで、”完全に抽象的”になります。
Pushing this concept to its maximum, a class can be "purely virtual" if it declares methods without implementing any of them.

この概念を最大限に推し進めると、メソッドを実装せずに宣言したクラスは“完全に抽象的”になります。
全角の「”」を使う場合は「“」で対応させるとよいです。




→virtual は“抽象的”より“仮想的”のほうがいいようです。仮想クラス、仮想メソッドなどとも言うようですね。
Quote:

Quote:

もしクラスがインターフェイスを実装することをご存知ならば、単にインターフェイスのメソッドを使うようにしてください。

もし、あるクラスがあるインターフェイスを実装しているならば、そのままインターフェイスのメソッドを使うようにしてください。




→ここも直訳調で訳していました。ご提案の訳文のほうが、より自然な日本語になっていると思います。知っていることが問題なのではなく、インターフェイスを実装しているかどうかに主点があると考えたほうが自然ですね。
Quote:
If you know a class implements an interface , just use the methods in the interface,


以上ありがとうございました。
指定期間中に書かれた記事を表示:   
このフォーラムはロックされているため、新規投稿、返信、編集を行うことはできません   このトピックはロックされているため、返信、編集を行うことはできません    Mozilla 翻訳 フォーラム一覧 -> mozilla.org 草稿公開 All times are GMT +9:00
Page 1 of 1

 
別のフォーラムに移る:  
新規トピックを投稿できません
既存トピックに返信できます
自分の記事を編集できません
自分の記事を削除できません
投票に参加できません


Powered by phpBB © 2001, 2006 phpBB Group (customized by dynamis)