Enumの日本語訳
私の知る限り、現在PHPの内部EnumはRandom\IntervalBoundaryとRoundingModeの2つです。
ところがどちらも未翻訳であり、どう翻訳するべきかを議論したいです(主にページタイトルなど)。
例:
RoundingMode Enum
RoundingMode Enumは、 round()、 bcround()、およびBcMath\Number::round()で丸めを実行する方法を指定するために使用されます。
RoundingMode列挙体
RoundingMode列挙体は、 round()、 bcround()、およびBcMath\Number::round()で丸めを実行する方法を指定するために使用されます。
私は、列挙体という言い回しを実務で使うことがほぼ無いため、「Enum」に1票です。
cc/ @mumumu @KentarouTakeda
列挙体と言うことは少ないので、 わたしも「Enum」に1票ですね
@SakiTakamachi PHPマニュアルの翻訳に興味を持って下さっている方に広く聞いてみたいのでSlackの phpusers-ja#phpmanual で意見を募ってます: https://phpusers-ja.slack.com/archives/CRDJ5KLCT/p1742343021617289
ここに直接たどり着いた方はコメント欄に書いていただいても大丈夫です
Enumは一般的には列挙体ではなく列挙型と翻訳されるかと思います。 php.net側でも列挙型と呼称されているので合わせるならこちらかと思いますが、わざわざ邦訳するほどのことかは同様に思うところです。 https://www.php.net/manual/ja/language.types.enumerations.php
自分も「列挙体」に馴染みがないので、「Enum」に1票いれます。
今の所、(slack含めて)「Enum」がかなり票数が多いですね ひとまず「Enum」で翻訳を進めてみます!
1週間くらい様子を見て、まだ「Enum」が断トツそうであれば「Enum」でいく感じにしましょうか
このトピックってどういうコンテキストなのでしょうか。なぜ「列挙体」と「Enum」の2択で検討しているのでしょうか。既に示されていますが https://www.php.net/manual/ja/language.enumerations.php では「列挙型」と訳されていますよね。
コンテキストが分からないので何とも言えませんが、例えば検討するキーワードが Array であったならば「配列」と訳さずに Array のままにするのでしょうか。Enum に対して対応する日本語を考えるのであれば、他の言語でも採用率の高い「列挙型」にすべきかと思います。
補足ですが、「列挙体」という訳は C99 の JIS 規格である『JIS X 3010:2003 プログラム言語C』で訳出されたものであり「構造体」「共用体」と並ぶものとして「列挙体(enumeration)」が定義されています。同時に「列挙型(enumerated type)」も定義されています。
すみません、列挙体を例にしたのは私のミスです。 とはいえ、別にこの2つに絞って議論してるわけではなく、あくまで例です。
組み込みのenumの名称などを翻訳する際、日本語訳にすべきか、そのまま「XXX enum」とすべきか、みたいなところが私の相談したかったポイントになります。
edit: そもそも私がミスで「列挙体」としたのは、ここで翻訳したいものが「enum type」というニュアンスではないからです(つまり、C言語の翻訳の感覚でいうと「列挙体」になります)。 ただしPHPでは列挙体という単語は使われてないので、そういう意味でも、そのまま「Enum」としておくのが無難なように思えます。
@SakiTakamachi
そもそも私がミスで「列挙体」としたのは、ここで翻訳したいものが「enum type」というニュアンスではないからです(つまり、C言語の翻訳の感覚でいうと「列挙体」になります)。
"enumerated type" と "enumeration" を日本語で区別する必要性がどれほどあるのか分かりませんが、個人的にはどちらも「列挙型」と呼んでしまってよいのではないかと考えています。
訳し方を考えるにあたって https://www.php.net/manual/ja/language.enumerations.backed.php のページは参考になりませんか?
@debiru
挙げられたページより抜粋
そして、単一の列挙型が一度に持つことの出来る型はひとつだけです
「単一の列挙型」という表現を見るに、PHPでは(C言語でいう)「列挙体」も含んで「列挙型」と表現しているようですね、ありがとうございます。
となると、やはり「Enum」 or 「列挙型」みたいな話になってきますね。
@SakiTakamachi
PHPでは(C言語でいう)「列挙体」も含んで「列挙型」と表現しているようですね、
「PHPでは」というより他の多くの言語(C言語も含む)で Enum を指して「列挙型」という訳が一般的に当てられているかと思います。"Backed Enum" のような用語としての Enum は訳さずにそのままにして、一般用語としての Enum は列挙型と訳すのがよいのではないかと思います。
問題のページは以下ですよね。
- https://www.php.net/manual/en/enum.roundingmode.php
- https://www.php.net/manual/en/enum.random-intervalboundary.php
特定の Enum の説明ページについて日本語訳が存在するのは https://www.php.net/manual/ja/enum.qosclass.php のみのようです。しかし読んでみましたが、日本語の訳し方としてこのページが参考になるかというと微妙な気がします。"Enum synopsis" は「列挙型の概要」と訳されるべきでしょう。またページタイトルも「QosClass 列挙型」と訳しても良いように思います。
ここまでの検討結果は、
- Enum を訳すなら「列挙型」とするのがよさそう
- "Enum synopsis" は「列挙型の概要」とするのがよさそう
- "The FooBar Enum" を「The FooBar Enum」とするか「FooBar 列挙型」とするかは要検討
といったところでしょうか。参考になれば幸いです。
ひとまず「Enum」で、一つ作成しました https://github.com/php/doc-ja/pull/273
"The FooBar Enum" を「The FooBar Enum」とするか「FooBar 列挙型」とするかは要検討
完全に出遅れて恐縮ですが、「FooBar 列挙型」に1票です。
クラスが "The FooBar Class" を 「FooBar クラス」としているので、その形式に合わせた形にするというのが理由です。