php / doc-ja Goto Github PK
View Code? Open in Web Editor NEWJapanese translation of the PHP documentation
Japanese translation of the PHP documentation
現状は複数名でアクティブにメンテナンスしている状態ではないのですぐには必要ないが、表記ゆれを検知/修正するツールとしてtextlint の導入を必要に応じて検討する。
活用例: https://buildersbox.corp-sansan.com/entry/2022/04/18/110000
#21, #23, #24, #26, #42, #44 があったため、こちらの表記揺れについても Issue を発行しました。
対応不要であればお手数ですがクローズをお願いいたします。
kangetsu@ubuntu20:~/work/doc-ja$ grep -rn サーバー ./ | wc -l
1232
kangetsu@ubuntu20:~/work/doc-ja$ grep -rn サーバ[^ー] ./ | wc -l
279
kangetsu@ubuntu20:~/work/doc-ja$
textlint を使うと表記揺れなどについてルールを設けることができるので、必要であれば導入を検討してもよいかもしれません。
活用例: https://buildersbox.corp-sansan.com/entry/2022/04/18/110000
static variable
を「静的変数」と訳している箇所が多くあるが、「static 変数」と訳している箇所もある。
これを後者に置き換える。
先人は「ビルトイン関数」としているが、「組み込み関数」となっている箇所がある。前者に統一する方向で。
From manual page: https://php.net/function.define
英語文
`
Warning
Defining case-insensitive constants is deprecated as of PHP 7.3.0.
`
誤
大文字小文字を区別 する 定数を定義するのは、PHP 7.3.0 以降では推奨されなくなりました。
正
大文字小文字を区別 しない 定数を定義するのは、PHP 7.3.0 以降では推奨されなくなりました。
「XXXX を見て下さい」という意味の訳に、以下の2種類が混在している。
「ください」についても、漢字の「下さい」と「ください」が混在している。
継承の文脈で使われる override
の訳が、「オーバーライド」「上書き」の2つでブレているので、どちらかに統一する。
From manual page: https://php.net/function.imagecreatefromstring
Not "認識できない書式のデータを受け取った場合に、 imagecreatefromstring() は E_WARNING レベルのエラーを発酵します。 " but "認識できない書式のデータを受け取った場合に、 imagecreatefromstring() は E_WARNING レベルのエラーを発行します。" in Japanese site.
From manual page: https://php.net/domdocumentfragment.appendxml
DOMDocumentFragment::appendXML generates a warning in my environment (PHP 8.1.6 with Windows 10)
when appending an "a" tag data including multiple queries (including "&") as a link destination.
Try below.
$doc = new DOMDocument();
$doc->loadHTML('links', LIBXML_NOERROR);
$f = $doc->createDocumentFragment();
$data0 = 'Foo Manual';
$data1 = 'Foo Manual';
$data2 = 'Foo Manual';
$f->appendXML($data0); // no error
$f->appendXML($data1); // no error
$f->appendXML($data2); // warning
echo $doc->saveHTML();
static メソッドや static プロパティは、スコープ定義演算子で以下のようにアクセスする
<?php
class Test {
public static int $prop = 1;
public static function testMethod() : int { return 2; }
};
var_dump(Test::$prop); // 1
var_dump(Test::testMethod()); // 2
上記の呼び方を statically call
と呼んでいる箇所がかなりある。日本語版では「静的にコールする(呼び出す) 」と訳しているのだが、正直意味がわからない。静的にってどういうこと!? そのまま statically を置き換えただけである。
これについては、 (インスタンス化せずに)スコープ定義演算子を使ってアクセスする
という意味なので、適切なタイミングで置き換える。
The title of the third example isn't translated.
Relative callables
は、特定のクラスから見て、相対的な位置にあるメソッドを呼ぶ際の callable という意味である。これが PHP 8.2.0 からは deprecated になる。
「引数」と「パラメータ」は、関数やメソッドの文脈で混同されやすい。
これらがもし混同されている事例が確認された場合、この issue で対応する。
https://www.php.net/manual/ja/function.htmlspecialchars.php
PHP 8.1 で、htmlspecialchars
関連の関数のデフォルト値は、ENT_COMPAT
から ENT_QUOTES | ENT_SUBSTITUTE
に変更され、マニュアルにもそれが反映されている。
だが、flags
パラメータのデフォルト値の説明は、以下のように ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401
となっている。
https://www.php.net/manual/ja/language.types.type-juggling.php
現状のマニュアルには、上記のように何の処理も行われない b プレフィックスや、(string) キャストと等価なサンプルがいかにも意味があるように記述されており、ユーザー視点から混乱を招くという指摘がある
PHP Manual 日本語版における unserialize
の訳語が、以下の2通りでブレており、どうするかが問題になる。
まず、シリアライズされた PHP の値を復元する処理として、unserialize() というインターフェイスが存在する。一方、シリアライズの対義語として、deserialize という語も存在するので、PHP Manual では、上記の2つが表記揺れの形で存在する。
https://en.wikipedia.org/wiki/Serialization を見てもわかる通り、上記はどちらも正しい。よって、決めの問題であるかもしれないが、既存の文脈も一応見直し、修正を行う必要がある。
This process of serializing an object is also called marshalling an object in some situations.
The opposite operation, extracting a data structure from a series of bytes, is deserialization,
(also called unserialization or unmarshalling).
refs: php/php-src@e245985
そもそも A) や B) が php-src 的に正しい修正かが判断できないので、まずは、日本語版の issue に記録しておく。
現状が追認されるようなら、英語版も含めたマニュアルそのものの修正も視野に入れる。
language construct
の訳が揺れているので、「言語構造」で統一する
https://www.php.net/manual/ja/function.array.php
https://www.php.net/manual/ja/function.print.php
crc32()
関数のドキュメントにおける警告文中の一節について、誤訳ではないかと思われる箇所を発見したためご報告します。
原文 より引用:
Having 64bit installations also return negative integers for higher result values was considered but would break the hexadecimal conversion as negatives would get an extra 0xFFFFFFFF######## offset then. As hexadecimal representation seems to be the most common use case we decided to not break this even if it breaks direct decimal comparisons in about 50% of the cases when moving from 32 to 64bits.
2022-09-20 現在の日本語版 の対応箇所より引用:
64 ビット環境でも、戻り値が大きくなると負の整数を返すことが考えられます。 その場合は十六進変換がうまくいかないので、負の整数については オフセット 0xFFFFFFFF######## を与えます。 十六進表現は最もよく使われる形式なので、この処理が壊れないようにしました。 32 ビット環境から 64 ビット環境に移したときに ほぼ 50% の確率で十進形式での比較が失敗してしまいますが、 それよりも十六進表記のほうを優先したのです。
このうち「64 ビット環境でも、戻り値が大きくなると負の整数を返すことが考えられます」という部分は、少し上にある
PHP の整数型は符号付きで、多くの crc32 チェックサムは 32 ビットシステム上では負の整数になります。 しかし、64 ビット環境では crc32() の結果はすべて正の整数となります。
という文と矛盾しています。後者の文にあるように、64 ビット環境において、32 ビットの整数は必ず正になり、「戻り値が大きくなると負の整数を返す」ことはありません。
それを踏まえると、原文の "Having 64bit installations ... was considered" の部分は、「64 ビット環境でも、大きな戻り値に対して負の整数を返すことが検討されました」とするのがよいのではないでしょうか。
また、この次の文「その場合は十六進変換がうまくいかないので、負の整数については オフセット 0xFFFFFFFF######## を与えます」は、原文における "as" が、理由を表す節として訳されていないように思いました。
こちらについても、「しかしその場合、負の整数には余計な オフセット 0xFFFFFFFF######## が付くので、十六進変換が壊れてしまいます」とするとよいのではないでしょうか。
2点をまとめると、次のようになります:
64 ビット環境でも、大きな戻り値に対して負の整数を返すことが検討されました。 しかしその場合、負の整数には余計な オフセット 0xFFFFFFFF######## が付くので、十六進変換が壊れてしまいます。 十六進表現は最もよく使われる形式なので、この処理が壊れないようにしました。 32 ビット環境から 64 ビット環境に移したときに ほぼ 50% の確率で十進形式での比較が失敗してしまいますが、 それよりも十六進表記のほうを優先したのです。
refs php/php-src@d8c785b
文字幅に関する仕様はPHP: mb_strwidth - Manualで説明されている通りUnicodeのTR-11 EAST ASIAN WIDTHに準拠していますがeaw_table.hは2011年から更新されておらず、PHP 8.1リリース前のmbstringのオーバーホールによってUnicode 14.0に追従しました。
その際、てきめんさん @youkidearitai が指摘するように、2011年以降に追加されたEAWプロパティがF
かW
の文字に関する計算が変わってしまっています。
PHP: mb_strwidth - Manual に関して、以下の対応が必要になりそうです。
https://www.php.net/manual/ja/language.enumerations.php
PHP Manual は chunked HTML という、ページがセクションごとに分割される形式で表示される。
そのため、このページ の以下の表示はおかしい。
また、このページには以下の通り typo も存在するが、 5cc30e3 で修正済み。
PHP は、ext/ 以下に、PHP コアの機能を使って関数やクラスなどの機能を追加できるようになっており、これを「拡張機能」または「エクステンション」「拡張モジュール」と呼んでいる。
原文では、extension
ではあるが、PHP Manual 日本語版では上記の表記が混在している。
お世話になっております。issueに登録すること自体が初めてなので、なにか不手際があったら申し訳ありません。
元ページ:
https://www.php.net/manual/en/language.operators.precedence.php
該当ページ:https://www.php.net/manual/ja/language.operators.precedence.php
演算子の優先順位の表の7行目あたりで、
演算子(+ - .)の追加情報のところに「(単項の + と -),」
とありますが、元ページだと、ここが、
(binary + and -)に対応しているので、2項演算子的な意味が正しい情報ではないでしょうか?
+,-が単項の演算子として用いられる場合と、2項演算子的に用いられる場合に優先順位が異なるということだと思います。
よろしくお願いいたします。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.