[PHP-dev 312] Re: PHP 5 i18n作業について

Masaki Fujimoto php-dev@php.gr.jp
Sun, 28 Apr 2002 13:27:18 +0900


ふじもとです。

色々とありがとうございます。遅ればせながら先ほどfujimotoでsourceforge.jp
にアカウントを作りましたので、開発者に加えていただけますでしょうか?

で、作業に関してですが僕はさしあたって以下の2点を中心に作業を進めていこ
うかと思います:

1. i18n関連のAPI

これに関してはzend_i18n_globalというような構造体を作って、文字エンコーディ
ング変換等を行う関数へのポインタ、その他の情報を保持するという形が良いか
と思います。で、wrapper関数はi18n_globalのメンバ変数(関数へのポインタ)を
見て適切な処理をする、と。

ZE2をPHPから独立させる以上このあたりが限界かな、と思うのですが如何でしょ
う?もし異存がないようでしたらこの方向でプロトを作ってみます。

2. マルチバイト対応のパース

これに関しては幾つか決めておかなければならないことがあると思います。まず、
エンコーディングの自動判別を行うかどうかです(== php.iniに
script_encoding=autoを許容するかどうか)。実装上、これを行うかどうかで大
きく変わってきてしまうのでどちらが良いか皆様のご意見を伺いたいです。

なお、個々のスクリプトにエンコーディングを指定する方法についてはスクリプ
トの先頭に

<?php encoding="utf-8" ?>

もしくはXMLに埋め込むときのことを考えて

<?xml version="1.0" encoding="utf-8" ?>

のいずれかで行うもの、としようかと考えています。如何でしょうか?

また、内部エンコーディングに関しては"なし"/"utf-8"のいずれかをコンパイル
時に指定するような感じかな、と考えています。これに関してはまだ考慮すべき
点が多いと思うので、もっと議論が必要かと思います。

取り急ぎ、以上です。


On Sun, 28 Apr 2002 11:12:14 +0900
Yasuo Ohgaki <yohgaki@yahoo.co.jp> wrote:

> 大垣です。
> 
> CVSは私の単純ミスでまだ使えません。
> (importする前にディレクトリを変えるミス、今でもよくするのです、、)
> 使えるようになったら、ご連絡します。
> 
> 体裁を整える為に最低限のホームページを作りました。
> http://php-i18n.sourceforge.net/
> 
> SSHのパブリックキーを登録しないとCVS等が書き込みできないので
> https://sourceforge.jp/projects/sourceforge/document/cvs_howto/ja/5/cvs_howto.html
> の文書に書いてある手順でキーを登録する必要があります。
> (https:
> //sourceforge.jp/projects/sourceforge/document/gettingstart/ja/5/gettingstart.html
> も参考になると思います)
> 
> # 藤本さん、アカウントを登録されたらご連絡下さい。
> 
> Rui Hirokawa wrote:
> > 廣川です。
> >
> > On Sat, 27 Apr 2002 14:32:44 +0900
> > Yasuo Ohgaki <yohgaki@yahoo.co.jp> wrote:
> >
> >
> >>大垣です。
> >>
> >>Rui Hirokawa wrote:
> >>
> >>>廣川です。
> >>
> >>*SNIP*
> >>
> >>>1. マルチバイト関連(文字コード変換、判別等)用APIをZE2に作る(?)
> >>>   コード変換エンジンをZE2に取りこむといったこともありかもしれないが、
> >>>   作業量的に実装面ではmbstringへの機能を利用することにして、
> >>>   ラッパーとなるAPIを作成するというのが現実的か?
> >>
> >>できれば、やりたいところですがそこまでのパワーがありません、、、
> > 
> > 
> > 私にもそのスキルはないのですが、雛型を作ってZeevとかに直してもらうことを
> > 期待するというのも手かもしれません。
> 
> せっかく作っても気に入らないのでマージしない、というのでは困るので良い方法
> と思います。Zeevの気が向く事を強く期待します。
> 
> > この間のミーティングでは、strlen()の替わりとなるテキスト長とバイト長を
> > 求める関数を2つとも新規に作るということだったと思います。
> 
> 了解しました。非常に簡単な作業分で申し訳ないですが、string_len, byte_len
> と言う事で作業します。
> 
> >>>4. ZE2新規機能(クラス、文字オフセット指定)におけるマルチバイト対応
> >>
> >>基本的な事かもしれませんが、「文字オフセット指定」とは何を指しているの
> >>でしょうか?
> > 
> > 
> > 正式な言い方ではないのですが、
> > 
> > $a = 'Hello!';
> > echo $a{2};
> > 
> > というように文字単位のアクセスを可能にするZE2から導入される
> > 構文です。現状ではマルチバイト文字のことは考えていないので
> > ユーザの混乱を招くと懸念しています。
> 
> この構文はマルチバイト文字を全く考えていないので困ります!
> 
> --
> Yasuo Ohgaki
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/
> 
> _______________________________________________
> PHP-dev mailing list
> PHP-dev@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-dev


--
藤本 真樹

アストラザスタジオ
fujimoto@studio.co.jp
fujimoto@php.net